30 #ifndef BIT_MEMORY_CONCEPTS_STATELESS_HPP 31 #define BIT_MEMORY_CONCEPTS_STATELESS_HPP 33 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 35 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 37 #include "detail/void_t.hpp" 39 #include <type_traits> 94 #if __cplusplus >= 202000L 98 concept
bool Stateless = std::is_empty<T>::value
99 && std::is_trivially_constructible<T>::value
100 && std::is_trivially_destructible<T>::value
101 && std::is_trivially_move_constructible<T>::value
102 && std::is_trivially_copy_constructible<T>::value
103 && std::is_trivially_copy_assignable<T>::value
104 && std::is_trivially_move_assignable<T>::value
105 && std::is_trivial<T>::value
117 std::is_empty<T>::value &&
118 std::is_trivially_constructible<T>::value &&
119 std::is_trivially_destructible<T>::value &&
120 std::is_trivially_move_constructible<T>::value &&
121 std::is_trivially_copy_constructible<T>::value &&
122 std::is_trivially_copy_assignable<T>::value &&
123 std::is_trivially_move_assignable<T>::value &&
124 std::is_trivial<T>::value
Type-trait to check for whether a given type T is Stateless.