
Dear Sir, Here is the abstract of our proposal for the OOPSLA2004 Boost Workshop. The proposal and the corresponding source is downloadable from http://gsd.web.elte.hu/Publications/GPCE_04/concept.pdf http://gsd.web.elte.hu/Publications/GPCE_04/concept.h Please forgive us the possible errors. Istvan Zolyomi scamel@elte.hu Zoltan Porkolab gsd@elte.hu ================================================================== Improving concept checking in Boost ABSTRACT To ensure the correctness of template based constructions in C++, constraints on template parameters are especially useful. Though C++ does not directly support checking requirements on template parameters, several solutions address this problem. Boost provides a comprehensive concept checking library that could be further advanced in many areas. In this paper we propose a different structure and an extended feature set to improve the Boost concept checking library into a general template introspection library. Our recommended solution takes the advantages of previous solutions, such as REQUIRE-like macros and static interfaces. On the lowest level, we suggest an orthogonal construction of elementary concepts instead of a predefined set of complex constraints. These basic concepts should return a boolean results instead of aborting compilation immediately, thus any metaprogramming tool could use the result of the check. Based on these building blocks, it is possible to express highly complex constraints using arbitrary logical expressions instead of the implicit conjunction used in all current concept checking libraries. Our solution is non-intrusive, relies only on standard C++ language features and implies no runtime overhead. Note that this is a shortened version of our paper 'Towards a general template introspection library' for GPCE'04 which can be downloaded from http://gsd.web.elte.hu/Publications/GPCE_04/introspection.pdf. In that article we also introduce a possible implementation detailed to the source-level. The sample source code can be downloaded from http://gsd.web.elte.hu/Publications/GPCE_04/concept.h. ==================================================================