- Program Input / Output
- Linear Collections and Modularity
- Linear Collections and Memory Management
- Copies
- Moves
- I want a constant vector
- Tampering
- Efficient Iteration
- Staying in bounds
- I want a vector of chars
- Better Initialization
- I want a vector of Posns
- Less Copying!
- Memory management is hard!
- Is vector exception safe?
- Insert/remove in the middle
- Abstraction over containers
- Heterogeneous Data
- I'm leaking!
- I want a class with no objects
- The copier is broken
- I want to know what kind of Book I have
- Shared Ownership
- Abstraction over Iterators
- I want an ever faster vector
- Collecting Stats
- Resolving Method Overrides at Compile Time
- Polymorphic Cloning
- Logging
- Total Control
- I want total control over vectors and lists
- A fixed-size allocator
- I want a (tiny bit) smaller vector class
Work in progress (feel free to contribute)!
- Abstract Class
- Adapter Pattern
- Anonymous Namespace
- Argument-Dependent Lookup (ADL)
- Basic Guarantee
- Class
- Cohesion
- Const Cast
- Const Overloading
- Concrete Class
- Contravariance Problem
- Copy and Swap Idiom
- Copy Constructor
- Copy/Move Elision
- Coupling
- The Curiously Recurring Template Pattern (CRTP)
- Decorator Pattern
- Destructor
- Dependency Inversion Principle
- Dynamic Cast
- Exception Safety
- Factory Method Pattern
- Friend
- Forwarding Reference
- Initializer List
- Inline
- Interface Segregation Principle
- Iterator
- Liskov Substitution Principle
- Namespaces
- Non-Virtual Interface (NVI) Idiom
- Nothrow Guarantee
- Nullptr
- Observer Pattern
- Open/Closed Principle
- Reference
- Reinterpret Cast
- Resource Acquisition is Initialization (RAII)
- Round Bracket Initialization
- Run-Time Type Information (RTTI)
- Rvalue Reference
- Separate Compilation
- SFINAE (Substitution Failure Is Not An Error)
- Single Responsiblity Principle
- SOLID Principles of OO Design
- Static Cast
- Strong Guarantee
- Superclass
- Unique Pointer
- Universal Reference
- UML
- Virtual
- Virtual Constructor Pattern
- Visitor Pattern
- Vtable