Added copy_const_t, copy_volatile_t and copy_cv_t type traits.
This commit is contained in:
parent
2942149cb5
commit
7658e8fbda
@ -112,6 +112,15 @@ struct is_type_member<TElement, TCollection<Ts...>>
|
|||||||
template<typename TElement, typename TCollection>
|
template<typename TElement, typename TCollection>
|
||||||
constexpr bool is_type_member_v = is_type_member<TElement, TCollection>::value;
|
constexpr bool is_type_member_v = is_type_member<TElement, TCollection>::value;
|
||||||
|
|
||||||
|
template<typename TFrom, typename TTo>
|
||||||
|
using copy_const_t = std::conditional_t<std::is_const_v<TFrom>, std::add_const_t<TTo>, std::remove_const_t<TTo>>;
|
||||||
|
|
||||||
|
template<typename TFrom, typename TTo>
|
||||||
|
using copy_volatile_t = std::conditional_t<std::is_volatile_v<TFrom>, std::add_volatile_t<TTo>, std::remove_volatile_t<TTo>>;
|
||||||
|
|
||||||
|
template<typename TFrom, typename TTo>
|
||||||
|
using copy_cv_t = copy_const_t<TFrom, copy_volatile_t<TFrom, TTo>>;
|
||||||
|
|
||||||
//
|
//
|
||||||
// public functions
|
// public functions
|
||||||
//
|
//
|
||||||
|
Loading…
x
Reference in New Issue
Block a user