14 #ifndef TSA_TABLE__INCLUDED 15 #define TSA_TABLE__INCLUDED 17 #include "TSAStreams.h" 18 #include "TSADatabase.h" 19 #include "TSADBRecord.h" 50 table_imp_ref m_table_imp;
53 void prepare_current_record_update(
void);
54 size_t m_append_rec_pos;
55 void verify_init(
void)
const;
63 table(
const table_imp_ref&);
64 void operator= (
const table_imp_ref&);
66 virtual void osa__append(
const date_time&, std::vector<variant>&)
override;
68 virtual void cmp__finalize(
void)
override;
84 bool is_init(
void)
const;
106 const std::string& column_name(
size_t position)
const;
113 size_t column_number(
const std::string& column_name)
const;
120 virtual size_t column_count(
void)
const;
127 type_t column_type(
size_t position)
const;
134 size_t column_field_length(
size_t column_position)
const;
169 void operator= (
const iterator& other);
181 db_record* operator-> (
void);
189 void operator++ (
int);
207 const variant operator[](
size_t position)
const;
221 bool operator!= (
const iterator& rhs)
const;
223 void table::iterator::verify_not_end(
void)
const;
244 iterator seek(
size_t record_position);
268 virtual class record record(void);
285 size_t size(
void)
const;
291 bool empty(
void)
const;
297 const date_time& first_timestamp(
void)
const;
303 const date_time& last_timestamp(
void)
const;
323 void read(
class record& rec)
const;
335 void truncate(
size_t new_size);
342 void truncate(
const date_time& new_highest_timestamp);
347 void deregister_iterator(
iterator*);
348 bool cursor_next(
void);
349 bool cursor_seek_first(
void);
350 const variant cursor_at(
size_t index);
352 bool cursor_seek(
size_t index);
353 bool cursor_seek_last(
void);
354 void cursor_update(
void);
355 void cursor_set_at(
size_t index,
const variant& value);
365 bool cursor_seek(
const date_time& timestamp);
367 void Read(
date_time& timestamp, std::vector<variant>& record)
const;
368 const variant operator[](
size_t fieldIndex);
372 void update(std::vector<variant>& record);
373 void append(
const date_time& timestamp,
const std::vector<variant>& record,
378 void Read(std::vector<variant>& record)
const;
380 size_t m_float_precision;
381 size_t m_print_limit;
382 bool m_print_timestamp;
389 void print_timestamp(
bool _b);
392 void print_fp_precision(
size_t _n);
395 void print_limit(
size_t _n);
402 void print(std::ostream& stream);
407 void printv(std::ostream& stream);
414 void csv(std::ostream&);
419 void column_multiply(
const std::string& column,
double number);
422 void column_divide(
const std::string& column,
double number);
425 void column_add(
const std::string& column,
double number);
428 void column_cap(
const std::string& column,
double number);
431 void column_floor(
const std::string& column,
double number);
434 bool column_contains_undefined(
const std::string& column);
437 bool table_contains_undefined(
void);
441 double column_average(
const std::string& column_name,
bool raiseNIL =
false);
445 double column_max(
const std::string& column_name,
bool raiseNIL =
false);
449 double column_min(
const std::string& column_name,
bool raiseNIL =
false);
451 void UpdateAllValuesInColumn(
const std::string& _columnName,
452 double _transformValue,
double (
table::*_func)(
double value,
double by));
453 double _Multiply(
double value,
double by);
454 double _Divide(
double value,
double by);
455 double _Add(
double value,
double by);
456 double _Cap(
double value,
double at);
457 double _Floor(
double value,
double at);
458 bool _TypeIsNumeric(
type_t type);
459 double _ApplyValues(_MetricCalc& calc,
const std::string& _columnName,
bool _raiseNIL);
append_flag_type
Values that represent append flag types.
Definition: TSADBRecord.h:32
Utility class to manipulate file system paths. This class is intended to fulfil the requirements of t...
Definition: TSAOS.h:36
Throw an exception when a duplicate timestamp is encountered. This is normally the default behaviour...
Definition: TSADBRecord.h:36
Namespace for the 'Trading System API' library.
Definition: original1.TSA3Core.cpp:20
Class for managing native timeseries database files. Extremely high speed data access.
Definition: TSADatabase.h:118
sref< double > operator*(numeric_series_cref a, numeric_series_cref b)
Multiplies a by b.
Definition: TSADSLBase.cpp:42
Defines the columnar structure of a table. Each column has a name, data type and field size...
Definition: TSADataDef.h:88
Abstract base class for delegates of class out_stream.
Definition: TSAStreams.h:553
variant objects can represent values of different types.
Definition: TSAVariant.h:140
_value_types_type
Data type enumeration used throughout the library. Intended to be used via type_t.
Definition: TSATypeDef.h:166
Table iterator. Supports forward iteration only.
Definition: TSADBTable.h:151
Parent class for many library classes.
Definition: TSATypeDef.h:462
A date of the Gregorian calendar.
Definition: TSATime.h:119
sref< bool > operator==(numeric_series_cref a, numeric_series_cref b)
comparison.
Definition: TSADSLBase.cpp:130
Class representing a database record.
Definition: TSADBRecord.h:52
Represents a database table in fast::database.
Definition: TSADBTable.h:41
Class representing a gregorian-date and time-of-day combination. The time component has microsecond r...
Definition: TSATime.h:428
Represents an object to which a record object can be appended.
Definition: TSADBRecord.h:140