Releases: veselink1/refl-cpp
Releases · veselink1/refl-cpp
v0.12.4
v0.12.3
v0.12.2
- Much faster
for_eachand(has|get)_(reader|writer)c197d35 and #60 - Fixed
get_display_name_conston MSVC #53 (thanks @rpatters1) - Added CMake support #44 (thanks @friendlyanon)
- Moved header file to include/refl.hpp #44 (thanks @friendlyanon)
- Fixed builds on on Apple, with xCode 12.3 and set(CMAKE_CXX_STANDARD 17) #43 (thanks @michaelahughes)
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.hppsource file to be moved to a standard locationinclude/refl.hpp. If you are consuming refl-cpp as a single-header library, you can continue to do so.
v0.12.1
v0.12.0
- Added
std::complexsupport metadata. Disable withREFL_NO_STD_COMPLEX. - Added
refl::descriptor::get_reader/get_writerutilities for getter/setter properties. - Added
refl::trait::index_offor finding index of type in atype_list. - Added
refl::descriptor::get_display_name_constasconst_stringalternative toget_display_name. - Fixed #33 (by james-conrad)
v0.11.0
- Much improved support for inheritance (#27, #28)
refl::type_descriptor::declared_baseslists base types declared via thebases<...>attributerefl::type_descriptor::baseslists base types declared via thebases<...>attribute as well as inherited membersrefl::type_descriptor::membersnow includes declared and inherited members (when base types are specified viabases<...>attribute)refl::type_descriptor::declared_memberspreserves the old behaviorrefl::attr::bases<...>types are now validated (viastd::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
_descriptortypes for symmetry purposes (and might allow for more optimal implementation in the future) - Added
refl::const_string::find/rfindfor searching chars in const_strings - Added
refl::make_const_string(char)overload - Added
refl::type_list<T>specialization which exposestypedef T typeand a synonymrefl::type_tag<T> refl::trait::concatnow support an arbitrary number oftype_lists as type arguments- Added
refl::trait::as_tuple(similar toas_type_listbut forstd::tuple) - Added
refl::trait::reverse - Added
refl::util::reflect_types/refl::util::unreflect_typesto quickly create a list oftype_descriptors from a list of types and then back - Introduced support for different types of
std::basic_ostreaminattr::debugandutil::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::identityimplementation for rvalues - Fixed static function invocation with
operator()/invoke - Fixed
refl::util::debugforstd::tuple#26 - Deprecated
refl::descriptor::get_basesin favor ofrefl::descriptor::get_base_types
v0.10.0
- Introduced automatic property name normalization in
get_display_namefor properties with nofriendly_name. Example:get_display_name(get_foo) -> "foo" - Added built-in reflection support for
std::string_view#23 - Fixed: operations on
type_listdo not properly take into account reference qualifiers - Fixed
const_stringconstructor in older versions of clang - Fixed
util::filterresults list order (used to be reversed) - Fixed implementation of
reflect,is_reflectable,debug - Improved
runtime::debugprint formatting - Removed filtering by
const_stringutils #21. Suggested workaround: use predicate variants - Removed refl-ht support
- Code cleanup #24, #20