| Kea 3.0.2-git

isc::eval::EvalParser::basic_symbol< Base > Struct Template Reference

A complete symbol. More...

`#include <parser.h>`

Inheritance diagram for isc::eval::EvalParser::basic_symbol< Base >:
[legend]

## Public Types
typedef Base | super_type
| Alias to Base.

## Public Member Functions
| basic_symbol () YY_NOEXCEPT
| Default constructor.
| basic_symbol (const basic_symbol &that)
| Copy constructor.
| basic_symbol (typename Base::kind_type t, const int8_t &v, const location_type &l)
| basic_symbol (typename Base::kind_type t, const location_type &l)
| Constructors for typed symbols.
| basic_symbol (typename Base::kind_type t, const std::string &v, const location_type &l)
| basic_symbol (typename Base::kind_type t, const TokenOption::RepresentationType &v, const location_type &l)
| basic_symbol (typename Base::kind_type t, const TokenPkt4::FieldType &v, const location_type &l)
| basic_symbol (typename Base::kind_type t, const TokenPkt6::FieldType &v, const location_type &l)
| basic_symbol (typename Base::kind_type t, const TokenPkt::MetadataType &v, const location_type &l)
| basic_symbol (typename Base::kind_type t, const TokenRelay6Field::FieldType &v, const location_type &l)
| basic_symbol (typename Base::kind_type t, const uint16_t &v, const location_type &l)
| basic_symbol (typename Base::kind_type t, const uint32_t &v, const location_type &l)
| ~basic_symbol ()
| Destroy the symbol.
void | clear () YY_NOEXCEPT
| Destroy contents, and record that is empty.
bool | empty () const YY_NOEXCEPT
| Whether empty.
void | move (basic_symbol &s)
| Destructive move, s is emptied into this.
std::string | name () const YY_NOEXCEPT
| The user-facing name of this symbol.
symbol_kind_type | type_get () const YY_NOEXCEPT
| Backward compatibility (Bison 3.6).

## Public Attributes
location_type | location
| The location.
value_type | value
| The semantic value.

## Detailed Description

template<typename Base>
struct isc::eval::EvalParser::basic_symbol< Base >

A complete symbol.

Expects its Base type to provide access to the symbol kind via kind ().

Provide access to semantic value and location.

Definition at line 704 of file parser.h.

## Member Typedef Documentation

## ◆ super_type

template<typename Base>

typedef Base isc::eval::EvalParser::basic_symbol< Base >::super_type

Alias to Base.

Definition at line 707 of file parser.h.

## Constructor & Destructor Documentation

## ◆ basic_symbol() [1/12]

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::basic_symbol | ( |  | ) |
| inline

Default constructor.

Definition at line 710 of file parser.h.

Referenced by basic_symbol(), and move().

## ◆ basic_symbol() [2/12]

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::basic_symbol | ( | const basic_symbol< Base > & | that | ) |

Copy constructor.

Definition at line 2590 of file parser.h.

References basic_symbol(), location, isc::eval::EvalParser::symbol_kind::S_enterprise_id, isc::eval::EvalParser::symbol_kind::S_HEXSTRING, isc::eval::EvalParser::symbol_kind::S_INTEGER, isc::eval::EvalParser::symbol_kind::S_integer_expr, isc::eval::EvalParser::symbol_kind::S_IP_ADDRESS, isc::eval::EvalParser::symbol_kind::S_nest_level, isc::eval::EvalParser::symbol_kind::S_option_code, isc::eval::EvalParser::symbol_kind::S_OPTION_NAME, isc::eval::EvalParser::symbol_kind::S_option_repr_type, isc::eval::EvalParser::symbol_kind::S_pkt4_field, isc::eval::EvalParser::symbol_kind::S_pkt6_field, isc::eval::EvalParser::symbol_kind::S_pkt_metadata, isc::eval::EvalParser::symbol_kind::S_relay6_field, isc::eval::EvalParser::symbol_kind::S_STRING, isc::eval::EvalParser::symbol_kind::S_sub_option_code, value, and YY_MOVE.

Here is the call graph for this function:

## ◆ basic_symbol() [3/12]

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t,
|  | const location_type & | l )
| inline

Constructors for typed symbols.

Definition at line 783 of file parser.h.

## ◆ basic_symbol() [4/12]

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t,
|  | const TokenOption::RepresentationType & | v,
|  | const location_type & | l )
| inline

Definition at line 796 of file parser.h.

## ◆ basic_symbol() [5/12]

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t,
|  | const TokenPkt4::FieldType & | v,
|  | const location_type & | l )
| inline

Definition at line 810 of file parser.h.

