DUNE-ACFEM (unstable)
transform.hh
66 std::enable_if_t<A::template Apply<Tin, I0, Tout, F::template Apply<Tin, I0, N>::value, N>::value> >
69 using Type = typename TransformSequenceRecursion<Sequence<Tin, RestIn...>, Sequence<Tout, Out..., V>, F, A, N+1>::Type;
79 std::enable_if_t<!A::template Apply<Tin, I0, Tout, F::template Apply<Tin, I0, N>::value, N>::value> >
81 using Type = typename TransformSequenceRecursion<Sequence<Tin, RestIn...>, Sequence<Tout, Out...>, F, A, N+1>::Type;
99 using Type = typename TransformSequenceRecursion<SeqIn, SeqOut, TransformFunctor, AcceptFunctor, 0UL>::Type;
107 template<class Tin, Tin... In, class Tout, Tout... Out, class TransformFunctor, std::size_t... N>
121 using Type = typename TransformSequenceExpander<Sequence<Tin, In...>, SeqOut, TransformFunctor, MakeIndexSequence<sizeof...(In)> >::Type;
172 using TransformSequence = typename TransformSequenceHelper<SeqIn, SeqOut, TransformFunctor, AcceptFunctor>::Type;
224 constexpr auto offsetSequence(Sequence<T, Ts...> = Sequence<T, Ts...>{}, IntConstant<Offset> = IntConstant<Offset>{})
239 using Type = typename SequenceProdHelper<N-1, Sequence<T, I...>, Sequence<T, Out..., I...> >::Type;
252 using SequenceProd = typename SequenceProdHelper<N, Seq, Sequence<typename Seq::value_type> >::Type;
272 template<class F, class Seq, class Tout = typename F::template Apply<typename Seq::value_type, 0, 0>::value_type>
278 //template<std::size_t Index, class F, class Seq, class Tout = typename F::template Apply<Index, typename Seq::value_type, Index>::value_type>
289 using TransformUnique = TransformSequence<Seq, Sequence<typename Seq::value_type>, F, AcceptEqualFunctor<false> >;
302 using TransformOnly = TransformSequence<Seq, Sequence<typename Seq::value_type>, TransformAtIndexFunctor<F, Index...>, AcceptAllFunctor>;
406 struct AddBitShiftRightFunctor
428 struct MapSequenceFunctor
438 struct MapSequenceFunctor<Sequence<I> >
444 struct InverseMapSequenceFunctor
463 struct AcceptAllFunctor
475 struct AcceptEqualFunctor
487 struct AcceptInputValueFunctor
500 struct AcceptInputInRangeFunctor
510 struct AcceptModuloFunctor
IndexConstant< IndexInHelper< 0, typename Seq::value_type, V, Seq >::value > IndexIn
Find the index of a given value in a sequence.
Definition: access.hh:279
MakeSequence< std::size_t, N, Offset, Stride, Repeat > MakeIndexSequence
Make a sequence of std::size_t elements.
Definition: generators.hh:34
TransformSequence< Seq, Sequence< Tout >, F > TransformedSequence
Transform given sequence.
Definition: transform.hh:273
typename SequenceCatHelper2< S... >::Type SequenceCat
Concatenate the given sequences, in order, to <S0, S1, ... >.
Definition: transform.hh:220
TransformSequence< Seq1, Seq2 > CatSequence
Concatenate the given sequences to <Seq2, Seq1>
Definition: transform.hh:176
TransformSequence< Seq, Seq, F > CatTransformedSequence
Transform only the element at the given position of the given sequence.
Definition: transform.hh:282
typename SequenceSpliceHelper< count, Seq >::Type SequenceSplice
Splice the sequence by repeating each value the given amount of times.
Definition: transform.hh:267
TransformSequence< Seq, Sequence< typename Seq::value_type >, TransformAtIndexFunctor< F, Index... >, AcceptAllFunctor > TransformOnly
Transform only those elements specified by the parameter pack Index.
Definition: transform.hh:302
TransformSequence< Seq, Seq, F, AcceptEqualFunctor< false > > CatTransformUnique
Concat the result of TransformUnique with the original sequence.
Definition: transform.hh:295
typename TransformSequenceHelper< SeqIn, SeqOut, TransformFunctor, AcceptFunctor >::Type TransformSequence
General sequence transformation alias.
Definition: transform.hh:172
constexpr auto offsetSequence(Sequence< T, Ts... >=Sequence< T, Ts... >{}, IntConstant< Offset >=IntConstant< Offset >{})
Simple offset operation without the overhead of TransformSequence.
Definition: transform.hh:224
typename SequenceProdHelper< N, Seq, Sequence< typename Seq::value_type > >::Type SequenceProd
Compute the "product" multi index of N identical copies.
Definition: transform.hh:252
TransformSequence< Seq, Sequence< typename Seq::value_type >, F, AcceptEqualFunctor< false > > TransformUnique
Apply the functor F::template value_type<I>::value to each element in Seq; add to the output/sequence...
Definition: transform.hh:289
Sequence< std::size_t, V... > IndexSequence
Sequence of std::size_t values.
Definition: types.hh:64
integral_constant< T, V > Constant
Short-cut for any integral constant.
Definition: types.hh:40
Constant< bool, V > BoolConstant
Short-cut for integral constant of type bool.
Definition: types.hh:48
std::integer_sequence< T, V... > Sequence
Sequence of any type of integer values.
Definition: types.hh:56
STL namespace.
Functor for TransformSequence: unconditionally accept.
Definition: transform.hh:464
Functor for TransformSequence: accept if result is either equal or different from original value.
Definition: transform.hh:476
Add a set bit at left-shifted position.
Definition: transform.hh:417
Applies another functor only to the elements at the specified positions given by the Index parameter ...
Definition: transform.hh:357
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Dec 27, 23:30, 2024)