29 #ifndef RYTHMOS_SMART_INTERPOLATION_BUFFER_APPENDER_HPP
30 #define RYTHMOS_SMART_INTERPOLATION_BUFFER_APPENDER_HPP
32 #include "Rythmos_InterpolationBufferAppenderBase.hpp"
33 #include "Teuchos_ParameterListAcceptorDefaultBase.hpp"
40 template<
class Scalar>
43 virtual public Teuchos::ParameterListAcceptorDefaultBase
74 template<
class Scalar>
81 TEUCHOS_TEST_FOR_EXCEPTION(
82 true, std::logic_error,
83 "This class has never been tested before and should not be used\n"
88 #ifdef HAVE_RYTHMOS_DEBUG
89 this->assertAppendPreconditions(interpBuffSource,range,*interpBuffSink);
90 #endif // HAVE_RYTHMOS_DEBUG
91 if (interpBuffSink->getOrder() >= interpBuffSource.
getOrder()) {
96 defaultAppender.
append(interpBuffSink,interpBuffSource,range);
101 TEUCHOS_TEST_FOR_EXCEPTION(
102 true,std::logic_error,
103 "Error, the smart interpolation buffer appender is not implemented\n"
104 "for appending interpolation buffers with higher order interpolation\n"
105 "into interpolation buffers with a lower order of interpolation yet!"
113 template<
class Scalar>
116 TEUCHOS_TEST_FOR_EXCEPT( is_null(paramList) );
117 paramList->validateParameters(*this->getValidParameters());
118 setMyParamList(paramList);
119 Teuchos::readVerboseObjectSublist(&*paramList,
this);
122 template<
class Scalar>
125 static RCP<Teuchos::ParameterList> validPL;
126 if (is_null(validPL)) {
127 RCP<Teuchos::ParameterList> pl = Teuchos::parameterList();
128 Teuchos::setupVerboseObjectSublist(&*pl);
137 #endif //RYTHMOS_SMART_INTERPOLATION_BUFFER_APPENDER_HPP