Reference documentation for deal.II version Git 040c6ad7d4 2020-09-26 18:01:03 +0200
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
internal::SubfaceCase< dim > Class Template Reference

#include <deal.II/base/geometry_info.h>

Inheritance diagram for internal::SubfaceCase< dim >:
[legend]

Public Types

enum  Possibilities { case_none = 0, case_isotropic = static_cast<std::uint8_t>(-1) }
 

Public Member Functions

 SubfaceCase (const typename SubfacePossibilities< dim >::Possibilities subface_possibility)
 
 operator std::uint8_t () const
 

Static Public Member Functions

static constexpr std::size_t memory_consumption ()
 
static ::ExceptionBaseExcInvalidSubfaceCase (int arg1)
 

Private Attributes

std::uint8_t value: (dim == 3 ? 4 : 1)
 

Detailed Description

template<int dim>
class internal::SubfaceCase< dim >

A class that provides all possible cases a face (in the current space dimension dim) might be subdivided into subfaces.

Definition at line 1159 of file geometry_info.h.

Member Enumeration Documentation

◆ Possibilities

template<int dim>
enum internal::SubfacePossibilities::Possibilities
inherited

Possible cases of faces being subdivided into subface.

Enumerator
case_none 

Do not refine.

case_isotropic 

Refine isotropically.

Definition at line 915 of file geometry_info.h.

Constructor & Destructor Documentation

◆ SubfaceCase()

template<int dim>
internal::SubfaceCase< dim >::SubfaceCase ( const typename SubfacePossibilities< dim >::Possibilities  subface_possibility)

Constructor. Take and store a value indicating a particular subface possibility in the list of possible situations specified in the base class.

Member Function Documentation

◆ operator std::uint8_t()

template<int dim>
internal::SubfaceCase< dim >::operator std::uint8_t ( ) const

Return the numeric value stored by this class. While the presence of this operator might seem dangerous, it is useful in cases where one would like to have code like switch (subface_case)... case SubfaceCase::case_x: ... , which can be written as switch (static_cast<std::uint8_t>(subface_case). Another application is to use an object of the current type as an index into an array; however, this use is deprecated as it assumes a certain mapping from the symbolic flags defined in the SubfacePossibilities base class to actual numerical values (the array indices).

◆ memory_consumption()

template<int dim>
static constexpr std::size_t internal::SubfaceCase< dim >::memory_consumption ( )
static

Return the amount of memory occupied by an object of this type.

Member Data Documentation

◆ value

template<int dim>
std::uint8_t internal::SubfaceCase< dim >::value
private

Store the refinement case as a bit field with as many bits as are necessary in any given dimension.

Definition at line 1203 of file geometry_info.h.


The documentation for this class was generated from the following file: