Skip to content

v0.11.0

Compare
Choose a tag to compare
@veselink1 veselink1 released this 18 Jun 06:30
· 85 commits to master since this release
  • 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