Designing for Reuse - Gregoire Marc (Professional C++, 2018)
Keywords: abstracting; C++ programmer; extensibility; generic data algorithms; generic data structures; interface design; Programming Languages; reuse philosophy; safeguards; Software Engineering; structuring