Title of article :
Programming with C++ concepts
Author/Authors :
Jaakko J?rvi، نويسنده , , Mat Marcus، نويسنده , , Jacob N. Smith، نويسنده ,
Issue Information :
ماهنامه با شماره پیاپی سال 2010
Pages :
19
From page :
596
To page :
614
Abstract :
This paper explores the definition, applications, and limitations of concepts and concept maps in C++, with a focus on library composition. We also compare and contrast concepts to adaptation mechanisms in other languages.Efficient, non-intrusive adaptation mechanisms are essential when adapting data structures to a library’s API. Development with reusable components is a widely practiced method of building software. Components vary in form, ranging from source code to non-modifiable binary libraries. The Concepts language features, slated to appear in the next version of C++, have been designed with such compositions in mind, promising an improved ability to create generic, non-intrusive, efficient, and identity-preserving adapters.We report on two cases of data structure adaptation between different libraries, and illustrate best practices and idioms. First, we adapt GUI widgets from several libraries, with differing APIs, for use with a generic layout engine. We further develop this example to describe the run-time concept idiom, extending the applicability of concepts to domains where run-time polymorphism is required. Second, we compose an image processing library and a graph algorithm library, by making use of a transparent adaptation layer, enabling the efficient application of graph algorithms to the image processing domain. We use the adaptation layer to realize a few key algorithms, and report little or no performance degradation.
Keywords :
Generic programming , Software libraries , Component adaptation , Concepts , polymorphism , C++
Journal title :
Science of Computer Programming
Serial Year :
2010
Journal title :
Science of Computer Programming
Record number :
1080128
Link To Document :
بازگشت