Logo
Reference manual - version orea_version
Public Member Functions | Protected Member Functions | Friends | List of all members
JaggedCube< T > Class Template Reference

JaggedCube stores the cube in memory using a vector of trade specific blocks. More...

#include <orea/cube/jaggedcube.hpp>

+ Inheritance diagram for JaggedCube< T >:

Public Member Functions

 JaggedCube (Date asof, boost::shared_ptr< ore::data::Portfolio > &portfolio, const vector< Date > &dates, Size samples, Size depth)
 
 JaggedCube (Date asof, boost::shared_ptr< ore::data::Portfolio > &portfolio, const vector< Date > &dates, Size samples, const DepthCalculator &dc)
 
void init (Date asof, boost::shared_ptr< ore::data::Portfolio > &portfolio, const vector< Date > &dates, Size samples, const DepthCalculator &dc)
 
Size numIds () const override
 Return the length of each dimension.
 
Size numDates () const override
 
Size samples () const override
 
Size depth () const override
 
Real avgDateLen () const
 
Real avgDepth () const
 
const std::map< std::string, Size > & idsAndIndexes () const override
 Get the vector of ids for this cube.
 
const std::vector< QuantLib::Date > & dates () const override
 Get the vector of dates for this cube.
 
QuantLib::Date asof () const override
 Return the asof date (T0 date)
 
Real getT0 (Size i, Size d) const override
 Get a T0 value from the cube.
 
void setT0 (Real value, Size i, Size d) override
 Set a value in the cube.
 
Real get (Size i, Size j, Size k, Size d) const override
 Get a value from the cube.
 
void set (Real value, Size i, Size j, Size k, Size d) override
 Set a value in the cube.
 
- Public Member Functions inherited from NPVCube
 NPVCube ()
 default ctor
 
 NPVCube (NPVCube &)=delete
 Do not allow cube copying.
 
NPVCubeoperator= (NPVCube const &)=delete
 
virtual ~NPVCube ()
 dtor
 
const std::set< std::string > ids () const
 Get a set of all ids in the cube.
 
virtual Real getT0 (const std::string &id, Size depth=0) const
 Get a T0 value from the cube using trade id.
 
virtual void setT0 (Real value, const std::string &id, Size depth=0)
 Set a value in the cube using trade id.
 
virtual Real get (const std::string &id, const QuantLib::Date &date, Size sample, Size depth=0) const
 Get a value from the cube using trade id and date.
 
virtual void set (Real value, const std::string &id, const QuantLib::Date &date, Size sample, Size depth=0)
 Set a value in the cube using trade id and date.
 
virtual void remove (Size id)
 
virtual void remove (Size id, Size sample)
 
Size getTradeIndex (const std::string &id) const
 

Protected Member Functions

void check (Size i, Size j, Size k, Size d) const
 
- Protected Member Functions inherited from NPVCube
virtual Size index (const std::string &id) const
 
virtual Size index (const QuantLib::Date &date) const
 

Friends

class boost::serialization::access
 

Detailed Description

template<typename T>
class ore::analytics::JaggedCube< T >

JaggedCube stores the cube in memory using a vector of trade specific blocks.

JaggedCube stores the cube in memory using a vector of trade specific blocks to allow both single and double precision implementations.