Panzer
Version of the Day
disc-fe
src
Panzer_ParameterLibraryAcceptor_DefaultImpl.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ***********************************************************************
3
//
4
// Panzer: A partial differential equation assembly
5
// engine for strongly coupled complex multiphysics systems
6
// Copyright (2011) Sandia Corporation
7
//
8
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9
// the U.S. Government retains certain rights in this software.
10
//
11
// Redistribution and use in source and binary forms, with or without
12
// modification, are permitted provided that the following conditions are
13
// met:
14
//
15
// 1. Redistributions of source code must retain the above copyright
16
// notice, this list of conditions and the following disclaimer.
17
//
18
// 2. Redistributions in binary form must reproduce the above copyright
19
// notice, this list of conditions and the following disclaimer in the
20
// documentation and/or other materials provided with the distribution.
21
//
22
// 3. Neither the name of the Corporation nor the names of the
23
// contributors may be used to endorse or promote products derived from
24
// this software without specific prior written permission.
25
//
26
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
//
38
// Questions? Contact Roger P. Pawlowski (rppawlo@sandia.gov) and
39
// Eric C. Cyr (eccyr@sandia.gov)
40
// ***********************************************************************
41
// @HEADER
42
43
#ifndef PANZER_PARAMETER_LIBRARY_ACCEPTOR_DEFAULT_IMPL_HPP
44
#define PANZER_PARAMETER_LIBRARY_ACCEPTOR_DEFAULT_IMPL_HPP
45
46
#include "
Panzer_ParameterLibraryAcceptor.hpp
"
47
#include "Teuchos_Assert.hpp"
48
49
namespace
panzer
{
50
56
class
ParameterLibraryAcceptor_DefaultImpl
:
57
public
ParameterLibraryAcceptor
{
58
59
public
:
60
61
ParameterLibraryAcceptor_DefaultImpl
() {}
62
63
ParameterLibraryAcceptor_DefaultImpl
(
const
Teuchos::RCP<panzer::ParamLib>
& pl) :
64
m_param_lib
(pl) {}
65
66
virtual
~ParameterLibraryAcceptor_DefaultImpl
() {}
67
68
virtual
void
setParameterLibrary
(
const
Teuchos::RCP<panzer::ParamLib>
& pl)
69
{
70
TEUCHOS_TEST_FOR_EXCEPTION
(
nonnull
(
m_param_lib
), std::logic_error,
71
"A parameter library has already been set on this object!"
);
72
m_param_lib
= pl;
73
}
74
75
virtual
Teuchos::RCP<panzer::ParamLib>
getParameterLibrary
()
const
76
{
return
m_param_lib
; }
77
78
private
:
79
80
Teuchos::RCP<panzer::ParamLib>
m_param_lib
;
81
82
};
83
84
}
85
86
#endif
panzer::ParameterLibraryAcceptor_DefaultImpl::getParameterLibrary
virtual Teuchos::RCP< panzer::ParamLib > getParameterLibrary() const
Definition:
Panzer_ParameterLibraryAcceptor_DefaultImpl.hpp:75
panzer::ParameterLibraryAcceptor_DefaultImpl::ParameterLibraryAcceptor_DefaultImpl
ParameterLibraryAcceptor_DefaultImpl()
Definition:
Panzer_ParameterLibraryAcceptor_DefaultImpl.hpp:61
panzer::ParameterLibraryAcceptor_DefaultImpl::~ParameterLibraryAcceptor_DefaultImpl
virtual ~ParameterLibraryAcceptor_DefaultImpl()
Definition:
Panzer_ParameterLibraryAcceptor_DefaultImpl.hpp:66
panzer::ParameterLibraryAcceptor_DefaultImpl::ParameterLibraryAcceptor_DefaultImpl
ParameterLibraryAcceptor_DefaultImpl(const Teuchos::RCP< panzer::ParamLib > &pl)
Definition:
Panzer_ParameterLibraryAcceptor_DefaultImpl.hpp:63
Teuchos::RCP< panzer::ParamLib >
panzer::ParameterLibraryAcceptor_DefaultImpl
Pure Virtual base class for accepting the parameter library.
Definition:
Panzer_ParameterLibraryAcceptor_DefaultImpl.hpp:56
panzer::ParameterLibraryAcceptor_DefaultImpl::setParameterLibrary
virtual void setParameterLibrary(const Teuchos::RCP< panzer::ParamLib > &pl)
Definition:
Panzer_ParameterLibraryAcceptor_DefaultImpl.hpp:68
panzer::ParameterLibraryAcceptor
Pure Virtual base class for accepting the parameter library.
Definition:
Panzer_ParameterLibraryAcceptor.hpp:56
nonnull
bool nonnull(const boost::shared_ptr< T > &p)
Panzer_ParameterLibraryAcceptor.hpp
panzer
Definition:
Panzer_BasisValues_Evaluator_decl.hpp:54
panzer::ParameterLibraryAcceptor_DefaultImpl::m_param_lib
Teuchos::RCP< panzer::ParamLib > m_param_lib
Definition:
Panzer_ParameterLibraryAcceptor_DefaultImpl.hpp:80
TEUCHOS_TEST_FOR_EXCEPTION
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Generated by
1.8.16