# parser.h File Reference

## Detailed Description

Virtual parser wrapper.

Definition in file parser.h.

`#include "dll.h"`
`#include "data.h"`
`#include "protocol.h"`
`#include <stdint.h>`
`#include <iosfwd>`
`#include <map>`

Include dependency graph for parser.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Namespaces

namespace | Barry

## Classes

class | Barry::Parser
| Base class for the parser hierarchy. More...
class | Barry::NullParser
| If in debug mode, this class can be used as a null parser. More...
class | Barry::HexDumpParser
| Dumps raw hex of the given DBData to the given stream. More...
class | Barry::RecordParserBase
| Abstract base class for the following RecordParser template, that exposes some information on the specifics that the record parser can handle. More...
class | Barry::NullStore< RecordT >
| A Storage class for RecordParser<> that does nothing, for the cases where you only want to dump parsed record data to a stream. More...
class | Barry::DumpStore< RecordT >
| A Storage class for RecordParser<> that dumps the parsed record data to the given stream. More...
class | Barry::RecordParser< RecordT, StorageT >
| Template class for easy creation of specific parser objects. More...
class | Barry::AllRecordStore
| Base class with overloaded functor behaviour for all available record classes. More...
class | Barry::MultiRecordParser
| Container parser class that accepts multiple Parser objects (often RecordParser<> objects but they don't have to be) and automatically routes incoming records to the appropriate parser. More...
class | Barry::AllRecordDumpStore
| Derived from AllRecordStore, which just calls each record's Dump() member with the given stream. More...
class | Barry::AllRecordParser
| Convenience parser that creates a MultiRecordParser with all known record parsers added. More...
class | Barry::TeeParser
| Sends incoming DBData objects to all the parsers in its list. More...

## Functions

template<class RecordT>
void | Barry::ParseDBData (const DBData &data, RecordT &rec, const IConverter *ic)
| Contains the proper way to convert a DBData object into a record.