CatapultServer
v0.5.0.1 (Elephant)
|
Go to the documentation of this file.
23 #include <type_traits>
25 namespace catapult {
namespace utils {
namespace traits {
34 template<
typename X,
typename Y>
37 template<
typename X,
typename Y>
58 struct is_pod : std::integral_constant<bool, std::is_pod_v<T> && !std::is_pointer_v<T>> {};
60 template<
typename X,
typename Y>
63 template<
typename X,
typename Y>
81 template<
typename X,
typename Y>
85 template<
typename X,
typename Y>
93 template<
typename T,
typename Enable =
void>
97 template<
typename T,
typename Enable =
void>
constexpr bool is_base_of_ignore_reference_v
true if X is a base of or same as Y (after stripping Y of references), false otherwise.
Definition: Traits.h:86
Immutable wrapper for basic types, to provide some type-safety.
Definition: BaseValue.h:100
constexpr bool is_pod_v
true if T is a standard pod type or a catapult scalar type and is not a pointer type,...
Definition: Traits.h:74
typename is_type_expression< T, Enable >::type is_type_expression_t
true if the expression is valid and evaluates to a type, false otherwise.
Definition: Traits.h:98
constexpr bool is_scalar_v
true if T is a standard scalar type or a catapult scalar type, false otherwise.
Definition: Traits.h:48
Determines if X is a base of or same as Y (after stripping Y of references).
Definition: Traits.h:82
A move-only value wrapper.
Definition: ImmutableValue.h:30
Definition: AddressExtractionExtension.cpp:28
Base values that are constrained to a range of values.
Definition: ClampedBaseValue.h:27
Enable type
Definition: Traits.h:94
Type-based SFINAE helper that evaluates a type expression to a type (if valid) or void (if invalid).
Definition: Traits.h:94