36 #include <loki/Singleton.h>
41 namespace Collections {
48 if (boost::get<0>(p1) < boost::get<0>(p2))
52 if (boost::get<0>(p1) > boost::get<0>(p2))
56 if (boost::get<1>(p1) < boost::get<1>(p2))
60 if (boost::get<1>(p1) > boost::get<1>(p2))
64 if (boost::get<2>(p1) < boost::get<2>(p2))
68 if (boost::get<2>(p1) > boost::get<2>(p2))
73 if (boost::get<3>(p1) < boost::get<3>(p2))
77 if (boost::get<3>(p1) > boost::get<3>(p2))
91 os << LibUtilities::ShapeTypeMap[boost::get<0>(
p)] <<
", "
94 << (boost::get<3>(p) ?
"Nodal" :
"Modal");
113 Loki::CreateUsingNew,
115 Loki::SingleThreaded> Type;
116 return Type::Instance();
const char *const ImplementationTypeMap[]
boost::tuple< LibUtilities::ShapeType, OperatorType, ImplementationType, ExpansionIsNodal > OperatorKey
Key for describing an Operator.
bool operator<(OperatorKey const &p1, OperatorKey const &p2)
Less-than comparison operator for OperatorKey objects.
const char *const OperatorTypeMap[]
std::ostream & operator<<(std::ostream &os, OperatorKey const &p)
Stream output operator for OperatorKey objects.
std::map< OperatorType, ImplementationType > OperatorImpMap
OperatorFactory & GetOperatorFactory()
Returns the singleton Operator factory object.
Nektar::LibUtilities::NekFactory< OperatorKey, Operator, std::vector< StdRegions::StdExpansionSharedPtr >, CoalescedGeomDataSharedPtr > OperatorFactory
Operator factory definition.
virtual COLLECTIONS_EXPORT ~Operator()
OperatorImpMap SetFixedImpType(ImplementationType defaultType)
simple Operator Implementation Map generator
Provides a generic Factory class.