4. Separation of Concerns - Software Architecture, Functions, and Variadic Templates
Learning Objectives
By the end of this chapter, you will be able to:
- Develop classes using the PIMPL idiom to implement object-level encapsulation
- Implement a callback system using functors, std::function, and lambda expressions
- Implement lambdas using the right capture technique for the situation
- Develop variadic templates to implement C# style delegates for event handling.
This chapter will show you how to implement the PIMPL idiom, and how to develop a callback mechanism for your own programs.