|
dune-functions 2.8.0
|
Loading...
Searching...
No Matches
Dune::Functions::TypeErasureBase< Interface, Implementation, bufferSize > Class Template Reference
Base class for type-erased interface wrapper. More...
#include <dune/functions/common/typeerasure.hh>
Inheritance diagram for Dune::Functions::TypeErasureBase< Interface, Implementation, bufferSize >:

Public Member Functions | |
| template<class T , disableCopyMove< TypeErasureBase, T > = 0> | |
| TypeErasureBase (T &&t) | |
| Construct wrapper from object. | |
| TypeErasureBase ()=default | |
| Default constructor. | |
| Interface & | asInterface () |
| Get mutable reference to wrapped object. | |
| const Interface & | asInterface () const |
| Get reference to wrapped object. | |
| const std::type_info & | target_type () const |
| Get type of stored object. | |
Protected Attributes | |
| PolymorphicSmallObject< Imp::TypeErasureWrapperInterface< Interface >, bufferSize > | wrapped_ |
Detailed Description
template<class Interface, template< class > class Implementation, size_t bufferSize = 56>
class Dune::Functions::TypeErasureBase< Interface, Implementation, bufferSize >
class Dune::Functions::TypeErasureBase< Interface, Implementation, bufferSize >
Base class for type-erased interface wrapper.
This is meant as a base class for the type-erased interface wrapper that is actually visible to the user. By deriving from this you get small object optimization for the internal polymorphic wrapper.
Constructor & Destructor Documentation
◆ TypeErasureBase() [1/2]
template<class T , disableCopyMove< TypeErasureBase, T > = 0>
|
inline |
Construct wrapper from object.
◆ TypeErasureBase() [2/2]
|
default |
Default constructor.
Member Function Documentation
◆ asInterface() [1/2]
|
inline |
Get mutable reference to wrapped object.
◆ asInterface() [2/2]
|
inline |
Get reference to wrapped object.
◆ target_type()
|
inline |
Get type of stored object.
Member Data Documentation
◆ wrapped_
|
protected |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8