Logo
Reference manual - version orea_version
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, QuantLib::ext::shared_ptr< ore::data::Portfolio > &portfolio, const vector< Date > &dates, Size samples, Size depth)
 JaggedCube (Date asof, QuantLib::ext::shared_ptr< ore::data::Portfolio > &portfolio, const vector< Date > &dates, Size samples, const DepthCalculator &dc)
void init (Date asof, QuantLib::ext::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.
bool usesDoublePrecision () const override
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 removeT0 (Size id)
virtual void remove (Size id, Size sample, bool setToT0Value)
Size getTradeIndex (const std::string &id) const
Size getDateIndex (const QuantLib::Date &date) 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.

Member Function Documentation

◆ numIds()

template<typename T>
Size numIds ( ) const
overridevirtual

Return the length of each dimension.

Implements NPVCube.

◆ numDates()

template<typename T>
Size numDates ( ) const
overridevirtual

Implements NPVCube.

◆ samples()

template<typename T>
Size samples ( ) const
overridevirtual

Implements NPVCube.

◆ depth()

template<typename T>
Size depth ( ) const
overridevirtual

Implements NPVCube.

◆ idsAndIndexes()

template<typename T>
const std::map< std::string, Size > & idsAndIndexes ( ) const
overridevirtual

Get the vector of ids for this cube.

Implements NPVCube.

◆ dates()

template<typename T>
const std::vector< QuantLib::Date > & dates ( ) const
overridevirtual

Get the vector of dates for this cube.

Implements NPVCube.

◆ asof()

template<typename T>
QuantLib::Date asof ( ) const
overridevirtual

Return the asof date (T0 date).

Implements NPVCube.

◆ getT0()

template<typename T>
Real getT0 ( Size i,
Size d ) const
overridevirtual

Get a T0 value from the cube.

Implements NPVCube.

◆ setT0()

template<typename T>
void setT0 ( Real value,
Size i,
Size d )
overridevirtual

Set a value in the cube.

Implements NPVCube.

◆ get()

template<typename T>
Real get ( Size i,
Size j,
Size k,
Size d ) const
overridevirtual

Get a value from the cube.

Implements NPVCube.

◆ set()

template<typename T>
void set ( Real value,
Size i,
Size j,
Size k,
Size d )
overridevirtual

Set a value in the cube.

Implements NPVCube.

◆ usesDoublePrecision()

template<typename T>
bool usesDoublePrecision ( ) const
overridevirtual

Implements NPVCube.