![]() |
v0.14.0 |
base class for all interface classes More...
#include <src/interfaces/UnknownInterface.hpp>
Classes | |
struct | NotKnownClass |
struct | UIdTypeMap |
Public Member Functions | |
virtual MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const =0 |
template<class IFACE > | |
MoFEMErrorCode | registerInterface (bool error_if_registration_failed=true) |
Register interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE *&iface) const |
Get interface refernce to pointer of interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE **const iface) const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get reference to interface. More... | |
template<class IFACE > | |
IFACE * | getInterface () const |
Function returning pointer to interface. More... | |
virtual | ~UnknownInterface ()=default |
Static Public Member Functions | |
static MoFEMErrorCode | getLibVersion (Version &version) |
Get library version. More... | |
static MoFEMErrorCode | getFileVersion (moab::Interface &moab, Version &version) |
Get database major version. More... | |
static MoFEMErrorCode | setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD)) |
Get database major version. More... | |
static MoFEMErrorCode | getInterfaceVersion (Version &version) |
Get database major version. More... | |
Private Types | |
typedef multi_index_container< UIdTypeMap, indexed_by< hashed_unique< member< UIdTypeMap, boost::typeindex::type_index, &UIdTypeMap::classIdx > > > > | iFaceTypeMap_multiIndex |
Data structure for interfaces Id and class names. More... | |
Private Attributes | |
iFaceTypeMap_multiIndex | iFaceTypeMap |
Maps implementation to interface type name. More... | |
base class for all interface classes
Definition at line 34 of file UnknownInterface.hpp.
|
private |
Data structure for interfaces Id and class names.
Definition at line 294 of file UnknownInterface.hpp.
|
virtualdefault |
|
static |
Get database major version.
This is database version. MoFEM can read DataBase from file created by older version. Then library version and database version could be different.
Definition at line 16 of file UnknownInterface.cpp.
|
inline |
Get interface pointer to pointer of interface.
Definition at line 159 of file UnknownInterface.hpp.
|
inline |
Get reference to interface.
Definition at line 192 of file UnknownInterface.hpp.
|
inline |
Function returning pointer to interface.
Definition at line 223 of file UnknownInterface.hpp.
|
inline |
Get interface refernce to pointer of interface.
iface | reference to a interface pointer |
Definition at line 93 of file UnknownInterface.hpp.
|
inline |
Get interface pointer to pointer of interface.
iface | const pointer to a interface pointer |
Definition at line 130 of file UnknownInterface.hpp.
|
static |
Get database major version.
Implementation of particular interface could be different than main lib. For example user could use older interface, to keep back compatibility.
Definition at line 59 of file UnknownInterface.cpp.
|
static |
Get library version.
This is library version.
Definition at line 9 of file UnknownInterface.cpp.
|
pure virtual |
Implemented in MoFEM::BaseFunction, DMMGViaApproxOrdersCtx, FractureMechanics::CPMeshCut, FractureMechanics::CPSolvers, SomeUserPolynomialBase, MoFEM::BaseFunctionCtx, MoFEM::EdgePolynomialBase, MoFEM::EntPolynomialBaseCtx, MoFEM::FatPrismPolynomialBaseCtx, MoFEM::FatPrismPolynomialBase, MoFEM::FlatPrismPolynomialBaseCtx, MoFEM::FlatPrismPolynomialBase, MoFEM::HexPolynomialBase, MoFEM::JacobiPolynomialCtx, MoFEM::JacobiPolynomial, MoFEM::IntegratedJacobiPolynomialCtx, MoFEM::IntegratedJacobiPolynomial, MoFEM::LegendrePolynomialCtx, MoFEM::LegendrePolynomial, MoFEM::LobattoPolynomialCtx, MoFEM::LobattoPolynomial, MoFEM::KernelLobattoPolynomialCtx, MoFEM::KernelLobattoPolynomial, MoFEM::QuadPolynomialBase, MoFEM::TetPolynomialBase, MoFEM::TriPolynomialBase, MoFEM::BcManager, MoFEM::BitRefManager, MoFEM::CommInterface, MoFEM::CoreTmp< 0 >, MoFEM::CutMeshInterface, MoFEM::FieldBlas, MoFEM::FieldEvaluatorInterface, MoFEM::ISManager, MoFEM::LogManager, MoFEM::PetscData, MoFEM::KspMethod, MoFEM::SnesMethod, MoFEM::TSMethod, MoFEM::BasicMethod, MoFEM::FEMethod, MoFEM::EntityMethod, MoFEM::DofMethod, MoFEM::MatrixManager, MoFEM::MedInterface, MoFEM::MeshRefinement, MoFEM::MeshsetsManager, MoFEM::NodeMergerInterface, MoFEM::OperatorsTester, MoFEM::PipelineManager, MoFEM::PrismInterface, MoFEM::PrismsFromSurfaceInterface, MoFEM::ProblemsManager, MoFEM::SeriesRecorder, MoFEM::Simple, MoFEM::TetGenInterface, MoFEM::Tools, MoFEM::VecManager, MoFEM::DMCtx, and MoFEM::BaseFunctionUnknownInterface.
|
inline |
Register interface.
uuid | |
true |
Definition at line 54 of file UnknownInterface.hpp.
|
static |
Get database major version.
This is database version. MoFEM can read DataBase from file created by older version. Then library version and database version could be different.
Definition at line 41 of file UnknownInterface.cpp.
|
mutableprivate |
Maps implementation to interface type name.
Definition at line 297 of file UnknownInterface.hpp.