dune-fem 2.8.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Dune::Fem::TupleDofVector< DofVectors > Class Template Reference

#include <dune/fem/function/tuplediscretefunction/dofvector.hh>

Inheritance diagram for Dune::Fem::TupleDofVector< DofVectors >:
Inheritance graph

Classes

struct  ConstIterator
 
struct  Iterator
 

Public Types

typedef std::tuple_element< 0, DofVectorTuple >::type::FieldType FieldType
 
typedef Iterator IteratorType
 
typedef ConstIterator ConstIteratorType
 
typedef std::size_t SizeType
 
typedef FieldType value_type
 
typedef SizeType size_type
 
typedef FieldTypeDofBlockType
 
typedef const FieldTypeConstDofBlockType
 
typedef Fem::Envelope< DofBlockTypeDofBlockPtrType
 
typedef Fem::Envelope< ConstDofBlockTypeConstDofBlockPtrType
 

Public Member Functions

 TupleDofVector (DofVectors &... dofVectors)
 
 TupleDofVector (BaseType data)
 
 TupleDofVector (const ThisType &)=default
 
 TupleDofVector (ThisType &&)=default
 
const ThisTypeoperator= (const ThisType &other)
 
const ThisTypeoperator+= (const ThisType &other)
 
const ThisTypeoperator-= (const ThisType &other)
 
FieldType operator* (const ThisType &other) const
 
const ThisTypeoperator*= (const FieldType &scalar)
 
const ThisTypeoperator/= (const FieldType &scalar)
 
void axpy (const FieldType &scalar, const ThisType &other)
 
void clear ()
 
SizeType size () const
 
IteratorType begin ()
 
ConstIteratorType begin () const
 
IteratorType end ()
 
ConstIteratorType end () const
 
DofBlockType operator[] (std::size_t index)
 
ConstDofBlockType operator[] (std::size_t index) const
 
DofBlockPtrType blockPtr (std::size_t index)
 
ConstDofBlockType blockPtr (std::size_t index) const
 
void reserve (SizeType size)
 
void resize (SizeType size)
 
constexpr std::size_t blocks () const
 
template<int i>
const std::tuple_element< i, DofVectorTuple >::type & subDofVector () const
 
template<int i>
std::tuple_element< i, DofVectorTuple >::type & subDofVector ()
 

Static Public Attributes

static const int blockSize = 1
 

Protected Member Functions

template<std::size_t ... i>
void scale (FieldType scale, std::index_sequence< i ... >)
 
template<std::size_t ... i>
void axpy (FieldType a, const ThisType &other, std::index_sequence< i ... >)
 
template<std::size_t ... i>
void assign (const ThisType &other, std::index_sequence< i ... >)
 
template<std::size_t ... i>
SizeType size (std::index_sequence< i ... >) const
 
template<std::size_t ... I>
void clear (std::index_sequence< I ... >)
 
template<std::size_t i>
FieldTypeblockAccess (std::size_t index, std::integral_constant< std::size_t, i >)
 
FieldTypeblockAccess (std::size_t index, std::integral_constant< std::size_t, sizeof ...(DofVectors) >)
 
template<std::size_t i>
const FieldTypeblockAccess (std::size_t index, std::integral_constant< std::size_t, i >) const
 
const FieldTypeblockAccess (std::size_t index, std::integral_constant< std::size_t, sizeof ...(DofVectors) >) const
 

Member Typedef Documentation

◆ ConstDofBlockPtrType

template<class ... DofVectors>
typedef Fem::Envelope< ConstDofBlockType > Dune::Fem::TupleDofVector< DofVectors >::ConstDofBlockPtrType

◆ ConstDofBlockType

template<class ... DofVectors>
typedef const FieldType* Dune::Fem::TupleDofVector< DofVectors >::ConstDofBlockType

◆ ConstIteratorType

template<class ... DofVectors>
typedef ConstIterator Dune::Fem::TupleDofVector< DofVectors >::ConstIteratorType

◆ DofBlockPtrType

