![]() |
v0.10.0 |
base class for all interface classes More...
#include <src/interfaces/UnknownInterface.hpp>
Classes | |
struct | HashMOFEMuuid |
struct | NotKnownClass |
struct | UIdTypeMap |
Public Member Functions | |
virtual MoFEMErrorCode | query_interface (const MOFEMuuid &uuid, UnknownInterface **iface) const =0 |
template<class IFACE > | |
MoFEMErrorCode | registerInterface (const MOFEMuuid &uuid, bool error_if_registration_failed=true) |
Register interface. More... | |
template<class IFACE , bool VERIFY = false> | |
MoFEMErrorCode | getInterface (const MOFEMuuid &uuid, IFACE *&iface) const |
Get interface by uuid and return reference to pointer of 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 |
virtual MoFEMErrorCode | getLibVersion (Version &version) const |
Get library version. More... | |
virtual const MoFEMErrorCode | getFileVersion (moab::Interface &moab, Version &version) const |
Get database major version. More... | |
virtual MoFEMErrorCode | getInterfaceVersion (Version &version) const |
Get database major version. More... | |
template<> | |
MoFEMErrorCode | getInterface (const MOFEMuuid &uuid, UnknownInterface *&iface) const |
Protected Member Functions | |
boost::typeindex::type_index | getClassIdx (const MOFEMuuid &uid) const |
Get type name for interface Id. More... | |
MOFEMuuid | getUId (const boost::typeindex::type_index &class_idx) const |
Get interface Id for class name. More... | |
Private Types | |
typedef multi_index_container< UIdTypeMap, indexed_by< hashed_unique< member< UIdTypeMap, MOFEMuuid, &UIdTypeMap::uID >, HashMOFEMuuid >, 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 MOFEMuuid to interface type name. More... | |
base class for all interface classes
Definition at line 84 of file UnknownInterface.hpp.
|
private |
Data structure for interfaces Id and class names.
Definition at line 429 of file UnknownInterface.hpp.
|
virtualdefault |
|
protected |
Get type name for interface Id.
uid | interface Id |
Definition at line 380 of file UnknownInterface.hpp.
|
virtual |
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 332 of file UnknownInterface.hpp.
IFACE MoFEM::UnknownInterface::getInterface | ( | ) | const |
Get interface pointer to pointer of interface.
Definition at line 237 of file UnknownInterface.hpp.
IFACE MoFEM::UnknownInterface::getInterface | ( | ) | const |
Get reference to interface.
Definition at line 271 of file UnknownInterface.hpp.
IFACE* MoFEM::UnknownInterface::getInterface | ( | ) | const |
Function returning pointer to interface.
Definition at line 303 of file UnknownInterface.hpp.
MoFEMErrorCode MoFEM::UnknownInterface::getInterface | ( | const MOFEMuuid & | uuid, |
IFACE *& | iface | ||
) | const |
Get interface by uuid and return reference to pointer of interface.
uuid | |
iface | reference to a interface pointer |
Definition at line 130 of file UnknownInterface.hpp.
MoFEMErrorCode MoFEM::UnknownInterface::getInterface | ( | const MOFEMuuid & | uuid, |
UnknownInterface *& | iface | ||
) | const |
Definition at line 436 of file UnknownInterface.hpp.
MoFEMErrorCode MoFEM::UnknownInterface::getInterface | ( | IFACE *& | iface | ) | const |
Get interface refernce to pointer of interface.
iface | reference to a interface pointer |
Definition at line 174 of file UnknownInterface.hpp.
MoFEMErrorCode MoFEM::UnknownInterface::getInterface | ( | IFACE **const | iface | ) | const |
Get interface pointer to pointer of interface.
iface | const pointer to a interface pointer |
Definition at line 207 of file UnknownInterface.hpp.
|
virtual |
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 365 of file UnknownInterface.hpp.
|
virtual |
Get library version.
This is library version.
Definition at line 316 of file UnknownInterface.hpp.
|
protected |
Get interface Id for class name.
class_name |
Definition at line 394 of file UnknownInterface.hpp.
|
pure virtual |
Implemented in MoFEM::DMCtx, MoFEM::VecManager, MoFEM::Tools, MoFEM::TetGenInterface, MoFEM::Simple, MoFEM::SeriesRecorder, MoFEM::ProblemsManager, MoFEM::PrismsFromSurfaceInterface, MoFEM::PrismInterface, MoFEM::PipelineManager, MoFEM::NodeMergerInterface, MoFEM::MeshsetsManager, MoFEM::MeshRefinement, MoFEM::MedInterface, MoFEM::MatrixManager, MoFEM::DofMethod, MoFEM::EntityMethod, MoFEM::FEMethod, MoFEM::BasicMethod, MoFEM::TSMethod, MoFEM::SnesMethod, MoFEM::KspMethod, MoFEM::PetscData, MoFEM::LogManager, MoFEM::ISManager, MoFEM::FieldEvaluatorInterface, MoFEM::FieldBlas, MoFEM::CutMeshInterface, MoFEM::CoreTmp< 0 >, MoFEM::CoordSystemsManager, MoFEM::CommInterface, MoFEM::BitRefManager, and MoFEM::BitLevelCoupler.
MoFEMErrorCode MoFEM::UnknownInterface::registerInterface | ( | const MOFEMuuid & | uuid, |
bool | error_if_registration_failed = true |
||
) |
Register interface.
uuid | |
true |
Definition at line 103 of file UnknownInterface.hpp.
|
mutableprivate |
Maps MOFEMuuid to interface type name.
Definition at line 432 of file UnknownInterface.hpp.