Course CPP103
Advanced C++ Programming - Boost, Metaprogramming, Traits
Advanced C++ Programming - Boost, Metaprogramming, Traits
Duration: 5 Days
Intended Audience
Attendees are expected to have sound C++ programming experience. The purpose of the course is to provide a more advanced coverage of generic programming and design patterns, various components of the Boost library, including the Boost graph library as well as template metaprogramming.
Synopsis
C++ is a rich programming language supporting a variety of distinct programming styles: procedural, object-oriented, and generic. This course aims to explore advanced C++ programming techni ques. The course starts with an overview design patterns and the Standard Template Library and then moves on to explore the Boost libraries and their applications. The Boost graph library is covered carefully, including its practical uses and limitations.
Prerequisites
As this is an advanced course it is essential that students have a good knowledge of C++ as well as familiarity with Design Patterns and the Standard Template Library.
The class involves a lot of practical work, so delegates should come along prepared to get coding. The course will use the GNU C++ compiler and Eclipse. [If required this course can be run using Microsoft Visual Studio C++ compiler]
Publicly scheduled dates, locations, and prices
A schedule of dates for this subject is not currently available. Please call Ajay Patel on 02086471939 to enquire about places and availability.
Contents:
Overview of the Standard Template Library
- Collection Classes and Iterators
- Algorithms and Complexity
- Standard Algorithms
Applying and Extending STL
- Fast Associative Containers
- Implementing Cross Referencing, Permuted Indexing and Thesauri
- Vectors and Matrices
- Graph classes and applications based on STL
Composing Patterns
- Behavioural composition techniques
- Structureal composition techniques
- Pattern oriented analysis and design (POAD) techniques
- UML and POAD
Boost Library
- Introduction to Boost
- Smart_ptr library
- Conversion library
- Utility library
- Operators library
- Regex library
- Any library
- Variant library
- Tuple library
- Bind library
- Lambda library
- Function library
- Signals library
- Graph library
Template Metaprogramming
- Traits and type manipulation
- Metafunctions
- Integral type wrappers
- MPL algorithms
- Domain Specific Embedded Languages
