Self Contained Source Groups are amazing
I basically adopted this idea from Abseil ([https://abseil.io/](https://abseil.io/)) and from this CppCon talk: [https://youtu.be/re4Oy1IVj-s?si=3bwtKqOyMAX6WSAs](https://youtu.be/re4Oy1IVj-s?si=3bwtKqOyMAX6WSAs).
I structure each source group in my projects like this:
src_grp/
├── iface/
│ └── smth.cppm
├── impl/
│ └── smth.cpp
├── inc_pub/
│ └── pub.hpp
├── inc_priv/
│ ├── priv.hpp
│ └── maybe.inc
├── test/
│ └── test.cpp
├── bench/
│ └── bench.cpp
└── docs/
├── some.md
└── doxygen.in
I strongly recommend this approach over older project-wide conventions such as having a single global `test/` or `bench/` directory etc.
https://redd.it/1wlcn2k
@r_cpp
Post #25763
2