|
5.0.0
Freundlich's C++ toolkit
|
Some additional type traits.
Classes | |
| struct | fcppt::type_traits::is_base_of< Base, Derived > |
Like std::is_base_of, but only works on complete types. More... | |
| struct | fcppt::type_traits::is_string< Type > |
| Tells if a type is a string. More... | |
Typedefs | |
| template<typename Left, typename Right> | |
| using | fcppt::type_traits::implication = std::disjunction<std::negation<Left>, Right> |
| The implication function: Left -> Right. | |
| template<typename Dest, typename Conv, typename Integral> | |
| using | fcppt::type_traits::integral_cast |
| Does an integral cast on an integral constant. | |
| template<typename Type> | |
| using | fcppt::type_traits::is_integral_constant = typename fcppt::type_traits::detail::is_integral_constant<Type>::type |
Checks if a type is a std::integral_constant. | |
| template<typename Iterator, typename Category> | |
| using | fcppt::type_traits::is_iterator_of_category |
| Checks if an iterator models a given category. | |
| template<typename Type> | |
| using | fcppt::type_traits::is_raw_pointer = typename fcppt::type_traits::detail::is_raw_pointer<Type>::type |
| Checks if a pointer is a raw pointer type. | |
| template<typename Type> | |
| using | fcppt::type_traits::is_value |
| Checks if the type behaves like a value type. | |
| template<typename Type> | |
| using | fcppt::type_traits::numeric_max = std::integral_constant<Type, std::numeric_limits<Type>::max()> |
| Metafunction to compute the maximum value of a type. | |
| template<typename DestType, typename Src> | |
| using | fcppt::type_traits::safe_integral_cast |
| Casts std::integral_constants and checks for truncation. | |
| template<typename Type> | |
| using | fcppt::type_traits::to_bool = fcppt::type_traits::integral_cast<bool, fcppt::cast::static_cast_fun, Type> |
| Casts a std::integral_constant to bool. | |
| template<typename Container> | |
| using | fcppt::type_traits::value_type = typename Container::value_type |
| The value type of a container. | |
Variables | |
| template<typename Left, typename Right> | |
| constexpr bool | fcppt::type_traits::implication_v = fcppt::type_traits::implication<Left, Right>::value |
| The implication function: Left -> Right. | |
| template<typename Iterator, typename Category> | |
| constexpr bool | fcppt::type_traits::is_iterator_of_category_v |
| Checks if an iterator models a given category. | |
| using fcppt::type_traits::implication = std::disjunction<std::negation<Left>, Right> |
The implication function: Left -> Right.
Calculates the implication of Left and Right. Equal to (not Left) or Right)
| Left | A boolean expression |
| Right | A boolean expression |
| using fcppt::type_traits::integral_cast |
Does an integral cast on an integral constant.
Casts Integral to an integral constant of type Dest. The cast is done using Conv from fcppt.casts.
| Dest | An integral type to cast to |
| Conv | A cast function from fcppt.casts |
| Integral | A std::integral_constant to cast from |
| using fcppt::type_traits::is_integral_constant = typename fcppt::type_traits::detail::is_integral_constant<Type>::type |
Checks if a type is a std::integral_constant.
| using fcppt::type_traits::is_iterator_of_category |
Checks if an iterator models a given category.
Checks if Iterator models the iterator category Category. For example, a random access iterator also models a bidrectional iterator.
| Iterator | Must be an iterator type |
| Category | Must be an iterator category |
| using fcppt::type_traits::is_raw_pointer = typename fcppt::type_traits::detail::is_raw_pointer<Type>::type |
Checks if a pointer is a raw pointer type.
A raw pointer is a (cv qualified) pointer to char or to unsigned char. Both can be used to read and write bytes.
| Type | Must be a pointer type. |
| using fcppt::type_traits::is_value |
Checks if the type behaves like a value type.
A type is a value type if it is not cv-qualified, it is not void, not an array, not a function and not a reference. In essence, value types behave normally regarding copying, moving and assignment.
| using fcppt::type_traits::numeric_max = std::integral_constant<Type, std::numeric_limits<Type>::max()> |
Metafunction to compute the maximum value of a type.
| Type | Must be a type such that std::numeric_limits<Type>::max() is defined. |
| using fcppt::type_traits::safe_integral_cast |
Casts std::integral_constants and checks for truncation.
| DestType | An integral type. |
| Src | A std::integral_constant. |
| using fcppt::type_traits::to_bool = fcppt::type_traits::integral_cast<bool, fcppt::cast::static_cast_fun, Type> |
Casts a std::integral_constant to bool.
| Type | A std::integral_constant. |
| using fcppt::type_traits::value_type = typename Container::value_type |
The value type of a container.
|
inlineconstexpr |
The implication function: Left -> Right.
|
inlineconstexpr |
Checks if an iterator models a given category.