template<class ... DofVectors>
typedef Fem::Envelope< DofBlockType > Dune::Fem::TupleDofVector< DofVectors >::DofBlockPtrType

◆ DofBlockType

template<class ... DofVectors>
typedef FieldType* Dune::Fem::TupleDofVector< DofVectors >::DofBlockType

◆ FieldType

template<class ... DofVectors>
typedef std::tuple_element<0,DofVectorTuple>::type::FieldType Dune::Fem::TupleDofVector< DofVectors >::FieldType

◆ IteratorType

template<class ... DofVectors>
typedef Iterator Dune::Fem::TupleDofVector< DofVectors >::IteratorType

◆ size_type

template<class ... DofVectors>
typedef SizeType Dune::Fem::TupleDofVector< DofVectors >::size_type

◆ SizeType

template<class ... DofVectors>
typedef std::size_t Dune::Fem::TupleDofVector< DofVectors >::SizeType

◆ value_type

template<class ... DofVectors>
typedef FieldType Dune::Fem::TupleDofVector< DofVectors >::value_type

Constructor & Destructor Documentation

◆ TupleDofVector() [1/4]

template<class ... DofVectors>
Dune::Fem::TupleDofVector< DofVectors >::TupleDofVector ( DofVectors &...  dofVectors)
inline

◆ TupleDofVector() [2/4]

template<class ... DofVectors>
Dune::Fem::TupleDofVector< DofVectors >::TupleDofVector ( BaseType  data)
inline

◆ TupleDofVector() [3/4]

template<class ... DofVectors>
Dune::Fem::TupleDofVector< DofVectors >::TupleDofVector ( const ThisType )
default

◆ TupleDofVector() [4/4]

template<class ... DofVectors>
Dune::Fem::TupleDofVector< DofVectors >::TupleDofVector ( ThisType &&  )
default

Member Function Documentation

◆ assign()

template<class ... DofVectors>
template<std::size_t ... i>
void Dune::Fem::TupleDofVector< DofVectors >::assign ( const ThisType other,
std::index_sequence< i ... >   
)
inlineprotected

◆ axpy() [1/2]

template<class ... DofVectors>
void Dune::Fem::TupleDofVector< DofVectors >::axpy ( const FieldType scalar,
const ThisType other 
)
inline

◆ axpy() [2/2]

template<class ... DofVectors>
template<std::size_t ... i>
void Dune::Fem::TupleDofVector< DofVectors >::axpy ( FieldType  a,
const ThisType other,
std::index_sequence< i ... >   
)
inlineprotected

◆ begin() [1/2]

template<class ... DofVectors>
IteratorType Dune::Fem::TupleDofVector< DofVectors >::begin ( )
inline

◆ begin() [2/2]

template<class ... DofVectors>
ConstIteratorType Dune::Fem::TupleDofVector< DofVectors >::begin ( ) const
inline

◆ blockAccess() [1/4]

template<class ... DofVectors>
template<std::size_t i>
FieldType * Dune::Fem::TupleDofVector< DofVectors >::blockAccess ( std::size_t  index,
std::integral_constant< std::size_t, i >   
)
inlineprotected

◆ blockAccess() [2/4]

template<class ... DofVectors>
template<std::size_t i>
const FieldType * Dune::Fem::TupleDofVector< DofVectors >::blockAccess ( std::size_t  index,
std::integral_constant< std::size_t, i >   
) const
inlineprotected

◆ blockAccess() [3/4]

template<class ... DofVectors>
FieldType * Dune::Fem::TupleDofVector< DofVectors >::blockAccess ( std::size_t  index,
std::integral_constant< std::size_t, sizeof ...(DofVectors) >   
)
inlineprotected

◆ blockAccess() [4/4]

template<class ... DofVectors>
const FieldType * Dune::Fem::TupleDofVector< DofVectors >::blockAccess ( std::size_t  index,
std::integral_constant< std::size_t, sizeof ...(DofVectors) >   
) const
inlineprotected

◆ blockPtr() [1/2]

template<class ... DofVectors>
DofBlockPtrType Dune::Fem::TupleDofVector< DofVectors >::blockPtr ( std::size_t  index)
inline

