1#ifndef NE_STL_INCLUDENE_STL_TYPE_TRAITS_H
2#define NE_STL_INCLUDENE_STL_TYPE_TRAITS_H
8template <
typename T, T _value>
11 operator T()
const {
return (
value); }
14template <
typename T, T _value>
25template <
bool _conditional,
typename T =
void>
32template <
bool _conditional,
typename T1,
typename T2>
36template <
typename T1,
typename T2>
71template <
typename... TArgs>
72struct _Is_all_standard_layout {};
75template <
typename T,
typename... TArgs>
76struct _Is_all_standard_layout<T, TArgs...> :
nstd::conditional<nstd::is_standard_layout<typename nstd::remove_cr<T>::type>::value,
77 _Is_all_standard_layout<TArgs...>,
78 nstd::false_type>::type {};
81template <
typename... T>
82using _is_all_standard_layout = detail::_Is_all_standard_layout<T...>;
85template <
typename... T>
#define true
Definition: stdbool.h:30
#define false
Definition: stdbool.h:33
unsigned char bool
Definition: stdbool.h:25
Definition: ne_stl_any.h:7
traits::_is_all_standard_layout< T... > is_all_standard_layout
Definition: ne_stl_type_traits.h:86
std::is_standard_layout< T > is_standard_layout
Definition: ne_stl_type_traits.h:68
Definition: ne_stl_type_traits.h:9
static const T value
Definition: ne_stl_type_traits.h:10
T operator()() const
Definition: ne_stl_type_traits.h:12
Definition: ne_stl_type_traits.h:21
Definition: ne_stl_type_traits.h:26
T type
Definition: ne_stl_type_traits.h:29
Definition: ne_stl_type_traits.h:33
T1 type
Definition: ne_stl_type_traits.h:34
T2 type
Definition: ne_stl_type_traits.h:38
Definition: ne_stl_type_traits.h:41
T type
Definition: ne_stl_type_traits.h:42
T type
Definition: ne_stl_type_traits.h:47
Definition: ne_stl_type_traits.h:50
T type
Definition: ne_stl_type_traits.h:51
T type
Definition: ne_stl_type_traits.h:56
T type
Definition: ne_stl_type_traits.h:61
Definition: ne_stl_type_traits.h:64
typename remove_const< typename remove_reference< T >::type >::type type
Definition: ne_stl_type_traits.h:65