TimeSeries< T, Container > Class Template Reference
Container for historical data. More...
#include <ql/timeseries.hpp>
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
TimeSeries | ( | ) |
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.