High Frequency FIX Parser
C++ library for high frequency messaging with the Financial Information Exchange (FIX) protocol.
Classes | Namespaces | Functions
hffix.hpp File Reference

The High Frequency FIX Parser Library. Repository at http://github.com/jamesdbrock/hffix. More...

Go to the source code of this file.

Classes

class  hffix::message_writer
 One FIX message for writing. More...
 
class  hffix::field_value
 FIX field value for hffix::message_reader. More...
 
class  hffix::field
 A FIX field for hffix::message_reader, with tag and hffix::field_value. More...
 
class  hffix::message_reader_const_iterator
 The iterator type for hffix::message_reader. Typedef'd as hffix::message_reader::const_iterator. More...
 
struct  hffix::tag_equal
 A predicate constructed with a FIX tag which returns true if the tag of the hffix::field passed to the predicate is equal. More...
 
class  hffix::message_reader
 One FIX message for reading. More...
 

Namespaces

namespace  hffix
 Namespace for all types and functions of High Frequency FIX Parser.
 

Functions

void hffix::details::throw_range_error ()
 
template<std::size_t N>
std::ptrdiff_t hffix::details::len (char const (&)[N])
 
template<typename Int_type >
Int_type hffix::details::atoi (char const *begin, char const *end)
 
template<typename Uint_type >
Uint_type hffix::details::atou (char const *begin, char const *end)
 
template<typename Int_type >
char * hffix::details::itoa (Int_type number, char *buffer, char *end)
 
template<typename Uint_type >
char * hffix::details::utoa (Uint_type number, char *buffer, char *end)
 
template<typename Int_type >
void hffix::details::atod (char const *begin, char const *end, Int_type &mantissa, Int_type &exponent)
 
template<typename Int_type >
char * hffix::details::dtoa (Int_type mantissa, Int_type exponent, char *buffer, char *end)
 
bool hffix::details::atodate (char const *begin, char const *end, int &year, int &month, int &day)
 
bool hffix::details::atotime (char const *begin, char const *end, int &hour, int &minute, int &second, int &millisecond)
 
bool hffix::details::atotime_nano (char const *begin, char const *end, int &hour, int &minute, int &second, int &nanosecond)
 
template<typename TimePoint >
std::enable_if< details::is_time_point< TimePoint >::value, bool >::type hffix::details::atotimepoint (char const *begin, char const *end, TimePoint &tp)
 
template<typename TimePoint >
std::enable_if< details::is_time_point< TimePoint >::value, bool >::type hffix::details::atotimepoint_nano (char const *begin, char const *end, TimePoint &tp)
 
template<typename TimePoint >
std::enable_if< details::is_time_point< TimePoint >::value, void >::type hffix::details::timepointtoparts (TimePoint tp, int &year, int &month, int &day, int &hour, int &minute, int &second, int &millisecond) noexcept
 
template<typename TimePoint >
std::enable_if< details::is_time_point< TimePoint >::value, void >::type hffix::details::timepointtoparts_nano (TimePoint tp, int &year, int &month, int &day, int &hour, int &minute, int &second, int &nanosecond) noexcept
 
template<typename ForwardIterator , typename UnaryPredicate >
bool hffix::find_with_hint (ForwardIterator begin, ForwardIterator end, UnaryPredicate predicate, ForwardIterator &i)
 An algorithm similar to std::find_if for forward-searching over a range and finding items which match a predicate.
 
bool hffix::details::is_tag_a_data_length (int tag)
 
template<typename AssociativeContainer >
details::field_name_streamer< AssociativeContainer > hffix::field_name (int tag, AssociativeContainer const &field_dictionary, bool or_number=true)
 Given a field tag number and a field name dictionary, returns a type which provides operator<< to write the name of the field to an std::ostream.
 

Detailed Description

The High Frequency FIX Parser Library. Repository at http://github.com/jamesdbrock/hffix.

Definition in file hffix.hpp.

Function Documentation

◆ atod()

template<typename Int_type >
void hffix::details::atod ( char const *  begin,
char const *  end,
Int_type &  mantissa,
Int_type &  exponent 
)

Definition at line 210 of file hffix.hpp.

◆ atodate()

bool hffix::details::atodate ( char const *  begin,
char const *  end,
int &  year,
int &  month,
int &  day 
)
inline

Definition at line 295 of file hffix.hpp.

◆ atoi()

template<typename Int_type >
Int_type hffix::details::atoi ( char const *  begin,
char const *  end 
)

Definition at line 88 of file hffix.hpp.

◆ atotime()

bool hffix::details::atotime ( char const *  begin,
char const *  end,
int &  hour,
int &  minute,
int &  second,
int &  millisecond 
)
inline

Definition at line 326 of file hffix.hpp.

◆ atotime_nano()

bool hffix::details::atotime_nano ( char const *  begin,
char const *  end,
int &  hour,
int &  minute,
int &  second,
int &  nanosecond 
)
inline

Definition at line 361 of file hffix.hpp.

◆ atotimepoint()

template<typename TimePoint >
std::enable_if< details::is_time_point< TimePoint >::value, bool >::type hffix::details::atotimepoint ( char const *  begin,
char const *  end,
TimePoint &  tp 
)
inline

Definition at line 411 of file hffix.hpp.

◆ atotimepoint_nano()

template<typename TimePoint >
std::enable_if< details::is_time_point< TimePoint >::value, bool >::type hffix::details::atotimepoint_nano ( char const *  begin,
char const *  end,
TimePoint &  tp 
)
inline

Definition at line 454 of file hffix.hpp.

◆ atou()

template<typename Uint_type >
Uint_type hffix::details::atou ( char const *  begin,
char const *  end 
)

Definition at line 117 of file hffix.hpp.

◆ dtoa()

template<typename Int_type >
char * hffix::details::dtoa ( Int_type  mantissa,
Int_type  exponent,
char *  buffer,
char *  end 
)

Definition at line 251 of file hffix.hpp.

◆ is_tag_a_data_length()

bool hffix::details::is_tag_a_data_length ( int  tag)
inline

Definition at line 2928 of file hffix.hpp.

◆ itoa()

template<typename Int_type >
char * hffix::details::itoa ( Int_type  number,
char *  buffer,
char *  end 
)

Definition at line 141 of file hffix.hpp.

◆ len()

template<std::size_t N>
std::ptrdiff_t hffix::details::len ( char   const(&)[N])

Definition at line 76 of file hffix.hpp.

◆ throw_range_error()

void hffix::details::throw_range_error ( )
inline

Definition at line 71 of file hffix.hpp.

◆ timepointtoparts()

template<typename TimePoint >
std::enable_if< details::is_time_point< TimePoint >::value, void >::type hffix::details::timepointtoparts ( TimePoint  tp,
int &  year,
int &  month,
int &  day,
int &  hour,
int &  minute,
int &  second,
int &  millisecond 
)
inlinenoexcept

Definition at line 501 of file hffix.hpp.

◆ timepointtoparts_nano()

template<typename TimePoint >
std::enable_if< details::is_time_point< TimePoint >::value, void >::type hffix::details::timepointtoparts_nano ( TimePoint  tp,
int &  year,
int &  month,
int &  day,
int &  hour,
int &  minute,
int &  second,
int &  nanosecond 
)
inlinenoexcept

Definition at line 548 of file hffix.hpp.

◆ utoa()

template<typename Uint_type >
char * hffix::details::utoa ( Uint_type  number,
char *  buffer,
char *  end 
)

Definition at line 180 of file hffix.hpp.