* supported compilers: at least gcc and clang (both have to work)
* Build sytem: GNU Make – Platforms: Linux, macOS
** Target: static library libpEpDatatypes.a
** Target: static library libpEpDatatypes.a
* Windows and Android builds will be done separatly
## Design goals & principles
* implement move c'tor & operator for cheep moves
@ -20,11 +24,14 @@
* 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::DT`
* defined in `namespace pEp::DT`
* header files are installed in `PREFIX/include/pEp/` and are used via `#include <pEp/filename.hh>` – (Also shared with libpEpAdapter!)
* the linked list datatypes implement the API of [`std::forward_list`](https://en.cppreference.com/w/cpp/container/forward_list)
### Example usage
The following API is the target we're heading to:
@ -57,8 +64,7 @@ int main()
}
```
As an intermediate step the p≡p API in the engine must be fully
supported:
As an intermediate step the p≡p API in the engine must be fully supported:
```
#include<pEp/message_api.h> // from pEpEngine
@ -82,5 +88,6 @@ int main()
## Implementation details
* Code-formatting: clang-format. Please try and use .clang-format from libpEpAdapter
* Code-formatting: clang-format. Please try and use .clang-format