ACM Home Page
Please provide us with feedback. Feedback
Runtime concepts for the C++ standard template library
Full text PdfPdf (205 KB)
Source Symposium on Applied Computing archive
Proceedings of the 2008 ACM symposium on Applied computing table of contents
Fortaleza, Ceara, Brazil
SESSION: Object-oriented programming languages and systems table of contents
Pages 171-177  
Year of Publication: 2008
ISBN:978-1-59593-753-7
Authors
Peter Pirkelbauer  Texas A&M University, College Station, TX
Sean Parent  Adobe Systems, Inc., San Jose, CA
Mat Marcus  Adobe Systems, Inc., Seattle, WA
Bjarne Stroustrup  Texas A&M University, College Station, TX
Sponsor
SIGAPP: ACM Special Interest Group on Applied Computing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 59,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1363686.1363734
What is a DOI?

ABSTRACT

A key benefit of generic programming is its support for producing modules with clean separation. In particular, generic algorithms are written to work with a wide variety of unmodified types. The Runtime concept idiom extends this support by allowing unmodified concrete types to behave in a runtime polymorphic manner. In this paper, we describe one implementation of the runtime concept idiom, in the domain of the C++ standard template library (STL). We describe and measure the performance of runtime-polymorphic analogs of several STL algorithms. We augment the runtime concept idiom by employing a dispatch mechanism that considers both type and concept information to maximize performance when selecting algorithm implementations. We use our implementation to demonstrate the effects of different compile-time vs. run-time algorithm selection choices, and we indicate where improved language and compiler support would be useful.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
The Boost C++ libraries, 2002. http://www.boost.org/.
 
2
 
3
Adobe System Inc. Adobe Source Library. http://opensource.adobe.com, 2005.
 
4
P. An, A. Jula, S. Rus, S. Saunders, T. Smith, G. Tanase, N. Thomas, N. Amato, and L. Rauchwerger. STAPL: A Standard Template Adaptive Parallel C++ Library. In LCPC '01, pages 193--208, Cumberland Falls, Kentucky, Aug 2001.
 
5
 
6
T. Becker. Type erasure in C++: The glue between object oriented and generic programming. In K. Davis and J. Striegnitz, editors, Multiparadigm Programming 2007: Proceedings of the MPOOL Workshop at ECOOP'07, July 2007.
 
7
 
8
L. Bourdev and J. Järvi. Efficient run-time dispatching in generic programming with minimal code bloat. In Workshop of Library-Centric Software Design at OOPSLA'06, Portland Oregon, Oct. 2006.
 
9
10
 
11
 
12
ISO/IEC 14882 International Standard. Programming languages: C++. American National Standards Institute, September 1998.
13
 
14
M. Marcus, J. Järvi, and S. Parent. Runtime polymorphic generic programming---mixing objects and concepts in ConceptC++. In K. Davis and J. Striegnitz, editors, Multiparadigm Programming 2007: Proceedings of the MPOOL Workshop at ECOOP'07, July 2007.
 
15
S. Parent. Beyond objects: Understanding the software we write. Presentation at C++ connections, November 2005.
 
16
S. Parent. Concept-Based Runtime Polymorphism. Presentation at BoostCon, May 2007.
 
17

Collaborative Colleagues:
Peter Pirkelbauer: colleagues
Sean Parent: colleagues
Mat Marcus: colleagues
Bjarne Stroustrup: colleagues