Assets 4

Release date: 2018-03-26

Summary: This is a major release of RTTR, with a lot of new features and bugfixes.
Only minor API changes compared to 0.9.5.

Blog Entry: www.rttr.org/news/major-release-0-9-6

Full Changelog:

Generic badge

  • Added variant_associative_view class #57
  • Added variant_sequential_view #46
  • Added string_view class
  • Added library class in order to load plugins at runtime #116
  • Added variant_cast function in order to support move data from variant #108
  • Added possibility to convert raw nullptr pointers in variant class to base types #59
  • Return the template parameters of a type #58
  • Added support for register base class properties #29
  • Add implicit conversion from a wrapped value inside a variant #48
  • Support for VS2017 #45
  • Added support for C++17 compilers #100, #105
  • Custom registered type name should be used in class templates as well #40
  • Added new comparators(>, <=, >=) for variant class #61
  • Add support for new property policy: 'as_reference_wrapper' #20
  • Add possibility to filter to class items, while retrieving,
    e.g: retrieve private properties: get_properties(filter_item::instance_item | filter_item::non_public_access)
  • Added JSON serialization example
  • Added loading plugins example #116
  • Added CI systems: Travis and Appveyor
  • Added static code analysis tool Codacy (cppcheck underlying)
  • Added code coverage tool: "CoverAlls"
  • Added variant::get_wrapped_value() & variant::extract_wrapped_value() functions
  • Donation button added: Donate

Generic badge

  • Return ranges instead of vectors #6
  • Remove branching when calling a wrapper method #19
  • Add 'noexcept' everywhere where reasonable #17
  • Add 'constexpr' everywhere where reasonable #16
  • Added own make_unique impl, not supported in C++11
  • Upgraded catch to version: 1.12.0 #120
  • Increased test coverage: 92%
  • Several docu improvements

Generic badge

  • class items inheritance of items, was not working when derived class had no items at all #89
  • Raw arrays by value, were not recognized by variant_sequential_view #125
  • Explicit unloading of libraries which contain registered RTTR types, lead to crash #113
  • Fix install handling for Mac/Linux #101, #102
  • Added support for variant properties #47
  • Typo in method name: rttr::constructor::get_instanciated_type() #83
  • Polymorphic assignment of raw pointer properties does not work #56
  • Comparison of raw pointer properties does not work #55
  • fix wrong enum conversion in variant function convert(bool* ok) #53
  • Fixed not correct handling of std::ref(int*) type in variant #37
  • Custom installation directory via CMAKE_INSTALL_PREFIX #34
  • Replaced default constructor binding from as_object to as_std_shared_ptr #14
  • Fixed missing invoke of dtor when type is pointer type #14
  • Do not search for boost, when not needed #93
  • type::is_array() now returns only true for C-style arrays,
    before that it also true for specialization of array_mapper types #144

Generic badge

  • variant_array_view class #144
  • property::is_array() method #144