Welcome to libftpp
Overview
This library provides 7 core components:
Component |
All-in-one Header |
Dependencies |
Description |
|---|---|---|---|
|
|
|
This structures will help you manage and serialize data. |
|
|
|
Contains a set of utils to handle different scenarios in your programs. |
|
|
|
Defines a structure to deal with output and input for programs using threads, and a logger. |
|
|
|
Which contain a set of utils to handle threads. |
|
|
|
A set of utils to generate a server and a client which can comunicate via the |
|
|
|
Implementation of a 2D and 3D vecotor with utils and operators. Implementation of random generator and perlinnoise 2D coordinates generator. |
|
|
|
Time related utils. |
Note:
Server&Clientuse theObserverdesign pattern.Note: The
PersistentWorkerusesWorkerPoolto provide a strong and reliable thread worker, abstracting the thread logic.
Requirements
C++17 or later: The library utilizes features introduced in C++11 such as
std::unique_ptr,std::stack&std::function(lambdas).No External Dependencies: This library does not require any external libraries.
Installation
Clone the repository and build:
git clone https://github.com/pulgamecanica/libftpp.git cd libftpp make all make test (optional)
Include the header files in your project:
Add include/ directory to the list of searched directories
Compile your project:
Ensure your build system (e.g., Makefile) includes the header files and links any required dependencies.
Make sure that you link the library correctly:
-L/path/to/libftpp.a -lftpp
Documentation
For more details on each class and method, refer to the header files.
License
This library is licensed under the MIT License. See the LICENSE file for more details.
Contributing
Feel free to fork the repository and submit pull requests. Contributions are welcome to improve the functionality and performance of the library.
Notes:
The library is designed to be header-only, so you can simply include the relevant header files in your projects.
While this library handles basic memory pooling and object serialization needs, it can be extended with more complex features like thread-safety or more advanced serialization strategies and networking.