# Platform-Independent Primitives library

## Introduction

Low-level C++ library that covers next areas:
* Strings
* Console IO
* Threads
* Timers
* Events
* Various IO devices
* Mathematics (FFT with libfftw3)
* Cryptography (libsodium)
* Compression (zlib)
* Resources
* Metaprogramming

## CMake

This library tightly integrated with CMake by providing some macro:

* `pip_code_model(<out_var> file0 [file1 ...] [OPTIONS opt0 [opt1 ...] ] [ABSOLUTE])`
Generate code model files for source files file0 [file1 ...].

Options you can see by exec "pip_cmg -h".
If not ABSOLUTE source files will be prepended by ${CMAKE_CURRENT_SOURCE_DIR}.
You should add ${<out_var>} to your target.

* `pip_resources(<out_var> file)`

Generate C++ files for resource file.
You should add ${<out_var>} to your target.

## Documentation

[🇺🇸 Online documentation](https://shstk.ru/pip/html/en/index.html)

[🇺🇸 Qt-help](https://shstk.ru/pip/pip_en.qch)

[🇷🇺 Онлайн документация](https://shstk.ru/pip/html/ru/index.html)

[🇷🇺 Qt-help](https://shstk.ru/pip/pip_ru.qch)
