Dqn/readme.md

43 lines
1.4 KiB
Markdown
Raw Normal View History

2019-02-23 04:41:53 +00:00
# Dqn
Personal standard library that provides allocator aware data structures, custom
memory allocators and various miscellaneous helpers for prototyping. The library
is a unity-build style library where data structures and functions are separated
by category into files for organisation. You only need to include `dqn.h` which
amalgamates all the files into one translation unit.
## Build
To build with this library, copy all the `*.[h|cpp]` files at the root of the
2023-07-16 07:59:07 +00:00
repository to your desired location, accessible by your project and in one
header file include the header.
```cpp
#include "dqn.h"
```
2023-07-16 07:59:07 +00:00
`dqn.h` includes all other files and their declaration into your header. In
*one* `.cpp` file define the macro to enable the implementation of the header in
the translation unit.
```cpp
#define DQN_IMPLEMENTATION
#include "dqn.h"
```
2023-07-16 07:59:07 +00:00
Finally ensure that the compiler has in its search paths for the include
directory where headers are located, e.g. `-I <path/to/dqn/headers>`.
## Customisation
The headers provide macros to compile out sections that are not needed. This can
be useful to speed up compile times if you want a particular part of the
library. Each header contains a table-of-contents that denotes the macro to
define to disable that section that should be defined before the header include.
```cpp
#define DQN_NO_VARRAY // Disable virtual array container
#define DQN_NO_JSON_BUILDER // Disable the JSON string builder
#include "dqn.h"
```