# libpEpDatatypes – A C++ wrapper for the basic C datatypes defined by the pEpEngine. ## Design goals & principles * implement move c'tor & operator for cheep moves * _Qpen question_: deep copy / shallow copy (with ref couning?) / only explicit copy? * always initialize all members. Better safe than sorry. * Ownership of the member pointees: rule of thumb: "const" pointees are non-owned, non-const pointees are owned by the data structure. Exceptional cases are documented explicitly. ## Public API * defined in `namespace pEp` – Beware: it is shared with libpEpAdapter!) * header files are installed in `PREFIX/include/pEp/` and are used via `#include ` – (Also shared with libpEpAdapter!) * the linked list datatypes implement the API of [`std::forward_list`](https://en.cppreference.com/w/cpp/container/forward_list) ## Implementation details * internal stuff is in `namespace pEp::datatypes`