Teuchos Package Browser (Single Doxygen Collection)
Version of the Day
Loading...
Searching...
No Matches
parameterlist
src
Teuchos_StandardParameterEntryXMLConverters.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ***********************************************************************
3
//
4
// Teuchos: Common Tools Package
5
// Copyright (2004) 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 Michael A. Heroux (maherou@sandia.gov)
38
//
39
// ***********************************************************************
40
// @HEADER
41
42
#ifndef TEUCHOS_STANDARDPARAMETERENTRYXMLCONVERTERS_HPP
43
#define TEUCHOS_STANDARDPARAMETERENTRYXMLCONVERTERS_HPP
44
50
#include "
Teuchos_ParameterEntryXMLConverter.hpp
"
51
52
53
namespace
Teuchos
{
54
55
61
class
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
AnyParameterEntryConverter
:
public
ParameterEntryXMLConverter
{
62
63
public
:
64
67
69
const
std::string getTypeAttributeValue()
const
;
70
72
const
std::string getValueAttributeValue(
73
RCP<const ParameterEntry>
entry)
const
;
74
76
any
getAny(
const
XMLObject
&
xmlObj
)
const
;
78
79
};
80
81
86
template
<
class
T>
87
class
StandardTemplatedParameterConverter
:
88
public
ParameterEntryXMLConverter
89
{
90
91
public
:
92
95
97
virtual
const
std::string
getTypeAttributeValue
()
const
{
98
return
TypeNameTraits<T>::name
();
99
}
100
102
virtual
const
std::string
getValueAttributeValue
(
103
RCP<const ParameterEntry>
entry)
const
{
104
return
toString
(
any_cast<T>
(entry->getAny(
false
)));
105
}
106
108
any
getAny
(
const
XMLObject
&
xmlObj
)
const
{
109
return
any
(
xmlObj
.getRequired<
T
>(
getValueAttributeName
()));
110
}
111
113
114
};
115
116
117
118
}
// namespace Teuchos
119
120
121
#endif
// TEUCHOS_STANDARDPARAMETERENTRYXMLCONVERTERS_HPP
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
#define TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
Definition
Teuchos_DLLExportMacro.h:29
Teuchos_ParameterEntryXMLConverter.hpp
Teuchos::AnyParameterEntryConverter
A last resort converter for when no others will do.
Definition
Teuchos_StandardParameterEntryXMLConverters.hpp:61
Teuchos::ParameterEntryXMLConverter
A class used to convert parameter entries to xml and vice versa.
Definition
Teuchos_ParameterEntryXMLConverter.hpp:61
Teuchos::ParameterEntryXMLConverter::getValueAttributeName
static const std::string & getValueAttributeName()
Definition
Teuchos_ParameterEntryXMLConverter.hpp:126
Teuchos::SerialComm
Concrete serial communicator subclass.
Definition
Teuchos_DefaultSerialComm.hpp:76
Teuchos::StandardTemplatedParameterConverter
A standard ParameterEntryXMLConverter for most data types.
Definition
Teuchos_StandardParameterEntryXMLConverters.hpp:89
Teuchos::StandardTemplatedParameterConverter::getAny
any getAny(const XMLObject &xmlObj) const
Definition
Teuchos_StandardParameterEntryXMLConverters.hpp:108
Teuchos::StandardTemplatedParameterConverter::getValueAttributeValue
virtual const std::string getValueAttributeValue(RCP< const ParameterEntry > entry) const
Definition
Teuchos_StandardParameterEntryXMLConverters.hpp:102
Teuchos::StandardTemplatedParameterConverter::getTypeAttributeValue
virtual const std::string getTypeAttributeValue() const
Definition
Teuchos_StandardParameterEntryXMLConverters.hpp:97
Teuchos::TypeNameTraits::name
static std::string name()
Definition
Teuchos_TypeNameTraits.hpp:88
Teuchos::XMLObject
Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object,...
Definition
Teuchos_XMLObject.hpp:62
Teuchos::any
Modified boost::any class, which is a container for a templated value.
Definition
Teuchos_any.hpp:155
Teuchos
Definition
Teuchos_AbstractFactory.hpp:47
Teuchos::toString
std::string toString(const HashSet< Key > &h)
Definition
Teuchos_HashSet.hpp:112
Generated by
1.10.0