Circus 0.0.1-alpha
C++ Serialization Framework
Loading...
Searching...
No Matches
circus_error.hpp File Reference

Defines error handling utilities for the Circus parser, including error types, exceptions, and reporting. More...

#include <iostream>
#include <stack>
#include <unordered_map>
#include "circus_traits.hpp"
#include "utils/enum_flag.hpp"

Go to the source code of this file.

Classes

class  circus::error::parser_error
 Exception class for parser errors, holding an error type flag and a message. More...
class  circus::error::parser_reporter
 Aggregates and manages parser error messages with support for logging and flushing. More...

Macros

#define ERROR_TYPE(NAME)
 Enumeration of Circus parser error types.
#define ERROR_TYPEs    ERROR_TYPE(SYNTAX)
#define ERROR_TYPE(NAME)
 Enumeration of Circus parser error types.

Enumerations

enum  CIRCUS_ERROR_TYPES : std::uint64_t { ERROR_TYPEs }

Functions

template<typename E>
requires std::is_enum_v<E>
constexpr E circus::error::operator| (E lhs, E rhs)
 Bitwise OR operator for enum error types.
template<typename E>
requires std::is_enum_v<E>
constexpr E circus::error::operator& (E lhs, E rhs)
 Bitwise AND operator for enum error types.
template<typename E>
requires std::is_enum_v<E>
constexpr E circus::error::operator~ (E val)
 Bitwise NOT operator for enum error types.

Variables

const char * circus::error::REFLECTED_ERROR_MAP []

Detailed Description

Defines error handling utilities for the Circus parser, including error types, exceptions, and reporting.