- :file:`src/*.cpp`
Source files. Files are grouped into functionality by prefixes:
- :file:`src/recv_*.cpp`
- Receiving data (
spead2::recv
namespace). - :file:`src/send_*.cpp`
- Sending data (
spead2::send
namespace). - :file:`src/common_*.cpp`
- Other general shared code (
spead
namespace). - :file:`src/unittest_*.cpp`
- C++ unit tests.
- :file:`src/spead2_*.cpp` and :file:`src/mcdump.cpp`
- Command-line utilities.
- :file:`src/py_*.cpp`
- Python bindings.
- :file:`src/*.h`
- Header files that are only used internally (not installed for users).
- :file:`include/spead/*.h`
- Header files that are installed and form the public API. The filenames mostly correspond to the source files.
- :file:`examples/*.cpp`
- Example code.
- :file:`src/spead2/`
- Source code. This is placed within a :file:`src` subdirectory so that Python does not automatically import from it unless explicitly added to the Python path. See Packaging a Python Library for an explanation of the advantages.
- :file:`src/spead2/tools/`
- Implementations of the command-line tools.
- :file:`examples/*.py`
- Example code.
- :file:`tests/`
- Unit tests. These are mainly for use with pytest, but :file:`tests/shutdown.py` contains tests that are run to ensure that the interpret shuts down cleanly (see :ref:`interpreter-shutdown`).
- :file:`gen/`
- Utilities that run as part of the build.
- :file:`doc/`
- Documentation.