![]() |
NIM 跨平台 C++ SDK
|
命名空间 | |
| namespace | adl_barrier |
类 | |
| struct | AlignOf |
| struct | AlignOf< Aligned< T, N > > |
| class | LayoutImpl |
| class | LayoutImpl< std::tuple< Elements... >, phmap::index_sequence< SizeSeq... >, phmap::index_sequence< OffsetSeq... > > |
| struct | NotAligned |
| struct | NotAligned< const Aligned< T, N > > |
| struct | SizeOf |
| struct | SizeOf< Aligned< T, N > > |
| struct | Type |
| struct | Type< Aligned< T, N > > |
类型定义 | |
| template<size_t > | |
| using | IntToSize = size_t |
| template<class > | |
| using | TypeToSize = size_t |
| template<class T , class... Ts> | |
| using | Contains = phmap::disjunction< std::is_same< T, Ts >... > |
| template<class From , class To > | |
| using | CopyConst = typename std::conditional< std::is_const< From >::value, const To, To >::type |
| template<class T > | |
| using | SliceType = Span< T > |
| template<bool C> | |
| using | EnableIf = typename std::enable_if< C, int >::type |
| template<class T > | |
| using | IsLegalElementType = std::integral_constant< bool, !std::is_reference< T >::value &&!std::is_volatile< T >::value &&!std::is_reference< typename Type< T >::type >::value &&!std::is_volatile< typename Type< T >::type >::value &&adl_barrier::IsPow2(AlignOf< T >::value)> |
| template<size_t NumSizes, class... Ts> | |
| using | LayoutType = LayoutImpl< std::tuple< Ts... >, phmap::make_index_sequence< NumSizes >, phmap::make_index_sequence< adl_barrier::Min(sizeof...(Ts), NumSizes+1)> > |
| using phmap::priv::internal_layout::Contains = typedef phmap::disjunction<std::is_same<T, Ts>...> |
| using phmap::priv::internal_layout::CopyConst = typedef typename std::conditional<std::is_const<From>::value, const To, To>::type |
| using phmap::priv::internal_layout::EnableIf = typedef typename std::enable_if<C, int>::type |
| using phmap::priv::internal_layout::IntToSize = typedef size_t |
| using phmap::priv::internal_layout::IsLegalElementType = typedef std::integral_constant< bool, !std::is_reference<T>::value && !std::is_volatile<T>::value && !std::is_reference<typename Type<T>::type>::value && !std::is_volatile<typename Type<T>::type>::value && adl_barrier::IsPow2(AlignOf<T>::value)> |
| using phmap::priv::internal_layout::LayoutType = typedef LayoutImpl< std::tuple<Ts...>, phmap::make_index_sequence<NumSizes>, phmap::make_index_sequence<adl_barrier::Min(sizeof...(Ts), NumSizes + 1)> > |
| using phmap::priv::internal_layout::SliceType = typedef Span<T> |
| using phmap::priv::internal_layout::TypeToSize = typedef size_t |