Typedef ripple::array_impl_t¶
Typedef Documentation¶
-
template<typename
ImplA
, typenameImplB
, typenameLayoutA
= typename array_traits_t<ImplA>::Layout, typenameLayoutB
= typename array_traits_t<ImplB>::Layout, boolValidityA
= std::is_same_v<LayoutA, ContiguousOwned>, boolValidityB
= std::is_same_v<LayoutB, ContiguousOwned>, typenameFallback
= VecFallback<ImplA>>
usingripple
::
array_impl_t
= std::conditional_t<ValidityA, ImplA, std::conditional_t<ValidityB, ImplB, Fallback>>¶ Returns an implementation type which is copyable and trivially constructable between implementations ImplA and ImplB.
This will first check the valididy of ImplA, and then of ImplB.
An implementation is valid if the storage type of the implementation is not a pointer (since the data for the pointer will then need to be allocaed) and is trivially constructible.
If neither ImplA nor ImplB are valid, then this will default to using the Vec type with a value type of ImplA and a the size of ImplA.
- Template Parameters
ImplA
: The type of the first array implementation.ImplB
: The type of the second array implementation.