fix8  version 1.4.0
Open Source C++ FIX Framework
FIX8::Field< UTCTimestamp, field > Class Template Reference

Partial specialisation for UTCTimestamp field type. More...

#include <field.hpp>

Inheritance diagram for FIX8::Field< UTCTimestamp, field >:
FIX8::BaseField

Public Member Functions

FieldTrait::FieldType get_underlying_type () const
 The FieldType. More...
 
 Field ()
 Ctor. More...
 
 Field (const Field &from)
 
 Field (const Tickval &val, const RealmBase *rlm=nullptr)
 
 Field (const f8String &from, const RealmBase *rlm=nullptr)
 
 Field (const char *from, const RealmBase *rlm=nullptr)
 
 Field (const tm &from, const RealmBase *rlm=nullptr)
 
 ~Field ()
 Dtor. More...
 
Fieldoperator= (const Field &that)
 Assignment operator. More...
 
bool operator== (const BaseField &that) const
 Equivalence operator. More...
 
bool operator< (const BaseField &that) const
 Less than operator. More...
 
bool operator> (const BaseField &that) const
 Greater than operator. More...
 
const Tickvalget () const
 
const Tickvaloperator() () const
 
void set (const Tickval &from)
 
Fieldcopy ()
 
std::ostream & print (std::ostream &os) const
 
size_t print (char *to) const
 
- Public Member Functions inherited from FIX8::BaseField
 BaseField (unsigned short fnum, const RealmBase *rlm=nullptr)
 
virtual ~BaseField ()
 Dtor. More...
 
unsigned short get_tag () const
 
virtual int get_rlm_idx () const
 
template<typename T >
T & from ()
 
template<typename T >
const T * as () const
 
size_t encode (std::ostream &os) const
 
size_t encode (char *to) const
 
bool same_base (const BaseField &that) const
 BaseField Equivalence test. More...
 
bool operator!= (const BaseField &that) const
 Inequivalence operator. More...
 
bool operator<= (const BaseField &that) const
 Less or equal to operator. More...
 
bool operator>= (const BaseField &that) const
 Greater or equal to operator. More...
 
const RealmBaseget_realm () const
 

Static Public Member Functions

static unsigned short get_field_id ()
 Get the FIX fieldID (tag number). More...
 

Private Attributes

Tickval _value
 

Static Private Attributes

static const FieldTrait::FieldType _ftype = FieldTrait::ft_string
 

Additional Inherited Members

- Protected Attributes inherited from FIX8::BaseField
const RealmBase_rlm
 

Detailed Description

template<unsigned short field>
class FIX8::Field< UTCTimestamp, field >

Partial specialisation for UTCTimestamp field type.

Template Parameters
fieldfield number (fix tag)

Definition at line 1033 of file field.hpp.

Constructor & Destructor Documentation

template<unsigned short field>
FIX8::Field< UTCTimestamp, field >::Field ( )
inline

Ctor.

Definition at line 1046 of file field.hpp.

1046 : BaseField(field), _value(true) {}
BaseField(unsigned short fnum, const RealmBase *rlm=nullptr)
Definition: field.hpp:138
template<unsigned short field>
FIX8::Field< UTCTimestamp, field >::Field ( const Field< UTCTimestamp, field > &  from)
inline

Copy Ctor.

Parameters
fromfield to copy

Definition at line 1050 of file field.hpp.

1050 : BaseField(field), _value(from._value) {}
BaseField(unsigned short fnum, const RealmBase *rlm=nullptr)
Definition: field.hpp:138
template<unsigned short field>
FIX8::Field< UTCTimestamp, field >::Field ( const Tickval val,
const RealmBase rlm = nullptr 
)
inline

Value ctor.

Parameters
valvalue to set
rlmpointer to the realmbase for this field (if available)

Definition at line 1055 of file field.hpp.

1055 : BaseField(field, rlm), _value(val) {}
BaseField(unsigned short fnum, const RealmBase *rlm=nullptr)
Definition: field.hpp:138
template<unsigned short field>
FIX8::Field< UTCTimestamp, field >::Field ( const f8String from,
const RealmBase rlm = nullptr 
)
inline

Construct from string ctor.

Parameters
fromstring to construct field from
rlmpointer to the realmbase for this field (if available)

Definition at line 1060 of file field.hpp.

1060 : BaseField(field), _value(date_time_parse(from.data(), from.size())) {}
BaseField(unsigned short fnum, const RealmBase *rlm=nullptr)
Definition: field.hpp:138
Tickval::ticks date_time_parse(const char *ptr, size_t len)
Definition: field.hpp:938
template<unsigned short field>
FIX8::Field< UTCTimestamp, field >::Field ( const char *  from,
const RealmBase rlm = nullptr 
)
inline

Construct from char * ctor.

Parameters
fromchar * to construct field from
rlmpointer to the realmbase for this field (if available)

Definition at line 1065 of file field.hpp.

1065 : BaseField(field), _value(date_time_parse(from, from ? ::strlen(from) : 0)) {}
BaseField(unsigned short fnum, const RealmBase *rlm=nullptr)
Definition: field.hpp:138
Tickval::ticks date_time_parse(const char *ptr, size_t len)
Definition: field.hpp:938
template<unsigned short field>
FIX8::Field< UTCTimestamp, field >::Field ( const tm &  from,
const RealmBase rlm = nullptr 
)
inline

Construct from tm struct

Parameters
fromstring to construct field from
rlmtm struct with broken out values

Definition at line 1070 of file field.hpp.

BaseField(unsigned short fnum, const RealmBase *rlm=nullptr)
Definition: field.hpp:138
static const ticks billion
Definition: tickval.hpp:77
time_t time_to_epoch(const tm &ltm, int utcdiff=0)
Definition: field.hpp:858
template<unsigned short field>
FIX8::Field< UTCTimestamp, field >::~Field ( )
inline

