@CONFERENCE{MTMT:1994245, title = {Meta - Towards a Functional-Style Interface for C++ Template Metaprograms}, url = {https://m2.mtmt.hu/api/publication/1994245}, author = {Ádám, Sipos and Porkoláb, Zoltán and Pataki, Norbert and Zsók, Viktória}, booktitle = {Implementation and Application of Functional Languages, 19th International Symposium, IFL 2007}, unique-id = {1994245}, year = {2007}, pages = {489-502}, orcid-numbers = {Porkoláb, Zoltán/0000-0001-6819-0224; Pataki, Norbert/0000-0002-7519-3367; Zsók, Viktória/0000-0003-4414-6813} } @article{MTMT:2743876, title = {Towards a general template introspection library}, url = {https://m2.mtmt.hu/api/publication/2743876}, author = {Zólyomi, I and Porkoláb, Zoltán}, doi = {10.1007/978-3-540-30175-2_14}, journal-iso = {LNCS}, journal = {LECTURE NOTES IN COMPUTER SCIENCE}, volume = {3286}, unique-id = {2743876}, issn = {0302-9743}, abstract = {To ensure the correctness of template based constructions in C++, constraints on template parameters are especially useful. Unlike other languages (Ada, Eiffel, etc.), C++ does not directly support checking requirements on template parameters (i.e., concept checking). However, many articles introduce ad hoc solutions based on special language features. In this paper we propose a structure for a general introspection library which supports easy expression and combination of basic orthogonal requirements, providing the possibility to avoid reimplementation of simple checks for every similar concept. Based on these building blocks, it is possible to express highly complex constraints on template parameters, contrary to languages having builtin support for a limited set of constraints only. Our library enables a checking method that takes the advantages of previous solutions, such as REQUIRE-like macros and static interfaces. Our implementation is non-intrusive, relies only on standard C++ language features and results no runtime over-head. © Springer-Verlag 2004.}, year = {2004}, eissn = {1611-3349}, pages = {266-282}, orcid-numbers = {Porkoláb, Zoltán/0000-0001-6819-0224} } @article{MTMT:2395314, title = {An extension to the subtype relationship in C++ implemented with template metaprogramming}, url = {https://m2.mtmt.hu/api/publication/2395314}, author = {Zólyomi, I and Porkoláb, Zoltán and Kozsik, Tamás}, doi = {10.1007/978-3-540-39815-8_13}, journal-iso = {LNCS}, journal = {LECTURE NOTES IN COMPUTER SCIENCE}, volume = {2830}, unique-id = {2395314}, issn = {0302-9743}, abstract = {Families of independent classes, where each class represents a separate, orthogonal concern are highly attractive for implementing collaboration-based design. However, required subtype relationship between such families cannot be expressed in many programming languages. This paper presents a framework to handle collaborating groups of classes using template metaprogramming based on standard C++ features in the style of Loki::Typelist. Our solution provides tailor-made implicit conversion rules between appropriate groups, inclusion polymorphism and a tool for dynamic binding. © Springer-Verlag Berlin Heidelberg 2003.}, keywords = {Computer science}, year = {2003}, eissn = {1611-3349}, pages = {209-227}, orcid-numbers = {Porkoláb, Zoltán/0000-0001-6819-0224; Kozsik, Tamás/0000-0003-4484-9172} } @techreport{MTMT:1658311, title = {An Extension to the Subtype Relationship in C++ Implemented with Template Metaprogramming}, url = {https://m2.mtmt.hu/api/publication/1658311}, author = {Zólyomi, István and Porkoláb, Zoltán and Kozsik, Tamás}, unique-id = {1658311}, year = {2003}, pages = {1-19}, orcid-numbers = {Porkoláb, Zoltán/0000-0001-6819-0224; Kozsik, Tamás/0000-0003-4484-9172} }