Skip to content

Releases: veselink1/refl-cpp

v0.12.4

10 Mar 07:27
Compare
Choose a tag to compare
  • runtime::invoke functions with void return type #68 (thanks @ohanar)
  • Faster trait::get_t - speeds up compilation for large classes #72, see discussion in #71
  • Fix for Apple Clang and libc++ #76

v0.12.3

23 Jan 15:32
Compare
Choose a tag to compare

v0.12.2

02 Jan 20:54
Compare
Choose a tag to compare

NOTE: This version does not contain any breaking changes at the source level (as is clear by the patch version increment). However, this version adds CMake support and this required the refl.hpp source file to be moved to a standard location include/refl.hpp. If you are consuming refl-cpp as a single-header library, you can continue to do so.

v0.12.1

29 Nov 06:56
Compare
Choose a tag to compare
  • Fixed broken build on Visual Studio 2017 #39 (9b6aa1a)
  • Fixed out-of-bounds read in refl::runtime::debug implementation for basic_string_view (93351ac)
  • Fixed unused function warning for refl::runtime::detail::next_depth #36 (by oberrich)

v0.12.0

18 Jul 07:23
Compare
Choose a tag to compare
  • Added std::complex support metadata. Disable with REFL_NO_STD_COMPLEX.
  • Added refl::descriptor::get_reader/get_writer utilities for getter/setter properties.
  • Added refl::trait::index_of for finding index of type in a type_list.
  • Added refl::descriptor::get_display_name_const as const_string alternative to get_display_name.
  • Fixed #33 (by james-conrad)

v0.11.0

18 Jun 06:30
Compare
Choose a tag to compare
  • Much improved support for inheritance (#27, #28)
    • refl::type_descriptor::declared_bases lists base types declared via the bases<...> attribute
    • refl::type_descriptor::bases lists base types declared via the bases<...> attribute as well as inherited members
    • refl::type_descriptor::members now includes declared and inherited members (when base types are specified via bases<...> attribute)
    • refl::type_descriptor::declared_members preserves the old behavior
    • refl::attr::bases<...> types are now validated (via std::is_base_of)
  • Added refl::descriptor::get_simple_name, which strips namespace and template declarations from the type name (std::vector<int> -> vector)
  • Added free function equivalents of members of _descriptor types for symmetry purposes (and might allow for more optimal implementation in the future)
  • Added refl::const_string::find/rfind for searching chars in const_strings
  • Added refl::make_const_string(char) overload
  • Added refl::type_list<T> specialization which exposes typedef T type and a synonym refl::type_tag<T>
  • refl::trait::concat now support an arbitrary number of type_lists as type arguments
  • Added refl::trait::as_tuple (similar to as_type_list but for std::tuple)
  • Added refl::trait::reverse
  • Added refl::util::reflect_types/refl::util::unreflect_types to quickly create a list of type_descriptors from a list of types and then back
  • Introduced support for different types of std::basic_ostream in attr::debug and util::debug (up to the user to take advantage of)
  • Built-in support for std::string_view
  • More type assertions in descriptor:: utilities
  • Simplification of some trait:: types (should lead to better compile-times)
  • Made unit tests more comprehensive
  • Fixed incorrect refl::util::identity implementation for rvalues
  • Fixed static function invocation with operator()/invoke
  • Fixed refl::util::debug for std::tuple #26
  • Deprecated refl::descriptor::get_bases in favor of refl::descriptor::get_base_types

v0.10.0

08 Jun 03:52
Compare
Choose a tag to compare
  • Introduced automatic property name normalization in get_display_name for properties with no friendly_name. Example: get_display_name(get_foo) -> "foo"
  • Added built-in reflection support for std::string_view #23
  • Fixed: operations on type_list do not properly take into account reference qualifiers
  • Fixed const_string constructor in older versions of clang
  • Fixed util::filter results list order (used to be reversed)
  • Fixed implementation of reflect, is_reflectable, debug
  • Improved runtime::debug print formatting
  • Removed filtering by const_string utils #21. Suggested workaround: use predicate variants
  • Removed refl-ht support
  • Code cleanup #24, #20