Next: TC-3 Samples, Up: TC-3 [Contents][Index]
Things to learn during this stage that you should remember:
The Task
module is based on the Command design pattern.
Class template are most useful to implement containers such as
misc::scoped_map
.
super_type
and qualified method invocation to factor common
code.
Traits are a useful technique that allows to write (compile time) functions ranging over types. See Glossary. The implementation of both hierarchies of visitors (const or not) relies on traits. You are expected to understand the code.
C++ streams allows users to dynamically store information within
themselves thanks to std::ios::xalloc
, std::stream::iword
,
and std::stream::pword
(see
ios_base
documentation by Cplusplus Ressources). Indented output can use it
directly in operator<<
, see lib/misc/indent.* and
lib/misc/test-indent.cc. More generally, if you have to resort to
using print
because you need additional arguments than the sole
stream, consider using this feature instead.
Use this feature so that the PrettyPrinter
can be told from
the std::ostream
whether escapes and bindings should be displayed.