C++ Boost Library – Detailed Course Outline

Return to C++ and C Courses page
Copyright © 2009 - 2021, Anderson Software Group, Inc.

Section 1 - Resource Management with Boost

  • RAII Model
    • std::auto_ptr is Not Enough
  • Smart Pointers
    • Scoped Pointers
    • Shared Pointers
    • Intrusive Pointers
    • Weak Pointers

Section 2 - General Boost Libraries

  • Conversion Library
    • Polymorphic Casts
    • Polymorphic Downcasts
    • Numeric Casts
    • Lexical Casts
  •  Utility Library
    • Static Assertions
    • Checked Deletions
    • Noncopyable Semantics
    • Addressing Objects
    • Controlling Overloads, Specializations
  • Operator Library
    • Comparison Operators
    • Arithmetic Operators
    • Iterator Operators
  • RegEx Library
    • Regular Expressions with C++
    • Validating Input
    • Searching and Replacing
    • Iterators

Section 3 - Boost Containers

  • Any Library
    • Arbitrary Type Storage and Retrieval
    • Storing Heterogeneous Types
    • Predicates and Extractors
  • Variant Library
    • Variant Types
    • Variant Type Storage and Retrieval
    • Variant Visitations
  • Tuple Library
    • Returning Multiple Values from Functions
    • Grouping Related Types

Section 4 - Boost Bind Library

  • Using boost::bind()
    • Placeholders and Arguments
    • Binding Function Calls as Data
    • Calling Member Functions
  • Binding Mechanisms
    • Binding to Member Variables
    • Binding to Virtual Functions
  • Design Approaches
    • Functional Composition
    • Value and Pointer Semantics

Section 5 - Boost Lambda Library

  • What are Lambda Expressions?
  • Design Approaches
    • Adding New Placeholders
    • boost::bind() with Lambda Expressions
    • Writing Predicates
  • Working with Lambda Expressions
    • Lambda Control Structures
    • Lambda Casting Operators
    • Creating and Destroying Objects
    • Throwing and Catching Exceptions

Section 6 - Boost Function Library

  • Using boost::function<>
    • Function Library Members
    • Storing Function Objects
  •  Callbacks
    • Free Function Callbacks
    • Class Member Function Callbacks
    • Stateful Function Objects
  • Design Approaches
    • Use with boost::bind()
    • Use with Lambda Expressions
    • Use with boost::thread

Appendix 

  • Boost Signal Library