DUNE-ACFEM (unstable)
Bit-mask and strictly monotone sequences and conversion utilities. More...
Namespaces | |
namespace | Dune::ACFem |
A namespace encapsulating everything defined in our dune-acfem project. | |
Typedefs | |
template<std::size_t mask> | |
using | Dune::ACFem::MaskSequence = typename MaskSequenceHelper< mask, 0 >::type |
Generate the index-sequence type of set bits from a bit-mask. | |
template<std::size_t... I> | |
using | Dune::ACFem::SequenceMask = IndexConstant< SequenceMaskHelper< I... >::value > |
Generate a bit-mask from the given index-sequence. | |
template<std::size_t Mask, std::size_t Bit> | |
using | Dune::ACFem::HasBit = BoolConstant<(Mask &SequenceMask< Bit >::value) !=0UL > |
std::true_type if Mask has Bit set. | |
template<std::size_t Super, std::size_t Sub> | |
using | Dune::ACFem::CondensedMask = IndexConstant< CondenseMaskHelper< IndexConstant< Super >, IndexConstant< Sub > >::value > |
Transform the bit-mask given in Sub be removing all bit-positions of zeros in Super. More... | |
template<std::size_t Mask, std::size_t RequiredMask = 0UL> | |
using | Dune::ACFem::SubMaskSequence = typename SubMaskSequenceHelper< IndexSequence<>, MaskSequence< Mask >, MaskSequence< RequiredMask > >::type |
Generate a sequence of pair-wise distinct sub-bitmasks starting from a given bit-mask. More... | |
Functions | |
template<std::size_t... I> | |
constexpr auto | Dune::ACFem::sequenceMask (const IndexSequence< I... > &) |
Generate a bit-mask from the given index-sequence. | |
constexpr bool | Dune::ACFem::hasBit (const std::size_t &mask, const std::size_t &bit) |
std::true_type if Mask has Bit set. More... | |
template<std::size_t mask> | |
constexpr auto | Dune::ACFem::submaskSequence (IndexConstant< mask > &&) |
Generate a sequence of pair-wise distinct sub-bitmasks starting from a given bit-mask. More... | |
template<std::size_t... I> | |
constexpr auto | Dune::ACFem::submaskSequence (IndexSequence< I... > &&) |
Generate a sequence of pair-wise distinct sub-bitmasks starting from a given bit-mask. More... | |
Detailed Description
Bit-mask and strictly monotone sequences and conversion utilities.
Typedef Documentation
◆ CondensedMask
using Dune::ACFem::CondensedMask = typedef IndexConstant<CondenseMaskHelper<IndexConstant<Super>, IndexConstant<Sub> >::value> |
Transform the bit-mask given in Sub be removing all bit-positions of zeros in Super.
Sub is required to also only contain zeros at the removed positions.
This is, e.g., used in the model-code in order to compute argument lists for methods with deliberately ommitted parameters.
◆ SubMaskSequence
using Dune::ACFem::SubMaskSequence = typedef typename SubMaskSequenceHelper<IndexSequence<>, MaskSequence<Mask>, MaskSequence<RequiredMask> >::type |
Generate a sequence of pair-wise distinct sub-bitmasks starting from a given bit-mask.
The generated sequence of bitmask is "ORed" with the value specified by RequiredMask.
Function Documentation
◆ hasBit()
|
constexpr |
std::true_type if Mask has Bit set.
◆ submaskSequence() [1/2]
|
constexpr |
Generate a sequence of pair-wise distinct sub-bitmasks starting from a given bit-mask.
The generated sequence of bitmask is "ORed" with the value specified by RequiredMask.
◆ submaskSequence() [2/2]
|
constexpr |
Generate a sequence of pair-wise distinct sub-bitmasks starting from a given bit-mask.
The generated sequence of bitmask is "ORed" with the value specified by RequiredMask.