Sundance::DiscreteFunctionStub Class Reference

Inheritance diagram for Sundance::DiscreteFunctionStub:

Sundance::ListExpr Sundance::ExprBase Playa::Handleable< ExprBase > Sundance::DiscreteFunction

List of all members.

Public Member Functions

 DiscreteFunctionStub (const std::string &name, int tensorOrder=0, int dim=1, const RCP< DiscreteFuncDataStub > &data=RCP< DiscreteFuncDataStub >(), int listIndex=0)
 DiscreteFunctionStub (const Array< string > &name, const Array< std::pair< int, int > > &tensorStructure, const RCP< DiscreteFuncDataStub > &data=RCP< DiscreteFuncDataStub >())
 DiscreteFunctionStub (const std::string &name, const SpectralBasis &sbasis, int tensorOrder=0, int dim=1, const RCP< DiscreteFuncDataStub > &data=RCP< DiscreteFuncDataStub >(), int listIndex=0)
 DiscreteFunctionStub (const Array< string > &name, const SpectralBasis &sbasis, const Array< std::pair< int, int > > &tensorStructure, const RCP< DiscreteFuncDataStub > &data=RCP< DiscreteFuncDataStub >())
virtual ~DiscreteFunctionStub ()
virtual RCP< ExprBasegetRcp ()

Protected Member Functions

void initTensor (const std::string &name, int tensorOrder, int dim, const RCP< DiscreteFuncDataStub > &data, int listIndex)
void initTensorSpectral (const std::string &name, const SpectralBasis &sbasis, int tensorOrder, int dim, const RCP< DiscreteFuncDataStub > &data, int listIndex)
const RCP< DiscreteFuncDataStub > & dataStub () const

Private Attributes

RCP< DiscreteFuncDataStubdata_


Detailed Description

DiscreteFunctionStub is the base class for discrete functions. Each framework will need to implement its own subclass of DiscreteFunctionStub.

The interface is left very minimal so as to not place any constraints on how a framework might specify vectors and bases. When a framework needs any information about the discrete function, it will have to get it by downcasting to the appropriate framework-specific subclass.

Writing a DiscreteFunctionStub subclass

For purposes of interaction with the Sundance core, no additional methods are required. However, most frameworks will require extensions to DiscreteFunctionStub that can supply the framework with information on the basis and vector used by the discrete func. See the demo and standard frameworks for information on how to do this.

Definition at line 62 of file SundanceDiscreteFunctionStub.hpp.


Constructor & Destructor Documentation

DiscreteFunctionStub::DiscreteFunctionStub ( const std::string &  name,
int  tensorOrder = 0,
int  dim = 1,
const RCP< DiscreteFuncDataStub > &  data = RCP<DiscreteFuncDataStub>(),
int  listIndex = 0 
)

Definition at line 45 of file SundanceDiscreteFunctionStub.cpp.

References initTensor().

Referenced by DiscreteFunctionStub().

DiscreteFunctionStub::DiscreteFunctionStub ( const Array< string > &  name,
const Array< std::pair< int, int > > &  tensorStructure,
const RCP< DiscreteFuncDataStub > &  data = RCP<DiscreteFuncDataStub>() 
)

DiscreteFunctionStub::DiscreteFunctionStub ( const std::string &  name,
const SpectralBasis &  sbasis,
int  tensorOrder = 0,
int  dim = 1,
const RCP< DiscreteFuncDataStub > &  data = RCP<DiscreteFuncDataStub>(),
int  listIndex = 0 
)

Definition at line 166 of file SundanceDiscreteFunctionStub.cpp.

References initTensorSpectral().

DiscreteFunctionStub::DiscreteFunctionStub ( const Array< string > &  name,
const SpectralBasis &  sbasis,
const Array< std::pair< int, int > > &  tensorStructure,
const RCP< DiscreteFuncDataStub > &  data = RCP<DiscreteFuncDataStub>() 
)

virtual Sundance::DiscreteFunctionStub::~DiscreteFunctionStub (  )  [inline, virtual]

virtual destructor

Definition at line 89 of file SundanceDiscreteFunctionStub.hpp.


Member Function Documentation

const RCP<DiscreteFuncDataStub>& Sundance::DiscreteFunctionStub::dataStub (  )  const [inline, protected]

Definition at line 108 of file SundanceDiscreteFunctionStub.hpp.

References data_.

Referenced by Sundance::DiscreteFunction::DiscreteFunction().

virtual RCP<ExprBase> Sundance::DiscreteFunctionStub::getRcp (  )  [inline, virtual]

Reimplemented from Sundance::ListExpr.

Definition at line 92 of file SundanceDiscreteFunctionStub.hpp.

void DiscreteFunctionStub::initTensor ( const std::string &  name,
int  tensorOrder,
int  dim,
const RCP< DiscreteFuncDataStub > &  data,
int  listIndex 
) [protected]

void DiscreteFunctionStub::initTensorSpectral ( const std::string &  name,
const SpectralBasis &  sbasis,
int  tensorOrder,
int  dim,
const RCP< DiscreteFuncDataStub > &  data,
int  listIndex 
) [protected]


Member Data Documentation

Reimplemented in Sundance::DiscreteFunction.

Definition at line 111 of file SundanceDiscreteFunctionStub.hpp.

Referenced by dataStub().

Site Contact