Dtor.

Definition at line 1073 of file field.hpp.

1073 {}

Member Function Documentation

template<unsigned short field>
Field* FIX8::Field< UTCTimestamp, field >::copy ( )
inlinevirtual

Copy (clone) this field.

Returns
copy of field

Implements FIX8::BaseField.

Definition at line 1117 of file field.hpp.

References FIX8::Field< T, field >::Field().

1117 { return new Field(*this); }
template<unsigned short field>
const Tickval& FIX8::Field< UTCTimestamp, field >::get ( ) const
inline

Get field value.

Returns
value Tickval&

Definition at line 1105 of file field.hpp.

1105 { return _value; }
template<unsigned short field>
static unsigned short FIX8::Field< UTCTimestamp, field >::get_field_id ( )
inlinestatic

Get the FIX fieldID (tag number).

Definition at line 1040 of file field.hpp.

1040 { return field; }
template<unsigned short field>
FieldTrait::FieldType FIX8::Field< UTCTimestamp, field >::get_underlying_type ( ) const
inlinevirtual

The FieldType.

Implements FIX8::BaseField.

Definition at line 1043 of file field.hpp.

1043 { return _ftype; }
static const FieldTrait::FieldType _ftype
Definition: field.hpp:1036
template<unsigned short field>
const Tickval& FIX8::Field< UTCTimestamp, field >::operator() ( ) const
inline

Get field value.

Returns
value Tickval&

Definition at line 1109 of file field.hpp.

1109 { return _value; }
template<unsigned short field>
bool FIX8::Field< UTCTimestamp, field >::operator< ( const BaseField< UTCTimestamp, field > &  that) const
inlinevirtual

Less than operator.

Parameters
thatfield to compare
Returns
true if less than

Implements FIX8::BaseField.

Definition at line 1094 of file field.hpp.

References FIX8::BaseField::same_base().

1095  { return same_base(that) && _value < static_cast<const Field<UTCTimestamp, field>&>(that)._value; }
bool same_base(const BaseField &that) const
BaseField Equivalence test.
Definition: field.hpp:207
template<unsigned short field>
Field& FIX8::Field< UTCTimestamp, field >::operator= ( const Field< UTCTimestamp, field > &  that)
inline

Assignment operator.

Parameters
thatfield to assign from
Returns
field

Definition at line 1078 of file field.hpp.

1079  {
1080  if (this != &that)
1081  _value = that._value;
1082  return *this;
1083  }
f8_time_point _value
Definition: tickval.hpp:85
template<unsigned short field>
bool FIX8::Field< UTCTimestamp, field >::operator== ( const BaseField< UTCTimestamp, field > &  that) const
inlinevirtual

Equivalence operator.

Parameters
thatfield to compare
Returns
true if same

Implements FIX8::BaseField.

Definition at line 1088 of file field.hpp.

References FIX8::BaseField::same_base().

1089  { return same_base(that) && static_cast<const Field<UTCTimestamp, field>&>(that)._value == _value; }
bool same_base(const BaseField &that) const
BaseField Equivalence test.
Definition: field.hpp:207
template<unsigned short field>
bool FIX8::Field< UTCTimestamp, field >::operator> ( const BaseField< UTCTimestamp, field > &  that) const
inlinevirtual

Greater than operator.

Parameters
thatfield to compare
Returns
true if greater than

Implements FIX8::BaseField.

Definition at line 1100 of file field.hpp.

References FIX8::BaseField::same_base().

1101  { return same_base(that) && _value > static_cast<const Field<UTCTimestamp, field>&>(that)._value; }
bool same_base(const BaseField &that) const
BaseField Equivalence test.
Definition: field.hpp:207
template<unsigned short field>
std::ostream& FIX8::Field< UTCTimestamp, field >::print ( std::ostream &  os) const
inlinevirtual

Print this field to the supplied stream. Used to format for FIX output.

Parameters
osstream to insert to
Returns
stream

Implements FIX8::BaseField.

Definition at line 1122 of file field.hpp.

References FIX8::MAX_MSGTYPE_FIELD_LEN(), and FIX8::BaseField::print().

1123  {
1124  char buf[MAX_MSGTYPE_FIELD_LEN] {};
1125  print(buf);
1126  return os << buf;
1127  }
const size_t MAX_MSGTYPE_FIELD_LEN(32)
std::ostream & print(std::ostream &os) const
Definition: field.hpp:1122
template<unsigned short field>
size_t FIX8::Field< UTCTimestamp, field >::print ( char *  to) const
inlinevirtual

Print this field to the supplied buffer.

Parameters
tobuffer to print to
Returns
number bytes encoded

Implements FIX8::BaseField.

Definition at line 1132 of file field.hpp.

References FIX8::_with_ms, and FIX8::date_time_format().

1132 { return date_time_format(_value, to, _with_ms); }
size_t date_time_format(const Tickval &tickval, char *to, TimeIndicator ind)
Definition: field.hpp:895
template<unsigned short field>
void FIX8::Field< UTCTimestamp, field >::set ( const Tickval from)
inline

Set field to the supplied value.

Parameters
fromvalue to set

Definition at line 1113 of file field.hpp.

References FIX8::BaseField::from().

Member Data Documentation

template<unsigned short field>
const FieldTrait::FieldType FIX8::Field< UTCTimestamp, field >::_ftype = FieldTrait::ft_string
staticprivate

Definition at line 1036 of file field.hpp.

template<unsigned short field>
Tickval FIX8::Field< UTCTimestamp, field >::_value
private

Definition at line 1035 of file field.hpp.


The documentation for this class was generated from the following file: