/ax

Ax - The Axiomatic Core C++ Library

Primary LanguageC++MIT LicenseMIT

Ax - The Axiomatic Core C++ Library. License

Features

  • A light-weight reflection system in "reflection.hpp"
  • A serialization system in "serialization.hpp"
  • A meta-linguistic programming system in "symbolics.hpp"
  • Optimized dynamic type casting system in "cast.hpp"
  • A publisher-neutral event system in "eventable.hpp"
  • A dynamic property system in "propertied.hpp"
  • Functional operations map, filter, and fold (with more coming soon!) in "functional.hpp"
  • Algebraic data types including option, either, choice, pair and record, w/ macros for automatic derivation, and a type-safe pattern matching system in "algebraic.hpp"
  • Several other odds and ends.

This library makes a good base for non-trivial projects like renderers, game engines, and other projects that absolutely need to be built with good programming semantics.

WIP

Note this project has not reached alpha-status, so not recommended for use in production without serious care. Tests and fixes are coming along over time, however :)