dune-fem 2.8-git
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::ObjectStackEntry< ObjectFactoryImp > Class Template Reference

#include <dune/fem/storage/objectstack.hh>

Inheritance diagram for Dune::Fem::ObjectStackEntry< ObjectFactoryImp >:
Inheritance graph

Public Types

typedef ObjectFactoryImp ObjectFactoryType
 
typedef ObjectStackEntryTraits< ObjectFactoryTypeTraits
 
typedef ObjectFactoryType::ObjectType ObjectType
 
typedef BaseType::ReferenceCounterType ReferenceCounterType
 type of the implementation (Barton-Nackman) More...
 
typedef ThisType ReferenceCounterInterfaceType
 type of the reference counter interface More...
 

Public Member Functions

 ObjectStackEntry (const ThisType &)=delete
 
 ~ObjectStackEntry ()
 
ThisTypeoperator= (const ThisType &)=delete
 
 operator const ObjectType & () const
 
 operator ObjectType & ()
 
void deleteObject ()
 
const ObjectTypegetObject () const
 
ObjectTypegetObject ()
 
void addReference () const
 :: ReferenceCounterInterface :: addReference More...
 
void removeReference () const
 :: ReferenceCounterInterface :: removeReference More...
 
unsigned int referenceCounter () const
 return current reference count More...
 

Protected Types

typedef ObjectStack< ObjectFactoryTypeObjectStackType
 

Protected Member Functions

 ObjectStackEntry (ObjectStackType &stack)
 
const Implementation & asImp () const
 
Implementation & asImp ()
 

Static Protected Member Functions

static const Implementation & asImp (const ThisType &other)
 
static Implementation & asImp (ThisType &other)
 

Protected Attributes

ObjectStackTypestack_
 
ObjectType *const object_
 
ThisTypenext_
 
unsigned int refcount_
 

Member Typedef Documentation

◆ ObjectFactoryType

template<class ObjectFactoryImp >
typedef ObjectFactoryImp Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::ObjectFactoryType

◆ ObjectStackType

template<class ObjectFactoryImp >
typedef ObjectStack< ObjectFactoryType > Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::ObjectStackType
protected

◆ ObjectType

template<class ObjectFactoryImp >
typedef ObjectFactoryType::ObjectType Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::ObjectType

◆ ReferenceCounterInterfaceType

typedef ThisType Dune::Fem::ReferenceCounterInterface< ObjectStackEntryTraits< ObjectFactoryImp > >::ReferenceCounterInterfaceType
inherited

type of the reference counter interface

◆ ReferenceCounterType

typedef BaseType::ReferenceCounterType Dune::Fem::ReferenceCounterDefault< ObjectStackEntryTraits< ObjectFactoryImp > >::ReferenceCounterType
inherited

type of the implementation (Barton-Nackman)

◆ Traits

template<class ObjectFactoryImp >
typedef ObjectStackEntryTraits< ObjectFactoryType > Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::Traits

Constructor & Destructor Documentation

◆ ObjectStackEntry() [1/2]

template<class ObjectFactoryImp >
Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::ObjectStackEntry ( ObjectStackType stack)
inlineexplicitprotected

◆ ObjectStackEntry() [2/2]

template<class ObjectFactoryImp >
Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::ObjectStackEntry ( const ThisType )
delete

◆ ~ObjectStackEntry()

template<class ObjectFactoryImp >
Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::~ObjectStackEntry ( )
inline

Member Function Documentation

◆ addReference()

void Dune::Fem::ReferenceCounterDefault< ObjectStackEntryTraits< ObjectFactoryImp > >::addReference ( ) const
inlineinherited

:: ReferenceCounterInterface :: addReference

:: ReferenceCounterInterface :: addReference

◆ asImp() [1/4]

Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( )
inlineprotectedinherited

◆ asImp() [2/4]

const Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( ) const
inlineprotectedinherited

◆ asImp() [3/4]

static const Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( const ThisType other)
inlinestaticprotectedinherited

◆ asImp() [4/4]

static Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( ThisType other)
inlinestaticprotectedinherited

◆ deleteObject()

template<class ObjectFactoryImp >
void Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::deleteObject ( )
inline

◆ getObject() [1/2]

template<class ObjectFactoryImp >
ObjectType & Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::getObject ( )
inline

◆ getObject() [2/2]

template<class ObjectFactoryImp >
const ObjectType & Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::getObject ( ) const
inline

◆ operator const ObjectType &()

template<class ObjectFactoryImp >
Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::operator const ObjectType & ( ) const
inline

◆ operator ObjectType &()

template<class ObjectFactoryImp >
Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::operator ObjectType & ( )
inline

◆ operator=()

template<class ObjectFactoryImp >
ThisType & Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::operator= ( const ThisType )
delete

◆ referenceCounter()

unsigned int Dune::Fem::ReferenceCounterDefault< ObjectStackEntryTraits< ObjectFactoryImp > >::referenceCounter ( ) const
inlineinherited

return current reference count

◆ removeReference()

void Dune::Fem::ReferenceCounterDefault< ObjectStackEntryTraits< ObjectFactoryImp > >::removeReference ( ) const
inlineinherited

:: ReferenceCounterInterface :: removeReference

:: ReferenceCounterInterface :: removeReference

Member Data Documentation

◆ next_

template<class ObjectFactoryImp >
ThisType* Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::next_
protected

◆ object_

template<class ObjectFactoryImp >
ObjectType* const Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::object_
protected

◆ refcount_

unsigned int Dune::Fem::ReferenceCounterDefault< ObjectStackEntryTraits< ObjectFactoryImp > >::refcount_
mutableprotectedinherited

◆ stack_

template<class ObjectFactoryImp >
ObjectStackType& Dune::Fem::ObjectStackEntry< ObjectFactoryImp >::stack_
protected

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