DUNE-ACFEM (unstable)
subtuple.hh
39 auto insertAtInsertOne(T t, Tuple&& tuple, std::index_sequence<Front...>, std::index_sequence<Back...>)
76 return insertAtHelper<N+1>(pos, data, insertAtInsertOne(get<N>(data), tuple, Front{}, Back{}), trueType());
106 auto insertAt(SrcTuple&& src, DataTuple&& data, BoolConstant<AssumeSorted> = BoolConstant<AssumeSorted>{})
108 return insertAtHelper<0>(std::index_sequence<Pos...>{}, std::forward<DataTuple>(data), std::forward<SrcTuple>(src), BoolConstant<AssumeSorted>{});
115 auto insertAt(SrcTuple&& src, Data&& data, BoolConstant<AssumeSorted> = BoolConstant<AssumeSorted>{})
117 return insertAtHelper<0>(IndexSequence<Where>{}, std::forward_as_tuple(data), std::forward<SrcTuple>(src), BoolConstant<AssumeSorted>{});
124 auto insertAt(SrcTuple&& src, DataTuple&& data, IndexSequence<Pos...>, BoolConstant<AssumeSorted> = BoolConstant<AssumeSorted>{})
126 return insertAt<Pos...>(std::forward<SrcTuple>(src), std::forward<DataTuple>(data), BoolConstant<AssumeSorted>{});
133 auto insertAt(SrcTuple&& src, Data&& data, IndexConstant<Where>, BoolConstant<AssumeSorted> = BoolConstant<AssumeSorted>{})
135 return insertAt<Where>(std::forward<SrcTuple>(src), std::forward<Data>(data), BoolConstant<AssumeSorted>{});
251 using AddFrontTuple = std::decay_t<decltype(addFront(std::declval<T>(), std::declval<Tuple>()))>;
255 using PushBackTuple = std::decay_t<decltype(pushBack(std::declval<T>(), std::declval<Tuple>()))>;
constexpr decltype(auto) get(T &&t, IndexConstant< I >=IndexConstant< I >{})
Access to the i-the element.
Definition: access.hh:129
constexpr auto pushBack(Sequence< T, I... >, IntConstant< V >=IntConstant< V >{})
Add V at the end of the sequece.
Definition: access.hh:302
constexpr std::size_t size()
Gives the number of elements in tuple-likes and std::integer_sequence.
Definition: size.hh:73
TransformSequence< Seq, Sequence< typename Seq::value_type >, IdentityFunctor, UnaryFilterFunctor< F, typename Seq::value_type > > FilteredSequence
Create a new sequence by filtering out certain elements.
Definition: filter.hh:115
MakeIndexSequence< size< T >()> MakeSequenceFor
Make a simple index sequence of the size of the argument, which may be anything for which size<T>() e...
Definition: generators.hh:41
MakeSequence< std::size_t, N, Offset, Stride, Repeat > MakeIndexSequence
Make a sequence of std::size_t elements.
Definition: generators.hh:34
constexpr auto addFront(T &&t, Tuple &&tuple)
Add an element to the front.
Definition: subtuple.hh:237
auto subTuple(const TupleLike &t, IndexSequence< I... >=IndexSequence< I... >{})
Extract a sub-tuple by explicit indexing.
Definition: subtuple.hh:153
auto filteredTuple(Tuple &&t)
Generate a sub-tuple of the elements where F<TupleElement<N, Tuple> > is derived from std::true_type,...
Definition: subtuple.hh:224
std::decay_t< decltype(pushBack(std::declval< T >(), std::declval< Tuple >()))> PushBackTuple
Type of the tuple where a T is added to the end.
Definition: subtuple.hh:255
std::decay_t< decltype(filteredTuple< F >(std::declval< Tuple >()))> FilteredTuple
Generate the type of the return value of filteredTuple().
Definition: subtuple.hh:233
auto maskTuple(const std::tuple< T... > &t, IndexConstant< mask >=IndexConstant< mask >{})
Generate a sub-tuple with the elements at the positions where a bit in a bit-mask is set.
Definition: subtuple.hh:186
decltype(maskTuple< mask >(std::declval< T >())) MaskTuple
Define the type a sub-tuple generated by the give bit-mask.
Definition: subtuple.hh:193
auto insertAt(SrcTuple &&src, DataTuple &&data, BoolConstant< AssumeSorted >=BoolConstant< AssumeSorted >{})
Insert the elements of data at positions given by pos into src in turn.
Definition: subtuple.hh:106
auto forwardSubTuple(const TupleLike &t, IndexSequence< I... >=IndexSequence< I... >{})
Like subTuble() but forward the arguments, possibly in order to be expanded as parameters to another ...
Definition: subtuple.hh:162
std::decay_t< decltype(addFront(std::declval< T >(), std::declval< Tuple >()))> AddFrontTuple
Type of the tuple where a T is added at the front.
Definition: subtuple.hh:251
decltype(subTuple< I... >(std::declval< T >())) SubTuple
Define the type of a sub-tuple given by an index-pack.
Definition: subtuple.hh:168
constexpr auto permute(Seq, IndexSequence< Ps... >=IndexSequence< Ps... >{})
Permute the given sequence.
Definition: permutation.hh:116
Sequence< std::size_t, V... > IndexSequence
Sequence of std::size_t values.
Definition: types.hh:64
Constant< bool, V > BoolConstant
Short-cut for integral constant of type bool.
Definition: types.hh:48
Constant< std::size_t, V > IndexConstant
Short-cut for integral constant of type std::size_t.
Definition: types.hh:44
BoolConstant< false > FalseType
Alias for std::false_type.
Definition: types.hh:110
Definition: subtuple.hh:202
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Dec 27, 23:30, 2024)