Reference documentation for deal.II version 9.0.0
Public Types | Public Member Functions | List of all members
DoFInvalidAccessor< structdim, dim, spacedim > Class Template Reference

#include <deal.II/dofs/dof_accessor.h>

Inheritance diagram for DoFInvalidAccessor< structdim, dim, spacedim >:
[legend]

Public Types

typedef InvalidAccessor< structdim, dim, spacedim >::AccessorData AccessorData
 
- Public Types inherited from InvalidAccessor< structdim, dim, spacedim >
typedef TriaAccessorBase< structdim, dim, spacedim >::AccessorData AccessorData
 
- Public Types inherited from TriaAccessorBase< structdim, dim, spacedim >
typedef void * LocalData
 

Public Member Functions

 DoFInvalidAccessor (const Triangulation< dim, spacedim > *parent=0, const int level=-1, const int index=-1, const AccessorData *local_data=0)
 
 DoFInvalidAccessor (const DoFInvalidAccessor< structdim, dim, spacedim > &)
 
template<typename OtherAccessor >
 DoFInvalidAccessor (const OtherAccessor &)
 
void set_dof_index (const unsigned int i, const types::global_dof_index index, const unsigned int fe_index=DoFHandler< dim, spacedim >::default_fe_index) const
 
- Public Member Functions inherited from InvalidAccessor< structdim, dim, spacedim >
 InvalidAccessor (const Triangulation< dim, spacedim > *parent=nullptr, const int level=-1, const int index=-1, const AccessorData *local_data=nullptr)
 
 InvalidAccessor (const InvalidAccessor &)
 
template<typename OtherAccessor >
 InvalidAccessor (const OtherAccessor &)
 
void copy_from (const InvalidAccessor &)
 
bool operator== (const InvalidAccessor &) const
 
void operator++ () const
 
bool used () const
 
bool has_children () const
 
types::manifold_id manifold_id () const
 
Point< spacedim > & vertex (const unsigned int i) const
 
typename ::internal::TriangulationImplementation::Iterators< dim, spacedim >::line_iterator line (const unsigned int i) const
 
typename ::internal::TriangulationImplementation::Iterators< dim, spacedim >::quad_iterator quad (const unsigned int i) const
 
- Public Member Functions inherited from TriaAccessorBase< structdim, dim, spacedim >
int level () const
 
int index () const
 
IteratorState::IteratorStates state () const
 
const Triangulation< dim, spacedim > & get_triangulation () const
 

Additional Inherited Members

- Static Public Attributes inherited from TriaAccessorBase< structdim, dim, spacedim >
static const unsigned int space_dimension = spacedim
 
static const unsigned int dimension = dim
 
static const unsigned int structure_dimension = structdim
 
- Protected Types inherited from TriaAccessorBase< structdim, dim, spacedim >
typedef void AccessorData
 
- Protected Member Functions inherited from TriaAccessorBase< structdim, dim, spacedim >
 TriaAccessorBase (const Triangulation< dim, spacedim > *parent=nullptr, const int level=-1, const int index=-1, const AccessorData *=nullptr)
 
 TriaAccessorBase (const TriaAccessorBase &)
 
void operator= (const TriaAccessorBase *)=delete
 
void copy_from (const TriaAccessorBase &)
 
TriaAccessorBaseoperator= (const TriaAccessorBase &)
 
bool operator< (const TriaAccessorBase &other) const
 
bool operator== (const TriaAccessorBase &) const
 
bool operator!= (const TriaAccessorBase &) const
 
::internal::TriangulationImplementation::TriaObjects<::internal::TriangulationImplementation::TriaObject< structdim > > & objects () const
 
void operator++ ()
 
void operator-- ()
 
- Protected Attributes inherited from TriaAccessorBase< structdim, dim, spacedim >
typename ::internal::TriaAccessorImplementation::PresentLevelType< structdim, dim >::type present_level
 
int present_index
 
const Triangulation< dim, spacedim > * tria
 

Detailed Description

template<int structdim, int dim, int spacedim = dim>
class DoFInvalidAccessor< structdim, dim, spacedim >

A class that represents DoF accessor objects to iterators that don't make sense such as quad iterators in on 1d meshes. This class can not be used to create objects (it will in fact throw an exception if this should ever be attempted but it sometimes allows code to be written in a simpler way in a dimension independent way. For example, it allows to write code that works on quad iterators that is dimension independent – i.e., also compiles in 1d – because quad iterators (via the current class) exist and are syntactically correct. You can not expect, however, to ever create an actual object of one of these iterators in 1d, meaning you need to expect to wrap the code block in which you use quad iterators into something like if (dim>1) – which makes eminent sense anyway.

This class provides the minimal interface necessary for Accessor classes to interact with Iterator classes. However, this is only for syntactic correctness, none of the functions do anything but generate errors.

Author
Wolfgang Bangerth, 2017

Definition at line 1171 of file dof_accessor.h.

Member Typedef Documentation

◆ AccessorData

template<int structdim, int dim, int spacedim = dim>
typedef InvalidAccessor<structdim,dim,spacedim>::AccessorData DoFInvalidAccessor< structdim, dim, spacedim >::AccessorData

Propagate typedef from base class to this class.

Definition at line 1177 of file dof_accessor.h.

Constructor & Destructor Documentation

◆ DoFInvalidAccessor() [1/3]

template<int structdim, int dim, int spacedim>
DoFInvalidAccessor< structdim, dim, spacedim >::DoFInvalidAccessor ( const Triangulation< dim, spacedim > *  parent = 0,
const int  level = -1,
const int  index = -1,
const AccessorData local_data = 0 
)

Constructor. This class is used for iterators that do not make sense in a given dimension, for example quads for 1d meshes. Consequently, while the creation of such objects is syntactically valid, they make no semantic sense, and we generate an exception when such an object is actually generated.

Definition at line 43 of file dof_accessor.cc.

◆ DoFInvalidAccessor() [2/3]

template<int structdim, int dim, int spacedim>
DoFInvalidAccessor< structdim, dim, spacedim >::DoFInvalidAccessor ( const DoFInvalidAccessor< structdim, dim, spacedim > &  i)

Copy constructor. This class is used for iterators that do not make sense in a given dimension, for example quads for 1d meshes. Consequently, while the creation of such objects is syntactically valid, they make no semantic sense, and we generate an exception when such an object is actually generated.

Definition at line 60 of file dof_accessor.cc.

◆ DoFInvalidAccessor() [3/3]

template<int structdim, int dim, int spacedim>
template<typename OtherAccessor >
DoFInvalidAccessor< structdim, dim, spacedim >::DoFInvalidAccessor ( const OtherAccessor &  )

Conversion from other accessors to the current invalid one. This of course also leads to a run-time error.

Definition at line 1857 of file dof_accessor.h.

Member Function Documentation

◆ set_dof_index()

template<int structdim, int dim, int spacedim>
void DoFInvalidAccessor< structdim, dim, spacedim >::set_dof_index ( const unsigned int  i,
const types::global_dof_index  index,
const unsigned int  fe_index = DoFHandler<dim,spacedim>::default_fe_index 
) const

Set the index of the ith degree of freedom of this object to index. Since the current object doesn't point to anything useful, like all other functions in this class this function only throws an exception.

Definition at line 77 of file dof_accessor.cc.


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