Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
Public Member Functions | List of all members
InMemoryCube1< T > Class Template Reference

InMemoryCube of fixed depth 1. More...

#include <orea/cube/inmemorycube.hpp>

+ Inheritance diagram for InMemoryCube1< T >:
+ Collaboration diagram for InMemoryCube1< T >:

Public Member Functions

 InMemoryCube1 (const Date &asof, const std::set< std::string > &ids, const vector< Date > &dates, Size samples, const T &t=T())
 ctor More...
 
 InMemoryCube1 ()
 default More...
 
Size depth () const override
 Fixed depth. More...
 
virtual Real getT0 (Size i, Size d) const override
 Get a T0 value from the cube. More...
 
virtual void setT0 (Real value, Size i, Size d) override
 Set a value in the cube. More...
 
Real get (Size i, Size j, Size k, Size d) const override
 Get a value from the cube. More...
 
void set (Real value, Size i, Size j, Size k, Size d) override
 Set a value in the cube. More...
 
- Public Member Functions inherited from InMemoryCubeBase< T >
 InMemoryCubeBase (const Date &asof, const std::set< std::string > &ids, const vector< Date > &dates, Size samples, const T &t=T())
 default ctor More...
 
 InMemoryCubeBase ()
 default constructor More...
 
Size numIds () const override
 Return the length of each dimension. More...
 
Size numDates () const override
 
virtual Size samples () const override
 
const std::map< std::string, Size > & idsAndIndexes () const override
 Return a map of all ids and their position in the cube. More...
 
const std::vector< QuantLib::Date > & dates () const override
 Get the vector of dates for this cube. More...
 
QuantLib::Date asof () const override
 Return the asof date (T0 date) More...
 
- Public Member Functions inherited from NPVCube
 NPVCube ()
 default ctor More...
 
 NPVCube (NPVCube &)=delete
 Do not allow cube copying. More...
 
NPVCubeoperator= (NPVCube const &)=delete
 
virtual ~NPVCube ()
 dtor More...
 
virtual Size numIds () const =0
 Return the length of each dimension. More...
 
virtual Size numDates () const =0
 
virtual Size samples () const =0
 
virtual Size depth () const =0
 
virtual const std::map< std::string, Size > & idsAndIndexes () const =0
 Get a map of id and their index position in this cube. More...
 
const std::set< std::string > ids () const
 Get a set of all ids in the cube. More...
 
virtual const std::vector< QuantLib::Date > & dates () const =0
 Get the vector of dates for this cube. More...
 
virtual QuantLib::Date asof () const =0
 Return the asof date (T0 date) More...
 
virtual Real getT0 (Size id, Size depth=0) const =0
 Get a T0 value from the cube using index. More...
 
virtual Real getT0 (const std::string &id, Size depth=0) const
 Get a T0 value from the cube using trade id. More...
 
virtual void setT0 (Real value, Size id, Size depth=0)=0
 Set a value in the cube using index. More...
 
virtual void setT0 (Real value, const std::string &id, Size depth=0)
 Set a value in the cube using trade id. More...
 
virtual Real get (Size id, Size date, Size sample, Size depth=0) const =0
 Get a value from the cube using index. More...
 
virtual void set (Real value, Size id, Size date, Size sample, Size depth=0)=0
 Set a value in the cube using index. More...
 
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. More...
 
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. More...
 
virtual void remove (Size id)
 
virtual void remove (Size id, Size sample)
 
Size getTradeIndex (const std::string &id) const
 

Additional Inherited Members

- Protected Member Functions inherited from InMemoryCubeBase< T >
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
 
- Protected Attributes inherited from InMemoryCubeBase< T >
QuantLib::Date asof_
 
vector< QuantLib::Date > dates_
 
Size samples_
 
vector< T > t0Data_
 
vector< vector< vector< T > > > data_
 
std::map< std::string, Size > idIdx_
 

Detailed Description

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

InMemoryCube of fixed depth 1.

This implementation stores the type directly in an InMemoryCubeBase to avoid us having nested vectors all of length 1

Definition at line 104 of file inmemorycube.hpp.

Constructor & Destructor Documentation

◆ InMemoryCube1() [1/2]

InMemoryCube1 ( const Date &  asof,
const std::set< std::string > &  ids,
const vector< Date > &  dates,
Size  samples,
const T &  t = T() 
)

ctor

Definition at line 107 of file inmemorycube.hpp.

109 : InMemoryCubeBase<T>(asof, ids, dates, samples, t) {}
virtual Size samples() const override
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)
const std::set< std::string > ids() const
Get a set of all ids in the cube.
Definition: npvcube.hpp:75

◆ InMemoryCube1() [2/2]

default

Definition at line 112 of file inmemorycube.hpp.

112{}

Member Function Documentation

◆ depth()

Size depth ( ) const
overridevirtual

Fixed depth.

Implements NPVCube.

Definition at line 115 of file inmemorycube.hpp.

115{ return 1; }

◆ getT0()

virtual Real getT0 ( Size  i,
Size  d 
) const
overridevirtual

Get a T0 value from the cube.

Implements NPVCube.

Definition at line 118 of file inmemorycube.hpp.

118 {
119 this->check(i, 0, 0, d);
120 return this->t0Data_[i];
121 }

◆ setT0()

virtual void setT0 ( Real  value,
Size  i,
Size  d 
)
overridevirtual

Set a value in the cube.

Implements NPVCube.

Definition at line 124 of file inmemorycube.hpp.

124 {
125 this->check(i, 0, 0, d);
126 this->t0Data_[i] = static_cast<T>(value);
127 }
SafeStack< ValueType > value

◆ get()

Real get ( Size  i,
Size  j,
Size  k,
Size  d 
) const
overridevirtual

Get a value from the cube.

Implements NPVCube.

Definition at line 130 of file inmemorycube.hpp.

130 {
131 this->check(i, j, k, d);
132 return this->data_[i][j][k];
133 }
vector< vector< vector< T > > > data_

◆ set()

void set ( Real  value,
Size  i,
Size  j,
Size  k,
Size  d 
)
overridevirtual

Set a value in the cube.

Implements NPVCube.

Definition at line 136 of file inmemorycube.hpp.

136 {
137 this->check(i, j, k, d);
138 this->data_[i][j][k] = static_cast<T>(value);
139 }