002 GroundUpDB C++ API Design Part 1 Includes & Namespaces
Channel: Adam Fowler on Tech
Date: 24/06/2020

C++ libraries follow a standard include file convention alongside their namespaces. I implement that now in GroundUpDB. You'll see how to use namespaces in C++, both explicitly and via the using directive. 

C++ topics:-
- Whistle-stop tour of Git, GitHub Issues, and Git Flow
- Include mechanism in C++ / unix
- Adding include and src folders to a QtCreator project
- Adding namespaces to your own library
- Using code in a namespace, explicitly and through the using namespace directive 

Further info:
- Gitflow: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
- Git flow extensions to git: https://jeffkreeftmeijer.com/git-flow/
- Example C++ style guide from Google: https://google.github.io/styleguide/cppguide.html

Coming soon: Part 2 of this session will extend the above ideas and show how to design a C++ API for long term extensibility and compatibility, and how to apply standard Design Patterns to modern C++ code. It also covers references, smart pointers, and Interfaces (non instantiable Abstract classes).