Kea 3.3.1
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 >:

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::pair< int8_t, std::vector< uint16_t > > &v, const location_type &l)
 basic_symbol (typename Base::kind_type t, const std::pair< uint32_t, std::vector< uint16_t > > &v, const location_type &l)
 basic_symbol (typename Base::kind_type t, const std::string &v, const location_type &l)
 basic_symbol (typename Base::kind_type t, const std::vector< uint16_t > &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 718 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 721 of file parser.h.

Constructor & Destructor Documentation

◆ basic_symbol() [1/15]

template<typename Base>
isc::eval::EvalParser::basic_symbol< Base >::basic_symbol ( )
inline

Default constructor.

Definition at line 724 of file parser.h.

Referenced by basic_symbol(), and move().

◆ basic_symbol() [2/15]

◆ basic_symbol() [3/15]

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 810 of file parser.h.

◆ basic_symbol() [4/15]

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 823 of file parser.h.

◆ basic_symbol() [5/15]

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 837 of file parser.h.

◆ basic_symbol() [6/15]

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 851 of file parser.h.

◆ basic_symbol() [7/15]

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 865 of file parser.h.

◆ basic_symbol() [8/15]

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 879 of file parser.h.

◆ basic_symbol() [9/15]

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 893 of file parser.h.

◆ basic_symbol() [10/15]

template<typename Base>
isc::eval::EvalParser::basic_symbol< Base >::basic_symbol ( typename Base::kind_type t,
const std::pair< int8_t, std::vector< uint16_t > > & v,
const location_type & l )
inline

Definition at line 907 of file parser.h.

◆ basic_symbol() [11/15]

template<typename Base>
isc::eval::EvalParser::basic_symbol< Base >::basic_symbol ( typename Base::kind_type t,
const std::pair< uint32_t, std::vector< uint16_t > > & v,
const location_type & l )
inline

Definition at line 921 of file parser.h.

◆ basic_symbol() [12/15]

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 935 of file parser.h.

◆ basic_symbol() [13/15]

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

Definition at line 949 of file parser.h.

◆ basic_symbol() [14/15]

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 963 of file parser.h.

◆ basic_symbol() [15/15]

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 977 of file parser.h.

◆ ~basic_symbol()

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

Destroy the symbol.

Definition at line 985 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 993 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 2753 of file parser.h.

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

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

◆ move()

◆ 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 1071 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 2745 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 1089 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 1086 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: