Abstract
The generic programming paradigm has exerted great in.uence on the recent development of C++, e.g., large parts of its standard library [2] are based on generic containers and algorithms. While templates, the language feature of C++ that supports generic programming, have become widely used and well understood in the last years, one aspect of templates has been mostly ignored: template template parameters ([2], 14.1). In the first part, this article will present an in depth introduction of the new technique. The second part introduces a class for arbitrary precision arithmetic, whose design is based on template template parameters. Finally, we end with a discussion of the benefits and drawbacks of this new programming technique and how it applies to generic languages other than C++.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Andrei Alexandrescu. Modern C++ Design, Addison-Wesley Publishing Company, 2001.
ANSI/ISO Standard. Programming languages-C++, ISO/IEC 14882, 1998.
Borland, Inprise Corporation. Borland C++ Compiler 5.5, http://www.borland.com/ bcppbuilder/freecompiler.
Matthew Austern.Algorithms and Containers, C++ Report, p. 44–47, 101 communications, July–August 2000.
Matthew Austern. Generic Programming and the STL, Addison-Wesley Publishing Company, 1999.
Rudolf Berrendorf, Bernd Mohr. PCL-The Performance Counter Library, http://www.fz-juelich.de/zam/PCL.
Hans Boehm. Boehm-Weiser-Demers collector, http://www.hpl.hp.com/personal/Hans Boehm/gc.
Edison Design Group. The C++ Front End, http://www.edg.com/cpp.html.
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns, Addison-Wesley Publishing Company, 1995.
GCC steering committee. GCC Home Page, http://gcc.gnu.org.
Torbjorn Granlund. GNU MP-The GNU Multi Precision Library, http://www.swox.com/gmp.
Bruno Haible. CLN, http://clisp.cons.org/haible/packages-cln.html.
IBM. IBM VisualAge C++, http://www.software.ibm.com/ad/visualage c++.
Mehdi Jazayeri, Rüdiger G. K. Loos, David R. Musser (Eds.). Generic Programming, LNCS No. 1766, Springer, 2000.
David R. Musser, Gillmer J. Derge, Atul Saini. STL Tutorial and Reference Guide: Second Edition, Addison-Wesley Publishing Company, 2001.
David R. Musser, S. Schupp, Rüdiger Loos. Requirement Oriented Programming, in [14], p. 12–24, 2000.
Scott Meyers. Effiective C++ CD, Addison-Wesley Publishing Company, 1999.
Gor V. Nishanov, Sibylle Schupp. Garbage Collection in Generic Libraries, Proc. of the ISMM 1998, p. 86–97, Richard Jones (editor), 1998.
Gor V. Nishanov, Sibylle Schupp. Design and implementation of the fgc garbage collector, Technical Report98-7, RPI, Troy, 1998.
Rogue Wave Software. Rogue Wave STL (development snapshot), November 2000.
Volker Simonis, Roland Weiss. Heterogeneous, Nested STL Containers in C++, LNCS No. 1755 (PSI’99): p. 263–267, Springer, 1999.
Victor Shoup. NTL, http://www.shoup.net/ntl.
STL Team at SGI. Standard Template Library Programmer’ Guide, http://www.sgi.com/Technology/STL.
Sebastian Wedeniwski. Piologie, http://ftp://ftp.informatik.uni-tuebingen.de/pub/CA/software/Piologie.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Weiss, R., Simonis, V. (2001). Exploring Template Template Parameters. In: Bjørner, D., Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 2001. Lecture Notes in Computer Science, vol 2244. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45575-2_48
Download citation
DOI: https://doi.org/10.1007/3-540-45575-2_48
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43075-9
Online ISBN: 978-3-540-45575-2
eBook Packages: Springer Book Archive