## ◆ basic_symbol() [6/12]

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t,
|  | const TokenPkt6::FieldType & | v,
|  | const location_type & | l )
| inline

Definition at line 824 of file parser.h.

## ◆ basic_symbol() [7/12]

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t,
|  | const TokenPkt::MetadataType & | v,
|  | const location_type & | l )
| inline

Definition at line 838 of file parser.h.

## ◆ basic_symbol() [8/12]

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t,
|  | const TokenRelay6Field::FieldType & | v,
|  | const location_type & | l )
| inline

Definition at line 852 of file parser.h.

## ◆ basic_symbol() [9/12]

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t,
|  | const int8_t & | v,
|  | const location_type & | l )
| inline

Definition at line 866 of file parser.h.

## ◆ basic_symbol() [10/12]

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t,
|  | const std::string & | v,
|  | const location_type & | l )
| inline

Definition at line 880 of file parser.h.

## ◆ basic_symbol() [11/12]

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t,
|  | const uint16_t & | v,
|  | const location_type & | l )
| inline

Definition at line 894 of file parser.h.

## ◆ basic_symbol() [12/12]

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t,
|  | const uint32_t & | v,
|  | const location_type & | l )
| inline

Definition at line 908 of file parser.h.

## ◆ ~basic_symbol()

template<typename Base>

isc::eval::EvalParser::basic_symbol< Base >::~basic_symbol | ( |  | ) |
| inline

Destroy the symbol.

Definition at line 916 of file parser.h.

## Member Function Documentation

## ◆ clear()

template<typename Base>

void isc::eval::EvalParser::basic_symbol< Base >::clear | ( |  | ) |
| inline

Destroy contents, and record that is empty.

Definition at line 924 of file parser.h.

Referenced by isc::eval::EvalParser::parse().

## ◆ empty()

template<typename Base>

bool isc::eval::EvalParser::basic_symbol< Base >::empty | ( |  | ) | const

Whether empty.

Definition at line 2658 of file parser.h.

References isc::eval::EvalParser::symbol_kind::S_YYEMPTY, and YY_NOEXCEPT.

Referenced by isc::eval::EvalParser::parse().

## ◆ move()

template<typename Base>

void isc::eval::EvalParser::basic_symbol< Base >::move | ( | basic_symbol< Base > & | s | ) |

Destructive move, s is emptied into this.

Definition at line 2665 of file parser.h.

References basic_symbol(), location, isc::eval::EvalParser::symbol_kind::S_enterprise_id, isc::eval::EvalParser::symbol_kind::S_HEXSTRING, isc::eval::EvalParser::symbol_kind::S_INTEGER, isc::eval::EvalParser::symbol_kind::S_integer_expr, isc::eval::EvalParser::symbol_kind::S_IP_ADDRESS, isc::eval::EvalParser::symbol_kind::S_nest_level, isc::eval::EvalParser::symbol_kind::S_option_code, isc::eval::EvalParser::symbol_kind::S_OPTION_NAME, isc::eval::EvalParser::symbol_kind::S_option_repr_type, isc::eval::EvalParser::symbol_kind::S_pkt4_field, isc::eval::EvalParser::symbol_kind::S_pkt6_field, isc::eval::EvalParser::symbol_kind::S_pkt_metadata, isc::eval::EvalParser::symbol_kind::S_relay6_field, isc::eval::EvalParser::symbol_kind::S_STRING, isc::eval::EvalParser::symbol_kind::S_sub_option_code, value, and YY_MOVE.

Referenced by isc::eval::EvalParser::parse().

Here is the call graph for this function:

## ◆ name()

template<typename Base>

std::string isc::eval::EvalParser::basic_symbol< Base >::name | ( |  | ) | const
| inline

The user-facing name of this symbol.

Definition at line 989 of file parser.h.

## ◆ type_get()

template<typename Base>

EvalParser::symbol_kind_type isc::eval::EvalParser::basic_symbol< Base >::type_get | ( |  | ) | const

Backward compatibility (Bison 3.6).

Definition at line 2650 of file parser.h.

References YY_NOEXCEPT.

## Member Data Documentation

## ◆ location

template<typename Base>

location_type isc::eval::EvalParser::basic_symbol< Base >::location

The location.

Definition at line 1007 of file parser.h.

Referenced by basic_symbol(), move(), and isc::eval::EvalParser::parse().

## ◆ value

template<typename Base>

value_type isc::eval::EvalParser::basic_symbol< Base >::value

The semantic value.

Definition at line 1004 of file parser.h.

Referenced by basic_symbol(), move(), and isc::eval::EvalParser::parse().

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

- parser.h