1. Introduction (15 min - theory)
Acquaintance, training rules, topic, and methodology overview.
2. Functional objects (2h – theory, 45 min - practice)
A small talk about generic programming and callable objects. The second part is about functions related to STL. The third part describes transformations between different function types (function adaptors).
3. Containers (11h – theory, 4h - practice)
The main topic of the training. Contains visual representation, implementation details, use cases, corner cases, and operations overview for all containers. Container classification is given and explained.
• Sequence containers (4h 30min – theory, 1h - practice)
I. Common
II. Vector
III. List
IV. Forward list
V. Deque
• Container adaptors (1h 30m – theory, 30m - practice)
• Ordered associative (1h 40m – theory, 20m - practice)
• Unordered associative (2h - theory, 1h 30m - practice)
• Pseudocontainers (1h 20m – theory, 40m - practice)
4. Iterators (2h – theory, 1h 30m - practice)
Iterator model, classes, properties and operations are investigated. For stream iterators and iterator adaptors, implementation is discussed.
5. Algorithms (4h 50m – theory, 2h 40m - practice)
At this stage of training, we’ll continue to extend STL with new items. Has a lot of practice, drawings, and discussions. Includes algorithm overview, non-modifying and modifying sequence algorithms, sorting and searching, numeric algorithms, and discussions about the future of algorithms.
• Algorithms overview (15m - theory)
• Non-modifying algorithms (1h – theory, 30m - practice)
• Modifying algorithms (3h - theory, 1h 30m - practice)
• Sorting and searching (40m - theory, 20m practice)
• Numeric (40m - theory, 20m - practice)
• Bonus: the future is here (15 m - theory)