DUNE-ACFEM (unstable)

Create sub-sequences by filtering out elements of a given sequence. More...

Modules

 SequenceFilterFunctors
 Pre-defined functors as argument to FilteredSequence template.
 

Classes

struct  Dune::ACFem::UnaryFilterFunctor< F, Input >
 Filter-proxy for TransformSequence template alias. More...
 

Typedefs

template<class F , class Seq >
using Dune::ACFem::FilteredSequence = TransformSequence< Seq, Sequence< typename Seq::value_type >, IdentityFunctor, UnaryFilterFunctor< F, typename Seq::value_type > >
 Create a new sequence by filtering out certain elements. More...
 
template<class Seq1 , class Seq2 >
using Dune::ACFem::CommonHead = IndexConstant< CommonHeadHelper< 0UL, Seq1, Seq2 >::value >
 Compute the number of identical indices at the head of the sequence.
 

Functions

template<typename Int , Int... I0, Int... I1>
constexpr auto Dune::ACFem::sequenceCat (Sequence< Int, I0... >, Sequence< Int, I1... >)
 
template<typename Int , Int... I0, Int... I1, class Seq , class... RestSeq>
constexpr auto Dune::ACFem::sequenceCat (Sequence< Int, I0... >, Sequence< Int, I1... >, Seq, RestSeq...)
 
template<class Seq >
constexpr auto Dune::ACFem::sequenceCat (Seq)
 

Detailed Description

Create sub-sequences by filtering out elements of a given sequence.

Typedef Documentation

◆ FilteredSequence

template<class F , class Seq >
using Dune::ACFem::FilteredSequence = typedef TransformSequence<Seq, Sequence<typename Seq::value_type>, IdentityFunctor, UnaryFilterFunctor<F, typename Seq::value_type> >

Create a new sequence by filtering out certain elements.

The functor must provide a template alias or a structure

struct MyFunctor
{
template<class T, T mask, std::size_t N>
using Apply = SOMETHING
};

where

Apply<T, mask, N>::value

must be a value convertible to bool. The resulting sequence is formed from the elements where the functor template evaluates to true.

The parameter N may be omitted, it's also ok in this way:

struct MyFunctor
{
template<class T, T mask, std::size_t N>
using Apply = SOMETHING
};

Function Documentation

◆ sequenceCat() [1/3]

template<class Seq >
constexpr auto Dune::ACFem::sequenceCat ( Seq  )
constexpr

concat 1 sequence with nothing.

◆ sequenceCat() [2/3]

template<typename Int , Int... I0, Int... I1>
constexpr auto Dune::ACFem::sequenceCat ( Sequence< Int, I0... >  ,
Sequence< Int, I1... >   
)
constexpr

concat 2 sequences.

Referenced by Dune::ACFem::sequenceCat().

◆ sequenceCat() [3/3]

template<typename Int , Int... I0, Int... I1, class Seq , class... RestSeq>
constexpr auto Dune::ACFem::sequenceCat ( Sequence< Int, I0... >  ,
Sequence< Int, I1... >  ,
Seq  ,
RestSeq...   
)
constexpr

concat 3 and more sequences, parameter Seq is needed to distinguish this from the 2 sequence casee as parameter packs may be empty.

References Dune::ACFem::sequenceCat().

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