Mini Spin-X is a cut down version of a "core" library I have been developing over the years to support my various coding projects, licensed under MIT. It has bunch of useful stuff like math library, xml parsing, loading/saving image files, file system, loading 3D assets, etc. for developing small programs. I have compiled it on different platforms, but because my main development environment is MSVC in Windows I only very occasionally check e.g. Linux/GCC. The library doesn't use STL but provides some alternatives e.g. for containers and has only few dependencies to external libs included in sxp_extlibs/ dir. Everything should be included and just compile as is without need to download other libs. MSVC project/solution files can be found in build/
sxp_src/core/ - Low-level core components
| File/Dir | Description |
|---|
class.h | Generic class introspection and object management. |
config.h | The library configuration file. |
containers.h | Collection of containers (e.g. array, list, deque, hash_map, etc.) |
core.h | The most fundamental omnipresent core stuff. Always included either directly or indirectly. |
crypto.h | Cryptographic functions (md5, sha256). |
cstr.h | Low-level c-string functions. |
enum.inc | Used to define enums with reflection. |
expression.h | Math expression parsing. |
functor.h | Functor implementations. |
inet.h | Network stuff. |
iterators.h | Free iterators (e.g. for intrusive singly-linked lists. |
main.h | For defining platform agnostic main(). |
memory.h | Memory management classes. |
meta.h | Meta-programming stuff. |
node_graph.h | Classes for generic node graph. |
preprocessor.h | Preprocessor file parsing. |
sort.h | Sorting functions. |
str.h | String management classes. |
streams.h | Stream library (abstract writing/reading data). |
utils.h | Just a bucket of misc "utility" stuff. |
xml.h | XML parsing. |
zip.h | ZIP file streams. |
| File/Dir | Description |
|---|
cipher_fsys.h | Extremely poor-security streams. |
fsys.h | File system classes. |
zip_fsys.h | ZIP file system implementation (read files straight from ZIP file). |
| File/Dir | Description |
|---|
mp.h | Abstracted low-level multiprocessing funcs (atomics, threads, etc.) |
mp_fiber.h | Fiber lib for co-operative multitasking. |
mp_job_queue.h | Light weight job queue. |
mp_memory.h | Thread-safe memory classes. |
mp_msg_queue.h | Thread-safe message queue for interthread communication. |
| File/Dir | Description |
|---|
linux/ | Core component implementations for Linux/GCC (file system, SIMD, multithreading, network, etc.) |
posix/ | Core component implementations for Posix |
win/ | Core component implementations for Windows |
Mini Spin-X Library is licensed under MIT license. See LICENSE for details.