|
template<typename SizeType , SizeType Extent, std::size_t... Is> |
constexpr auto | makeArrayExtents (std::index_sequence< Is... >) |
|
template<typename RecordDim > |
void | assertTrivialCopyable () |
|
template<typename MemcpyFunc = decltype(memcpy)> |
void | parallelMemcpy (std::byte *dst, const std::byte *src, std::size_t size, std::size_t threadId=0, std::size_t threadCount=1, MemcpyFunc singleThreadMemcpy=memcpy) |
|
template<typename TypeList > |
constexpr auto | flatAlignOfImpl () |
|
template<typename TypeList , bool Align, bool IncludeTailPadding> |
constexpr auto | sizeOfImpl () -> std::size_t |
|
template<typename TypeList , std::size_t I, bool Align> |
constexpr auto | offsetOfImplWorkaround () -> std::size_t |
|
template<typename A , typename B > |
auto | mergeRecordDimsImpl (mp_identity< A > a, mp_identity< B >) |
|
template<typename A , std::size_t NA, typename B , std::size_t NB> |
auto | mergeRecordDimsImpl ([[maybe_unused]] mp_identity< A[NA]> a, [[maybe_unused]] mp_identity< B[NB]> b) |
|
template<typename... FieldsA> |
auto | mergeRecordDimsImpl (mp_identity< Record< FieldsA... >> a, mp_identity< Record<>>) |
|
template<typename... FieldsA, typename FieldB , typename... FieldsB, auto Pos = FindFieldByTag<Record<FieldsA...>, GetFieldTag<FieldB>>::value> |
auto | mergeRecordDimsImpl (mp_identity< Record< FieldsA... >>, mp_identity< Record< FieldB, FieldsB... >>) |
|
template<template< typename... > typename L, typename... T, typename F > |
constexpr void | mp_for_each_inline_impl (L< T... >, F &&f) |
|
template<std::size_t... Coords1, std::size_t... Coords2> |
constexpr auto | recordCoordCommonPrefixIsBiggerImpl (RecordCoord< Coords1... >, RecordCoord< Coords2... >) -> bool |
|
template<std::size_t... Coords1, std::size_t... Coords2> |
constexpr auto | recordCoordCommonPrefixIsSameImpl (RecordCoord< Coords1... >, RecordCoord< Coords2... >) -> bool |
|
template<typename Functor , typename LeftRecord , typename RightView , typename RightBoundRecordDim , bool RightOwnView> |
auto | recordRefArithOperator (LeftRecord &left, const RecordRef< RightView, RightBoundRecordDim, RightOwnView > &right) -> LeftRecord & |
|
template<typename Functor , typename LeftRecord , typename T > |
auto | recordRefArithOperator (LeftRecord &left, const T &right) -> LeftRecord & |
|
template<typename Functor , typename LeftRecord , typename RightView , typename RightBoundRecordDim , bool RightOwnView> |
auto | recordRefRelOperator (const LeftRecord &left, const RecordRef< RightView, RightBoundRecordDim, RightOwnView > &right) -> bool |
|
template<typename Functor , typename LeftRecord , typename T > |
auto | recordRefRelOperator (const LeftRecord &left, const T &right) -> bool |
|
template<typename ProxyReference , typename T , std::enable_if_t<!isRecordRef< std::decay_t< ProxyReference >>, int > = 0> |
auto | asTupleImpl (ProxyReference &&leaf, T) -> ProxyReference |
|
template<typename TWithOptionalConst , typename T , std::enable_if_t<!isRecordRef< std::decay_t< TWithOptionalConst >>, int > = 0> |
auto | asTupleImpl (TWithOptionalConst &leaf, T) -> std::reference_wrapper< TWithOptionalConst > |
|
template<typename RecordRef , typename T , std::size_t N, std::size_t... Is> |
auto | asTupleImplForArray (RecordRef &&vd, T(&&)[N], std::index_sequence< Is... >) |
|
template<typename RecordRef , typename T , std::size_t N> |
auto | asTupleImpl (RecordRef &&vd, T(&&a)[N]) |
|
template<typename RecordRef , typename... Fields> |
auto | asTupleImpl (RecordRef &&vd, Record< Fields... >) |
|
template<typename ProxyReference , typename T , std::enable_if_t<!isRecordRef< std::decay_t< ProxyReference >>, int > = 0> |
auto | asFlatTupleImpl (ProxyReference &&leaf, T) -> std::tuple< ProxyReference > |
|
template<typename TWithOptionalConst , typename T , std::enable_if_t<!isRecordRef< std::decay_t< TWithOptionalConst >>, int > = 0> |
auto | asFlatTupleImpl (TWithOptionalConst &leaf, T) -> std::tuple< TWithOptionalConst & > |
|
template<typename RecordRef , typename T , std::size_t N, std::size_t... Is> |
auto | asFlatTupleImplForArray (RecordRef &&vd, T(&&)[N], std::index_sequence< Is... >) |
|
template<typename RecordRef , typename T , std::size_t N> |
auto | asFlatTupleImpl (RecordRef &&vd, T(&&a)[N]) |
|
template<typename RecordRef , typename... Fields> |
auto | asFlatTupleImpl (RecordRef &&vd, Record< Fields... >) |
|
template<typename Tuple1 , typename Tuple2 , std::size_t... Is> |
void | assignTuples (Tuple1 &&dst, Tuple2 &&src, std::index_sequence< Is... >) |
|
template<typename T1 , typename T2 > |
void | assignTupleElement (T1 &&dst, T2 &&src) |
|
template<typename T , typename Tuple , std::size_t... Is> |
auto | makeFromTuple (Tuple &&src, std::index_sequence< Is... >) |
|
template<typename T , typename Simd , typename SrcRC , typename DstRC > |
void | loadSimdFromField (const T &srcRef, Simd &dstSimd, SrcRC srcRC, DstRC dstRC) |
|
template<typename Simd , typename TFwd , typename SrcRC , typename DstRC > |
void | storeSimdToField (const Simd &srcSimd, TFwd &&dstRef, SrcRC srcRC, DstRC dstRC) |
|
template<typename In , typename Out > |
constexpr auto | constexprCopy (In f, In l, Out d) -> Out |
|
template<class ForwardIt1 , class ForwardIt2 > |
constexpr auto | constexprSearch (ForwardIt1 first, ForwardIt1 last, ForwardIt2 sFirst, ForwardIt2 sLast) -> ForwardIt1 |
|
template<class InputIt , class OutputIt , class T > |
constexpr auto | constexprRemoveCopy (InputIt first, InputIt last, OutputIt d_first, const T &value) -> OutputIt |
|
template<class InputIt , class T > |
auto | constexprCount (InputIt first, InputIt last, const T &value) -> typename std::iterator_traits< InputIt >::difference_type |
|
template<std::size_t NewSize, typename T , std::size_t N> |
constexpr auto | resizeArray (Array< T, N > a) |
|
template<typename T > |
constexpr auto | typeNameAsArray () |
|
constexpr auto | isIdentChar (char c) -> bool |
|
constexpr auto | intToStrSize (std::size_t s) |
|
template<typename... Elements, std::size_t... Is> |
constexpr auto | areEqual (const Tuple< Elements... > &a, const Tuple< Elements... > &b, std::index_sequence< Is... >) -> bool |
|
template<typename Tuple1 , typename Tuple2 , size_t... Is1, size_t... Is2> |
constexpr auto | tupleCatImpl (const Tuple1 &t1, const Tuple2 &t2, std::index_sequence< Is1... >, std::index_sequence< Is2... >) |
|
template<std::size_t Pos, typename Tuple , typename Replacement , std::size_t... IsBefore, std::size_t... IsAfter> |
constexpr auto | tupleReplaceImpl (Tuple &&tuple, Replacement &&replacement, std::index_sequence< IsBefore... >, std::index_sequence< IsAfter... >) |
|
template<size_t... Is, typename... Elements, typename Functor > |
constexpr auto | tupleTransformHelper (std::index_sequence< Is... >, const Tuple< Elements... > &tuple, const Functor &functor) |
|
template<typename Allocator , typename Mapping , std::size_t... Is> |
auto | makeBlobArray (const Allocator &alloc, const Mapping &mapping, std::integer_sequence< std::size_t, Is... >) -> Array< AllocatorBlobType< Allocator, typename Mapping::RecordDim >, Mapping::blobCount > |
|
template<class T , class U > |
constexpr auto && | forward_like (U &&x) noexcept |
|
template<typename Blobs , typename TransformBlobFunc , std::size_t... Is> |
auto | makeTransformedBlobArray (Blobs &&blobs, const TransformBlobFunc &transformBlob, std::integer_sequence< std::size_t, Is... >) |
|