Table of Code Examples |
This is
the table of contents of all code examples
of the book
C++ Templates - The Complete Guide
by
David Vandevoorde
and
Nicolai M. Josuttis.
Basics:
basics/max.hpp
basics/max.cpp
basics/max2.cpp
basics/max3.cpp
basics/max3a.cpp
basics/max4.cpp
basics/stack1.hpp
basics/stack1test.cpp
basics/stack2.hpp
basics/stack2test.cpp
basics/stack3.hpp
basics/stack3test.cpp
basics/stack4.hpp
basics/stack4test.cpp
basics/addval.hpp
basics/addvaltest.cpp
basics/printcoll.hpp
basics/printcolltest.cpp
basics/stack5.hpp
basics/stack5decl.hpp
basics/stack5assign.hpp
basics/stack5test.cpp
basics/stack6.hpp
basics/stack6decl.hpp
basics/stack6assign.hpp
basics/stack6test.cpp
basics/stack7.hpp
basics/stack7decl.hpp
basics/stack7test.cpp
basics/stack8.hpp
basics/stack8test.cpp
basics/max5.cpp
basics/max6.cpp
basics/refnonref.cpp
basics/myfirst.hpp
basics/myfirst.cpp
basics/myfirstmain.cpp
basics/myfirst2.hpp
basics/myfirst2main.cpp
basics/myfirstinst.cpp
basics/myfirst3.hpp
basics/myfirst3.cpp
basics/myfirst3main.cpp
basics/myfirst4.hpp
basics/myfirst4main.cpp
basics/tracer.hpp
basics/tracer.cpp
basics/tracertest.cpp
Templates in Depth:
details/max.cpp
details/implicit.cpp
details/adl.cpp
details/inject.cpp
details/lazy.cpp
details/fppm.cpp
details/funcoverload.hpp
details/funcoverload.cpp
details/nontmpl.cpp
The Polymorphic Power of Templates:
poly/coord.hpp
poly/dynahier.hpp
poly/dynapoly.cpp
poly/statichier.hpp
poly/staticpoly.cpp
poly/MyClass.hpp
poly/printmax.cpp
Traits and Policy Classes:
traits/accum1.hpp
traits/accum1.cpp
traits/accumtraits2.hpp
traits/accum2.hpp
traits/accum2.cpp
traits/accumtraits3.hpp
traits/accum3.hpp
traits/accum3.cpp
traits/accumtraits4.hpp
traits/accum4.hpp
traits/accum4.cpp
traits/accum5.hpp
traits/accum5.cpp
traits/accum6.hpp
traits/accum6.cpp
traits/sumpolicy1.hpp
traits/accum7.cpp
traits/sumpolicy2.hpp
traits/accum8.hpp
traits/accum8.cpp
traits/accum9.hpp
traits/accum9.cpp
traits/sumpolicy3.hpp
traits/accum0.hpp
traits/sizeof.cpp
traits/elementtype.cpp
traits/isclasst.hpp
traits/isclasst.cpp
traits/apply1.hpp
traits/apply1.cpp
traits/apply2.hpp
traits/apply2.cpp
traits/typeop.hpp
traits/typeop1.hpp
traits/typeop2.hpp
traits/typeop3.hpp
traits/typeop4.hpp
traits/ifthenelse.hpp
traits/promote1.hpp
traits/promote1.cpp
traits/promote2.hpp
traits/promote3.hpp
traits/promote4.hpp
traits/promotearray.hpp
traits/rparam.hpp
traits/rparamcls.hpp
traits/rparam1.cpp
traits/rparam2.cpp
traits/csmtraits.hpp
traits/csm1.hpp
traits/csm1.cpp
traits/csm2.hpp
Templates and Inheritance:
inherit/empty.cpp
inherit/ebco1.cpp
inherit/ebco2.cpp
inherit/basememberpair.hpp
inherit/objectcounter.hpp
inherit/testcounter.cpp
inherit/virtual.cpp
inherit/namedtmpl.cpp
Metaprograms:
meta/pow3.hpp
meta/pow3.cpp
meta/pow3b.hpp
meta/pow3b.cpp
meta/sqrt1.hpp
meta/sqrt1.cpp
meta/sqrt2.hpp
meta/sqrt2.cpp
meta/ifthenelse.hpp
meta/sqrt3.hpp
meta/sqrt3.cpp
meta/sqrt4.hpp
meta/sqrt4.cpp
meta/loop1.hpp
meta/loop1.cpp
meta/loop2.hpp
meta/loop2.cpp
meta/unruh.cpp
Expression Templates:
exprtmpl/sarray1.hpp
exprtmpl/sarrayops1.hpp
exprtmpl/sarray1.cpp
exprtmpl/sarrayops2.hpp
exprtmpl/sarray2.hpp
exprtmpl/sarray2.cpp
exprtmpl/exprops1.hpp
exprtmpl/exprscalar.hpp
exprtmpl/exprops1a.hpp
exprtmpl/exprarray.hpp
exprtmpl/exprops2.hpp
exprtmpl/exprops3.hpp
exprtmpl/exprops4.hpp
exprtmpl/exprmain.cpp
Type Classification:
types/type1.hpp
types/type1test.cpp
types/type2.hpp
types/type3.hpp
types/type4.hpp
types/type5.hpp
types/type6.hpp
types/type7.hpp
types/type8.hpp
types/typet.hpp
types/types.cpp
Smart Pointers:
pointers/holder.hpp
pointers/holdertest.cpp
pointers/refmem1.hpp
pointers/refmem2.hpp
pointers/refmemtest.cpp
pointers/trule.hpp
pointers/holder2.hpp
pointers/holder2extr.hpp
pointers/truletest.cpp
pointers/stdobjpolicy.hpp
pointers/stdarraypolicy.hpp
pointers/countingptr.hpp
pointers/countingptrtest.cpp
pointers/simplerefcount.hpp
pointers/allocator.hpp
pointers/memberrefcount.hpp
Tuples:
tuples/typeop.hpp
tuples/duo1.hpp
tuples/duo1.cpp
tuples/duo2.hpp
tuples/duo6.hpp
tuples/duo5.hpp
tuples/duo4.hpp
tuples/duo5.cpp
tuples/tuple1.cpp
tuples/duo3.hpp
tuples/tuple1.hpp
Function Objects and Callbacks:
functors/funcptr.cpp
functors/functor1.cpp
functors/funcwrap.cpp
functors/functorparam.hpp
functors/functorparam1.hpp
functors/functorparam2.hpp
functors/functionptrt.hpp
functors/forwardparam.hpp
functors/functionptr.hpp
functors/funcptr.hpp
functors/funcptr.cpp
functors/functordemo.cpp
functors/math1.hpp
functors/compose1.hpp
functors/compose1.cpp
functors/composeconv.hpp
functors/compose2.cpp
functors/compose3.hpp
functors/compose3.cpp
functors/compose4.hpp
functors/compose4.cpp
functors/compose5.hpp
functors/math2.hpp
functors/math3.hpp
functors/compose5.cpp
functors/compose6.hpp
functors/compose6.cpp
functors/min.hpp
functors/clamp.hpp
functors/boundval.hpp
functors/binder1.hpp
functors/binderparams.hpp
functors/binder2.hpp
functors/binder3.hpp
functors/signselect.hpp
functors/binder4.hpp
functors/binder5.hpp
functors/bindconv.hpp
functors/bindtest.cpp
functors/bindfp1.hpp
functors/bindfp2.hpp
functors/bindfp3.hpp
functors/functorops.cpp
functors/functorops.hpp
functors/ifthenelse.hpp
functors/typeop.hpp
functors/typet.hpp