2018-03-26
FEATURES:
- Added `variant_associative_view` class
- Added `variant_sequential_view`
- Added `string_view` class
- Added `library` class in order to load plugins at runtime
- Added `variant_cast` function in order to support move data from `variant`
- Added possibility to convert raw nullptr pointers in variant class to base types
- Return the template parameters of a type
- Added support for register base class properties
- Add implicit conversion from a wrapped value inside a variant
- Support for VS2017
- Added support for C++17 compilers
- Custom registered type name should be used in class templates as well
- Added new comparators(>, <=, >=) for `variant` class
- Add support for new property policy: 'as_reference_wrapper'
- 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
- 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:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JQ65KGGCSUZMS
IMPROVEMENTS
- Return ranges instead of vectors
- Remove branching when calling a wrapper method
- Add 'noexcept' everywhere where reasonable
- Add 'constexpr' everywhere where reasonable
- Added own make_unique impl, not supported in C++11
- Upgraded catch to version: 1.12.0
- Increased test coverage: 92%
- Several docu improvements
BUGFIXES
- class items inheritance of items, was not working when derived class had no items at all
- Raw arrays by value, were not recognized by `variant_sequential_view`
- Explicit unloading of libraries which contain registered RTTR types, lead to crash
- Fix install handling for Mac/Linux
- Added support for variant properties
- Typo in method name: rttr::constructor::get_instanciated_type()
- Polymorphic assignment of raw pointer properties does not work
- Comparison of raw pointer properties does not work
- fix wrong enum conversion in variant function `convert(bool* ok)`
- Fixed not correct handling of std::ref(int*) type in variant
- Custom installation directory via CMAKE_INSTALL_PREFIX
- Replaced default constructor binding from `as_object` to `as_std_shared_ptr`
- Fixed missing invoke of dtor when type is pointer type
- Do not search for boost, when not needed
- `type::is_array()` now returns only `true` for C-style arrays,
before that it also `true` for specialization of array_mapper types
REMOVED
- `variant_array_view` class
- `property::is_array()` method