◆ blockPtr() [2/2]

template<class ... DofVectors>
ConstDofBlockType Dune::Fem::TupleDofVector< DofVectors >::blockPtr ( std::size_t  index) const
inline

◆ blocks()

template<class ... DofVectors>
constexpr std::size_t Dune::Fem::TupleDofVector< DofVectors >::blocks ( ) const
inlineconstexpr

◆ clear() [1/2]

template<class ... DofVectors>
void Dune::Fem::TupleDofVector< DofVectors >::clear ( )
inline

◆ clear() [2/2]

template<class ... DofVectors>
template<std::size_t ... I>
void Dune::Fem::TupleDofVector< DofVectors >::clear ( std::index_sequence< I ... >  )
inlineprotected

◆ end() [1/2]

template<class ... DofVectors>
IteratorType Dune::Fem::TupleDofVector< DofVectors >::end ( )
inline

◆ end() [2/2]

template<class ... DofVectors>
ConstIteratorType Dune::Fem::TupleDofVector< DofVectors >::end ( ) const
inline

◆ operator*()

template<class ... DofVectors>
FieldType Dune::Fem::TupleDofVector< DofVectors >::operator* ( const ThisType other) const
inline

◆ operator*=()

template<class ... DofVectors>
const ThisType & Dune::Fem::TupleDofVector< DofVectors >::operator*= ( const FieldType scalar)
inline

◆ operator+=()

template<class ... DofVectors>
const ThisType & Dune::Fem::TupleDofVector< DofVectors >::operator+= ( const ThisType other)
inline

◆ operator-=()

template<class ... DofVectors>
const ThisType & Dune::Fem::TupleDofVector< DofVectors >::operator-= ( const ThisType other)
inline

◆ operator/=()

template<class ... DofVectors>
const ThisType & Dune::Fem::TupleDofVector< DofVectors >::operator/= ( const FieldType scalar)
inline

◆ operator=()

template<class ... DofVectors>
const ThisType & Dune::Fem::TupleDofVector< DofVectors >::operator= ( const ThisType other)
inline

◆ operator[]() [1/2]

template<class ... DofVectors>
DofBlockType Dune::Fem::TupleDofVector< DofVectors >::operator[] ( std::size_t  index)
inline

◆ operator[]() [2/2]

template<class ... DofVectors>
ConstDofBlockType Dune::Fem::TupleDofVector< DofVectors >::operator[] ( std::size_t  index) const
inline

◆ reserve()

template<class ... DofVectors>
void Dune::Fem::TupleDofVector< DofVectors >::reserve ( SizeType  size)
inline

◆ resize()

template<class ... DofVectors>
void Dune::Fem::TupleDofVector< DofVectors >::resize ( SizeType  size)
inline

◆ scale()

template<class ... DofVectors>
template<std::size_t ... i>
void Dune::Fem::TupleDofVector< DofVectors >::scale ( FieldType  scale,
std::index_sequence< i ... >   
)
inlineprotected

◆ size() [1/2]

template<class ... DofVectors>
SizeType Dune::Fem::TupleDofVector< DofVectors >::size ( ) const
inline

◆ size() [2/2]

template<class ... DofVectors>
template<std::size_t ... i>
SizeType Dune::Fem::TupleDofVector< DofVectors >::size ( std::index_sequence< i ... >  ) const
inlineprotected

◆ subDofVector() [1/2]

template<class ... DofVectors>
template<int i>
std::tuple_element< i, DofVectorTuple >::type & Dune::Fem::TupleDofVector< DofVectors >::subDofVector ( )
inline

◆ subDofVector() [2/2]

template<class ... DofVectors>
template<int i>
const std::tuple_element< i, DofVectorTuple >::type & Dune::Fem::TupleDofVector< DofVectors >::subDofVector ( ) const
inline

Member Data Documentation

◆ blockSize

template<class ... DofVectors>
const int Dune::Fem::TupleDofVector< DofVectors >::blockSize = 1
static

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