ITCHCPP 1.6.0
High-Performance NASDAQ TotalView-ITCH 5.0 Parser & Market-Data Platform
Loading...
Searching...
No Matches
parser.hpp File Reference

Public parsing interface for NASDAQ TotalView-ITCH 5.0 feeds, plus the low-level byte-unpacking utilities that back it. More...

#include <algorithm>
#include <array>
#include <bit>
#include <concepts>
#include <cstddef>
#include <cstdint>
#include <functional>
#include <istream>
#include <optional>
#include <span>
#include <vector>
#include <version>
#include "itch/messages.hpp"
+ Include dependency graph for parser.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  itch::Parser
 A high-performance parser for the NASDAQ TotalView-ITCH 5.0 protocol. More...
 

Namespaces

namespace  itch
 
namespace  itch::utils
 

Typedefs

using itch::MessageCallback = std::function< void(const Message &)>
 The signature for the callback function used in streaming parse methods.
 
using itch::ErrorCallback = std::function< void(ParseError, char)>
 The signature for the optional diagnostics callback.
 

Enumerations

enum class  itch::ParseError { itch::truncated , itch::unknown_type , itch::size_mismatch }
 Categories of recoverable problems encountered while framing a feed. More...
 

Detailed Description

Public parsing interface for NASDAQ TotalView-ITCH 5.0 feeds, plus the low-level byte-unpacking utilities that back it.

Parser frames and decodes a raw ITCH byte stream into the Message variant defined in itch/messages.hpp, offering both throwing and non-throwing (std::expected-based) entry points over buffers, spans, and streams. The itch::utils helpers underneath handle endianness conversion and fixed-width field extraction, and are also reused by the encoder.

Author
Bertin Balouki SIMYELI

Definition in file parser.hpp.