CSE687 - Object Oriented Design
Lecture #7 - Template Policies and Traits
Revised: 10 February 2009
Web Resources:
Stroustrup's Home Page,
Assoc. of C/C++ Users,
C++ at Microsoft,
Code Project,
Sells Brothers,
Guru of the Week,
C/C++ User's Journal,
devCentral,
Dr. Dobb's Journal,
Boost Library,
techNetCast
Content:
This lecture covers template template policies and template traits. We will continue discussing the HashTable example.
-
Syllabus
Describes topics to be covered,
reading material for you to digest before coming to class, and due dates
for the assigned projects.
-
Project #1
-
Project #2,
GraphHelp
Graphs with Depth-First-Search and Strong Component Algorithm.
-
Policy for due date extensions - only for certified illness and work or interview trips out of town: one week extension, with proof.
Only one extension per project.
-
Templates Presentation
Templates are one of the terrific features of the C++ language. They are the basis of the Standard
Template Library (STL) and are useful in day-to-day programming.
-
small template examples
-
STL Template-based Container Examples
Illustrates use of vectors, lists, sets, and maps.
-
HashTable Project
HashTables are fundamental and very useful data structures. At this time there are no hash-based containers
in the STL. So here is my implementation - it's a good example of the use of templates.
-
Design of Containers with Iterators
Look at HashTable<key,value,Hash> and HashIterator<key,value,Hash> classes. Draw some fairly general
conclusions.
-
Template Policies and Traits
Discusses policies and traits in the context of our HashTable project.
-
Template Techniques
Template members, template template parameters, partial template specialization and more...
-
Smart Pointers with Reference Counting
-
Design Strategies
Discusses styles of design and binding.
-
Design Issues
-
Namespaces
Basic information about how namespaces work. We will discuss why you want to use them.
-
Design Rules
Design rules and idioms that transcend Object Oriented Design.