39 namespace Collections {
46 if (std::get<0>(p1) < std::get<0>(p2))
50 if (std::get<0>(p1) > std::get<0>(p2))
54 if (std::get<1>(p1) < std::get<1>(p2))
58 if (std::get<1>(p1) > std::get<1>(p2))
62 if (std::get<2>(p1) < std::get<2>(p2))
66 if (std::get<2>(p1) > std::get<2>(p2))
71 if (std::get<3>(p1) < std::get<3>(p2))
75 if (std::get<3>(p1) > std::get<3>(p2))
89 os << LibUtilities::ShapeTypeMap[std::get<0>(
p)] <<
", " 92 << (std::get<3>(p) ?
"Nodal" :
"Modal");
const char *const ImplementationTypeMap[]
std::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.
virtual COLLECTIONS_EXPORT ~Operator()
OperatorImpMap SetFixedImpType(ImplementationType defaultType)
simple Operator Implementation Map generator
Provides a generic Factory class.