MoochoPack: Miscellaneous Utilities for MOOCHO
Version of the Day
Main Page
Related Pages
Modules
Classes
Files
File List
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
src
MoochoUtilities
src
OptionsFromStreamPack_StringToIntMap.hpp
1
// @HEADER
2
// ***********************************************************************
3
//
4
// Moocho: Multi-functional Object-Oriented arCHitecture for Optimization
5
// Copyright (2003) Sandia Corporation
6
//
7
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8
// license for use of this work by or on behalf of the U.S. Government.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are
12
// met:
13
//
14
// 1. Redistributions of source code must retain the above copyright
15
// notice, this list of conditions and the following disclaimer.
16
//
17
// 2. Redistributions in binary form must reproduce the above copyright
18
// notice, this list of conditions and the following disclaimer in the
19
// documentation and/or other materials provided with the distribution.
20
//
21
// 3. Neither the name of the Corporation nor the names of the
22
// contributors may be used to endorse or promote products derived from
23
// this software without specific prior written permission.
24
//
25
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
//
37
// Questions? Contact Roscoe A. Bartlett (rabartl@sandia.gov)
38
//
39
// ***********************************************************************
40
// @HEADER
41
42
#ifndef STRING_TO_INT_MAP_H
43
#define STRING_TO_INT_MAP_H
44
45
#include "OptionsFromStreamPack_OptionsFromStreamExceptions.hpp"
46
#include "Teuchos_Assert.hpp"
47
48
namespace
OptionsFromStreamPack {
49
96
class
StringToIntMap
{
97
public
:
98
100
class
AlreadyExists
:
public
std::logic_error
101
{
public
:
AlreadyExists
(
const
std::string& what_arg) : std::logic_error(what_arg) {}};
102
104
class
DoesNotExist
:
public
AccessException
105
{
public
:
DoesNotExist
(
const
std::string& what_arg) :
AccessException
(what_arg) {}};
106
108
StringToIntMap
(
const
std::string&
name
,
int
n,
const
char
* strings[] );
109
111
int
operator()
(
const
std::string& str )
const
;
112
114
const
std::string&
name
()
const
;
115
116
private
:
117
typedef
std::map< std::string, int > map_t;
// all share implementation.
118
std::string name_;
119
map_t map_;
120
121
// not defined and not to be called.
122
StringToIntMap
();
123
124
};
// end class StringToIntMap
125
126
// ////////////////////////////////////////////
127
// Inline declarations
128
129
inline
130
const
std::string&
StringToIntMap::name
()
const
131
{
132
return
name_;
133
}
134
135
}
// end namespace OptionsFromStreamPack
136
137
#endif // STRING_TO_INT_MAP_H
OptionsFromStreamPack::StringToIntMap
Map a string to an enumeration.
Definition:
OptionsFromStreamPack_StringToIntMap.hpp:96
OptionsFromStreamPack::StringToIntMap::AlreadyExists
Definition:
OptionsFromStreamPack_StringToIntMap.hpp:100
OptionsFromStreamPack::StringToIntMap::DoesNotExist
Definition:
OptionsFromStreamPack_StringToIntMap.hpp:104
OptionsFromStreamPack::StringToIntMap::operator()
int operator()(const std::string &str) const
Definition:
OptionsFromStreamPack_StringToIntMap.cpp:60
OptionsFromStreamPack::AccessException
Access error.
Definition:
OptionsFromStreamPack_OptionsFromStreamExceptions.hpp:59
OptionsFromStreamPack::StringToIntMap::name
const std::string & name() const
Definition:
OptionsFromStreamPack_StringToIntMap.hpp:130
Generated on Wed Dec 2 2015 08:49:40 for MoochoPack: Miscellaneous Utilities for MOOCHO by
1.8.6