RareCpp Versions Save

Creating a simpler, more intuitive means of C++ reflection

2.3.2

1 month ago
  • Fix the error message for exceeding supported aggregate counts so it displays when using over 121 members
  • Fix the link crediting lapinozz/repr for the member counter/arity algorithm to be more stable & show the code author

2.3.1

5 months ago
  • Prevents the example project and tests from compiling by default when included as a cmake sub-project.
  • Add example for fetching RareCpp via cmake

2.3.0

6 months ago
  • Added auto-reflection (with no macro or other form of registration) for aggregates for C++20 details

2.2.0

6 months ago
  • Added additional macros to enable reflecting private members of structures without altering the body of a struct/class details

2.1.0

7 months ago
  • Added helper for wrapping a reflected type as a tuple-like type as well as a trait for getting member types as a tuple, and an example of adding tuple-protocol directly to a reflected type (details)
  • Fixes spacing/indentation in reflect.h which caused rendering issues on git

2.0.1

1 year ago
  • Added a warning when invalid members are provided to the REFLECT/REFLECT_NOTED macro (details)

2.0.0

1 year ago

2.0.0

  • Git-wiki documentation/reduced readmes
  • Overhaul interface for accessing reflected information
  • Support for constexpr and non-constexpr member iteration, indexed access, and named access
  • Support for constexpr and non-constexpr note access through a common interface
  • Access modifier reflection support & better support for reflecting private members
  • Overloaded function reflection & additional regular function support
  • Added RareBuilder module using adaptive structures
  • ObjectMapper renamed to RareMapper, MAP_TO/MAP_FROM macros replaced with adaptive structures
  • Naming standards change
  • Code quality improvements - clear warning lists on high warning levels, additional tooling applied such as IWYU, Clang Tidy, address sanitizers, UB sanitizers
  • Some additional change notes as well as information on how existing users can upgrade can be found at the 2.0.0 Upgrade Guide

1.2.0

2 years ago
  • Support reflecting templated classes
  • Support for proxy-reflected types in JSON

1.1.0

2 years ago
  • Add a getOffset() method to the Field structure
  • Support for default mappings & op annotations for specifying surrogate objects to be mapped to/from for JSON mapping
  • Enable writing additional constructors & operators with ObjectMapper
  • Add if_void (to replace type with default if void) trait
  • Add an is_specialization trait
  • Add type_list::has, ::has_specialization, and ::get_specialization methods
  • Add some additional _v and _t trait aliases
  • Enable annotation use throughout Json Input

1.0.0

2 years ago
  • RareCpp Reflection, Json, and ObjectMapper libraries
  • Support for VS, Clang, and GCC/G++
  • Thorough GTest-based unit tests
  • Small example project