Mantid
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
Mantid::Kernel::EnumeratedString< E, names, stringComparator > Class Template Reference

#include <EnumeratedString.h>

Public Member Functions

const char * c_str () const
 
 EnumeratedString ()
 
 EnumeratedString (const E e)
 
 EnumeratedString (const EnumeratedString &es)
 
 EnumeratedString (const std::string &s)
 
 operator E () const
 
 operator std::string () const
 
bool operator!= (const char *s) const
 
bool operator!= (const E e) const
 
bool operator!= (const EnumeratedString &es) const
 
template<typename OtherEnumType , const std::vector< std::string > * OtherEnumStrings>
bool operator!= (const EnumeratedString< OtherEnumType, OtherEnumStrings > &other) const
 
bool operator!= (const std::string &s) const
 
EnumeratedStringoperator= (const EnumeratedString &other)=default
 
EnumeratedStringoperator= (const std::string &s)
 
EnumeratedStringoperator= (E e)
 
bool operator== (const char *s) const
 
bool operator== (const E e) const
 
bool operator== (const EnumeratedString &es) const
 
template<typename OtherEnumType , const std::vector< std::string > * OtherEnumStrings>
bool operator== (const EnumeratedString< OtherEnumType, OtherEnumStrings > &) const
 
bool operator== (const std::string &s) const
 

Static Public Member Functions

static size_t size ()
 

Private Member Functions

void ensureCompatibleSize ()
 
findEFromString (const std::string &s)
 

Private Attributes

std::string name
 
value
 

Detailed Description

template<class E, const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
class Mantid::Kernel::EnumeratedString< E, names, stringComparator >

Definition at line 33 of file EnumeratedString.h.

Constructor & Destructor Documentation

◆ EnumeratedString() [1/4]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
Mantid::Kernel::EnumeratedString< E, names, stringComparator >::EnumeratedString ( )
inline
Template Parameters
classE an enum, the final value must be enum_count (i.e. enum class Fruit {apple, orange, enum_count})
apointer to a static vector of string names for each enum The enum and string array must have same order.
anoptional pointer to a statically defined string comparator.

Definition at line 46 of file EnumeratedString.h.

References Mantid::Kernel::EnumeratedString< E, names, stringComparator >::ensureCompatibleSize().

◆ EnumeratedString() [2/4]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
Mantid::Kernel::EnumeratedString< E, names, stringComparator >::EnumeratedString ( const E  e)
inline

◆ EnumeratedString() [3/4]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
Mantid::Kernel::EnumeratedString< E, names, stringComparator >::EnumeratedString ( const std::string &  s)
inline

◆ EnumeratedString() [4/4]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
Mantid::Kernel::EnumeratedString< E, names, stringComparator >::EnumeratedString ( const EnumeratedString< E, names, stringComparator > &  es)
inline

Definition at line 58 of file EnumeratedString.h.

Member Function Documentation

◆ c_str()

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
const char * Mantid::Kernel::EnumeratedString< E, names, stringComparator >::c_str ( ) const
inline

◆ ensureCompatibleSize()

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
void Mantid::Kernel::EnumeratedString< E, names, stringComparator >::ensureCompatibleSize ( )
inlineprivate

◆ findEFromString()

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
E Mantid::Kernel::EnumeratedString< E, names, stringComparator >::findEFromString ( const std::string &  s)
inlineprivate

◆ operator E()

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator E ( ) const
inline

◆ operator std::string()

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator std::string ( ) const
inline

◆ operator!=() [1/5]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
bool Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator!= ( const char *  s) const
inline

◆ operator!=() [2/5]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
bool Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator!= ( const E  e) const
inline

◆ operator!=() [3/5]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
bool Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator!= ( const EnumeratedString< E, names, stringComparator > &  es) const
inline

◆ operator!=() [4/5]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
template<typename OtherEnumType , const std::vector< std::string > * OtherEnumStrings>
bool Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator!= ( const EnumeratedString< OtherEnumType, OtherEnumStrings > &  other) const
inline

Definition at line 112 of file EnumeratedString.h.

◆ operator!=() [5/5]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
bool Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator!= ( const std::string &  s) const
inline

◆ operator=() [1/3]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
EnumeratedString & Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator= ( const EnumeratedString< E, names, stringComparator > &  other)
default

◆ operator=() [2/3]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
EnumeratedString & Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator= ( const std::string &  s)
inline

◆ operator=() [3/3]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
EnumeratedString & Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator= ( e)
inline

◆ operator==() [1/5]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
bool Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator== ( const char *  s) const
inline

◆ operator==() [2/5]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
bool Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator== ( const E  e) const
inline

◆ operator==() [3/5]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
bool Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator== ( const EnumeratedString< E, names, stringComparator > &  es) const
inline

◆ operator==() [4/5]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
template<typename OtherEnumType , const std::vector< std::string > * OtherEnumStrings>
bool Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator== ( const EnumeratedString< OtherEnumType, OtherEnumStrings > &  ) const
inline

Definition at line 107 of file EnumeratedString.h.

◆ operator==() [5/5]

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
bool Mantid::Kernel::EnumeratedString< E, names, stringComparator >::operator== ( const std::string &  s) const
inline

◆ size()

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
static size_t Mantid::Kernel::EnumeratedString< E, names, stringComparator >::size ( )
inlinestatic

Definition at line 117 of file EnumeratedString.h.

Member Data Documentation

◆ name

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
std::string Mantid::Kernel::EnumeratedString< E, names, stringComparator >::name
private

◆ value

template<class E , const std::vector< std::string > * names, std::function< bool(const std::string &, const std::string &)> * stringComparator = &compareStrings>
E Mantid::Kernel::EnumeratedString< E, names, stringComparator >::value
private

The documentation for this class was generated from the following file: