This course provides the student with the knowledge to improve C++ programs using generic programming, templates, and the Standard Template Library.

Audience: This course is intended for C++ programmers who need to take advantage of the Standard Template Library.
Course Duration: 3 Days
Prerequisites:

Participants are recommended to have several years of programming in C++ before attending this class.

Course Outline:
  •  Basic Concepts
    • Origin and History of the Standard
    • Template Library
    • Why Use the STL?
    • What is the Standard Template Library?
    • Foundation C++ Concepts

 

  • Generic Programming with Templates
    • Why Templates?
    • Function Templates
    • Class Templates
    • Template Specialization
    • Default Template Parameters
    • Non-Type Template Parameters
    • Template Parameters
    • Other Template Related Topics
    • Using Templates
    • Components of the STL

 

  • Sequential Containers
    • Containers
    • Sequential Containers
    • The Vector Container
    • The Deque Container
    • The List Container
    • The String Class
    • The Bitset Container
    • The Valarray Container

 

  • Iterators
    • What Is an Iterator?
    • Iterators in the STL
    • Random Access Iterators
    • Bidirectional Iterators
    • Forward Iterators
    • Input Iterators
    • Output Iterators

 

  • Associative Containers
    • What is an Associative Container?
    • The Pair Container
    • The Set Container
    • The Multiset Container
    • The Map Container
    • The Multimap Container
    • The Hashed Associative
    • Container

 

  • Adapted Iterators
    • What Are Iterator Adaptors?
    • The Inserter Iterator Adaptor
    • The Reverse Iterator Adaptor
    • The Stream Iterator Adaptor

 

  • Adapted Containers
    • What Are Container Adaptors?
    • The Stack Container Adaptor
    • The Queue Container Adaptor
    • The priority_que Container Adaptor

 

  • Functors
    • What is a Functor?
    • Classifying Functors
    • Functions Pointers Review
    • Arithmetic Functors
    • Relational Functors
    • Logical Functors

 

  • Function Adaptors
    • What Are Function Adaptors?
    • The Binder Function Adaptors
    • The Negator Function Adaptors
    • Member Function Adaptors
    • Pointers to Functions
    • User Defined Functors

 

  • Non-Mutating Algorithms
    • Algorithms
    • Non-Mutating Algorithms
    • Searching