19 #ifndef __AUXPETSC_HPP__
20 #define __AUXPETSC_HPP__
27 : std::pair<std::string,
FEMethod *>(name, ptr) {}
28 template <
typename FEMETHOD>
30 : std::pair<std::string,
FEMethod *>(name, ptr.get()),
fePtr(ptr) {}
35 THROW_MESSAGE(
"Shared pointer not set. You have to be using raw "
36 "pointer, that is unsafe.");
41 boost::shared_ptr<FEMethod>
fePtr;
46 template <
typename BASICMETHOD>
54 THROW_MESSAGE(
"Shared pointer not set. You have to be using raw "
55 "pointer, that is unsafe.");
61 boost::shared_ptr<BasicMethod>
bmPtr;
#define THROW_MESSAGE(a)
Throw MoFEM exception.
implementation of Data Operators for Forces and Sources
std::vector< PairNameFEMethodPtr > FEMethodsSequence
std::vector< BasicMethodPtr > BasicMethodsSequence
Data structure to exchange data between mofem and User Loop Methods.
boost::shared_ptr< BasicMethod > getSharedPtr() const
BasicMethod * operator->() const
BasicMethodPtr(boost::shared_ptr< BASICMETHOD > ptr)
boost::shared_ptr< BasicMethod > bmPtr
BasicMethodPtr(BasicMethod *ptr)
BasicMethod & operator*() const
structure for User Loop Methods on finite elements
PairNameFEMethodPtr(std::string name, boost::shared_ptr< FEMETHOD > ptr)
boost::shared_ptr< BasicMethod > getSharedPtr() const
virtual ~PairNameFEMethodPtr()
boost::shared_ptr< FEMethod > fePtr
PairNameFEMethodPtr(std::string name, FEMethod *ptr)