Towards the Modularization of C++ Concept Maps

Concept is a new and powerful language element being introduced in the next C++ standard. With the help of concepts we can define the properties a template requires from its type arguments. If a type does not fulfill the requirements syntactically, but semantically, the connection must be declared with the use of a concept_map. Often the description of the semantic matching results in long codes that need to be modularized. In this paper we present an extension to the concept_map language constructs that enables this transformation. We introduce the well-known public, protected, private class arrangement scheme into concept_maps. We present our preprocessor, that transforms the modularized code into regular code to be compiled by ConceptGCC, the experimental Concept C++ compiler.