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 |