29#ifndef RYTHMOS_INTERPOLATION_BUFFER_APPENDER_BASE_HPP
30#define RYTHMOS_INTERPOLATION_BUFFER_APPENDER_BASE_HPP
32#include "Rythmos_InterpolationBufferBase.hpp"
33#include "Rythmos_Types.hpp"
34#include "Thyra_VectorBase.hpp"
35#include "Teuchos_Describable.hpp"
36#include "Teuchos_ParameterListAcceptor.hpp"
37#include "Teuchos_VerboseObject.hpp"
38#include "Teuchos_RCP.hpp"
39#include "Teuchos_implicit_cast.hpp"
40#include "Teuchos_Assert.hpp"
51 :
virtual public Teuchos::Describable
52 ,
virtual public Teuchos::ParameterListAcceptor
53 ,
virtual public Teuchos::VerboseObject<InterpolationBufferAppenderBase<Scalar> >
100template<
class Scalar>
111 TEUCHOS_TEST_FOR_EXCEPTION(
115 "Error, import range = [" << appendRange.
lower() <<
"," << appendRange.
upper() <<
"] is not a prepend "
117 "interpolation buffer.\n"
120 TEUCHOS_TEST_FOR_EXCEPTION(
124 "Error, import range = [" << appendRange.
lower() <<
"," << appendRange.
upper() <<
"] is not an append "
126 "interpolation buffer.\n"
129 TEUCHOS_TEST_FOR_EXCEPTION(
132 "Error, append range's lower bound = " << appendRange.
lower() <<
" does not sit inside incoming"
133 " interpolation buffer's time range = "
136 TEUCHOS_TEST_FOR_EXCEPTION(
139 "Error, append range's upper bound = " << appendRange.
upper() <<
"does not sit inside incoming"
140 " interpolation buffer's time range = "
Base class for strategy objects that append data from one InterplationBufferBase object to another.
void assertAppendPreconditions(const InterpolationBufferBase< Scalar > &interpBuffSource, const TimeRange< Scalar > &range, const InterpolationBufferBase< Scalar > &interpBuffSink) const
virtual void append(const InterpolationBufferBase< Scalar > &interpBuffSource, const TimeRange< Scalar > &range, const Ptr< InterpolationBufferBase< Scalar > > &interpBuffSink)=0
Append or Prepend data from one interpolation buffer into another.
Base class for an interpolation buffer.
virtual TimeRange< Scalar > getTimeRange() const =0
Return the range of time values where interpolation calls can be performed.