DUNE-ACFEM (unstable)

Dune::ACFem::MPL Namespace Reference

Form a sub-sequence with the values at the positions NOT given in Indices. More...

Typedefs

template<class Seq , class Other >
using SequenceSetMinus = typename impl::SequenceSetMinus< Seq, Other >::Type
 Generate the sequence with the indices from Seq not contained in Other. More...
 
template<class Seq , class Other >
using SequenceSetIntersection = typename impl::SequenceSetIntersection< Seq, Other >::Type
 Generate the sequence with the indices from Seq also contained in Other. More...
 
template<class Seq0 , class Seq1 >
using SequenceSetUnion = SequenceCat< Seq0, SequenceSetMinus< Seq1, Seq0 > >
 Generate the sequence with the elements from Seq0 and the elements from Seq1 which are not already contained in Seq0. More...
 
template<class Seq , std::size_t... Indices>
using SubSequence = Sequence< typename Seq::value_type, Get< Indices, Seq >::value... >
 Create a subsequence containing all values designated by the positions given by Indices. More...
 
template<class Seq , class SliceIndices >
using SequenceSlice = typename SliceExpander< Seq, SliceIndices >::Type
 Like SubSequence, but take the indices from another sequence.
 
template<class Seq >
using ReverseSequence = typename ReverseSequenceHelper< Seq >::Type
 Generate the reverse sequence.
 
template<class In0 , class In1 , template< CXX17_P0522R0(class A, class B)> class Swap>
using TypeTupleMerge = typename MergeTypeTupleHelper< TypeTuple<>, In0, In1, Swap >::Type
 Merge two sorted type-tuples into one sorted type-tuple.
 
template<class One , class Many , template< CXX17_P0522R0(class A, class B)> class Swap>
using TypeTupleMergeOneLeft = typename MergeTypeTupleHelper< TypeTuple<>, TypeTuple< One >, Many, Swap >::Type
 Merge one element into an already sorted type-tuple.
 
template<class Many , class One , template< CXX17_P0522R0(class A, class B)> class Swap>
using TypeTupleMergeOneRight = typename MergeTypeTupleHelper< TypeTuple<>, Many, TypeTuple< One >, Swap >::Type
 Merge one element into an already sorted type-tuple.
 
template<class T , class Tuple , template< CXX17_P0522R0(class A, class B)> class Unequal, template< CXX17_P0522R0(class A, class B)> class Swap = AlwaysFalse>
using RemoveFirstMatching = typename RemoveMatchingHelper< T, TypeTuple<>, Tuple, Unequal, Swap >::Type
 Generate a new TypeTuple from Tuple by removing the first instance of T. More...
 
template<class... Tags>
using RemoveImplied = typename RemoveImpliedType< TypeTuple< Tags... >, TypeTuple<> >::Type
 Remove types which are base classes of other types in the list.
 

Detailed Description

Form a sub-sequence with the values at the positions NOT given in Indices.

Typedef Documentation

◆ RemoveFirstMatching

template<class T , class Tuple , template< CXX17_P0522R0(class A, class B)> class Unequal, template< CXX17_P0522R0(class A, class B)> class Swap = AlwaysFalse>
using Dune::ACFem::MPL::RemoveFirstMatching = typedef typename RemoveMatchingHelper<T, TypeTuple<>, Tuple, Unequal, Swap>::Type

Generate a new TypeTuple from Tuple by removing the first instance of T.

The search optionally stops when T becomes "smaller" than the current element according to the predicate Swap which could speed-up the search for sorted lists.

◆ SequenceSetIntersection

template<class Seq , class Other >
using Dune::ACFem::MPL::SequenceSetIntersection = typedef typename impl::SequenceSetIntersection<Seq, Other>::Type

Generate the sequence with the indices from Seq also contained in Other.

The resulting sequence may contain duplicate indices if Seq contains matching duplicates.

◆ SequenceSetMinus

template<class Seq , class Other >
using Dune::ACFem::MPL::SequenceSetMinus = typedef typename impl::SequenceSetMinus<Seq, Other>::Type

Generate the sequence with the indices from Seq not contained in Other.

The resulting sequence may contain duplicate indices if Seq contains matching duplicates.

◆ SequenceSetUnion

template<class Seq0 , class Seq1 >
using Dune::ACFem::MPL::SequenceSetUnion = typedef SequenceCat<Seq0, SequenceSetMinus<Seq1, Seq0> >

Generate the sequence with the elements from Seq0 and the elements from Seq1 which are not already contained in Seq0.

Note that the resulting sequence will contain duplicate elements iff Seq0 already contained duplicate indices.

◆ SubSequence

template<class Seq , std::size_t... Indices>
using Dune::ACFem::MPL::SubSequence = typedef Sequence<typename Seq::value_type, Get<Indices, Seq>::value...>

Create a subsequence containing all values designated by the positions given by Indices.

This is cheap if Get is cheap ...

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Apr 19, 22:31, 2024)