42#ifndef TEUCHOS_STRING_TO_INT_MAP_HPP
43#define TEUCHOS_STRING_TO_INT_MAP_HPP
45#include "Teuchos_Assert.hpp"
102 {
public:
AlreadyExists(
const std::string& what_arg) : std::logic_error(what_arg) {}};
106 {
public:
DoesNotExist(
const std::string& what_arg) : std::logic_error(what_arg) {}};
112 int get(
const std::string& option,
const std::string& groupName =
"" )
const;
115 template<
class EnumType>
116 EnumType
get(
const std::string& option,
const std::string& groupName =
"" )
const;
123 typedef std::map< std::string, int > map_t;
124 std::string defaultGroupName_;
127 std::string validSelections()
const;
137template<
class EnumType>
141 ,std::string
const& option
142 ,std::string
const& groupName =
""
145 return static_cast<EnumType
>(theMap.
get(option,groupName));
151template<
class EnumType>
155 return static_cast<EnumType
>(
get(option,groupName));
161 return defaultGroupName_;
Map a std::string to an enumeration.
EnumType get(StringToIntMap const &theMap, std::string const &option, std::string const &groupName="")
Nonmember get function.
int get(const std::string &option, const std::string &groupName="") const
const std::string & defaultGroupName() const
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...