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
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< Datedates () 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.