All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
v0.9.6 (2018-03-15)
Blog Entry: www.rttr.org/news/major-release-0-9-6
- 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 fromvariant
#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:
- 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
- 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
toas_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 onlytrue
for C-style arrays, before that it alsotrue
for specialization of array_mapper types #144
v0.9.5 (2015-12-23)
Blog Entry: http://www.rttr.org/news/new-stable-release-0-9-5
- the macro RTTR_DECLARE_TYPE was removed, so it is not necessary anymore to declare a type before using it (RTTR does still not require a compiler with rtti)
- completely adjusted the registration API to be more future proof
- added the possibility to register the access specifier of your class member
- added the possibility to register free functions for constructors
- the
variant
class has get comparison operators==
and<
- the
variannt_array
class is replaced byvariant_array_view
class - added the possibility to register default values to methods and constructors
- added the possibilities to register names of method parameters
- new policies for constructors were added
- it's now possible to invoke methods while the instance is in a wrapped type, like std::shared_ptr
- a lot of refactoring internally, almost every class was internally refactored
- added several benchmarks to measure the performance impact from certain API calls of the library
- adjusted documentation style to use cleaner and modern HTML5 style
- rewritten the tutorial
- switched from mercurial to git and uploaded the source code to github
- made own website: www.rttr.org