TimeSeries< T, Container > Class Template Reference

Container for historical data. More...

#include <ql/timeseries.hpp>

List of all members.

Public Types

typedef Date key_type
typedef T value_type

Public Member Functions

 TimeSeries ()
template<class DateIterator , class ValueIterator >
 TimeSeries (DateIterator dBegin, DateIterator dEnd, ValueIterator vBegin)
template<class ValueIterator >
 TimeSeries (const Date &firstDate, ValueIterator begin, ValueIterator end)
Inspectors
Date firstDate () const
 returns the first date for which a historical datum exists
Date lastDate () const
 returns the last date for which a historical datum exists
Size size () const
 returns the number of historical data including null ones
bool empty () const
 returns whether the series contains any data
Historical data access
T operator[] (const Date &d) const
 returns the (possibly null) datum corresponding to the given date
T & operator[] (const Date &d)
Utilities
const_iterator find (const Date &)
std::vector< Date > dates () const
 returns the dates for which historical data exist
std::vector< T > values () const
 returns the historical data

Iterators

typedef Container::const_iterator const_iterator
typedef
const_iterator::iterator_category 
iterator_category
typedef boost::mpl::if_
< boost::mpl::or_
< boost::is_same
< iterator_category,
std::bidirectional_iterator_tag >
, boost::is_base_of
< std::bidirectional_iterator_tag,
iterator_category >
>, std::bidirectional_iterator_tag,
std::input_iterator_tag >
::type 
enable_reverse
typedef reverse< Container,
enable_reverse >
::const_reverse_iterator 
const_reverse_iterator
const_iterator cbegin () const
const_iterator cend () const
const_iterator begin () const
const_iterator end () const
const_reverse_iterator crbegin () const
const_reverse_iterator crend () const
const_reverse_iterator rbegin () const
const_reverse_iterator rend () const

Projection iterators

typedef
boost::transform_iterator
< projection_time,
const_iterator > 
const_time_iterator
typedef
boost::transform_iterator
< projection_value,
const_iterator > 
const_value_iterator
typedef
boost::transform_iterator
< projection_time,
const_reverse_iterator > 
const_reverse_time_iterator
typedef
boost::transform_iterator
< projection_value,
const_reverse_iterator > 
const_reverse_value_iterator
const_value_iterator cbegin_values () const
const_value_iterator cend_values () const
const_reverse_value_iterator crbegin_values () const
const_reverse_value_iterator crend_values () const
const_time_iterator cbegin_time () const
const_time_iterator cend_time () const
const_reverse_time_iterator crbegin_time () const
const_reverse_time_iterator crend_time () const

Detailed Description

template<class T, class Container = std::map<Date, T>>
class QuantLib::TimeSeries< T, Container >

Container for historical data.

This class acts as a generic repository for a set of historical data. Any single datum can be accessed through its date, while sets of consecutive data can be accessed through iterators.

Precondition:
The Container type must satisfy the requirements set by the C++ standard for associative containers.

Constructor & Destructor Documentation

Default constructor

TimeSeries ( DateIterator  dBegin,
DateIterator  dEnd,
ValueIterator  vBegin 
)

This constructor initializes the history with a set of values passed as two sequences, the first containing dates and the second containing corresponding values.

TimeSeries ( const Date &  firstDate,
ValueIterator  begin,
ValueIterator  end 
)

This constructor initializes the history with a set of values. Such values are assigned to a corresponding number of consecutive dates starting from firstDate included.