Kea  1.5.0
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. More...
 

Public Member Functions

 basic_symbol ()
 Default constructor. More...
 
 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)
 Constructor for valueless symbols, and symbols from each type. More...
 
 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 (YY_RVREF(basic_symbol) other)
 Move or copy constructor. More...
 
 ~basic_symbol ()
 Destroy the symbol. More...
 
void clear ()
 Destroy contents, and record that is empty. More...
 
bool empty () const
 Whether empty. More...
 
void move (basic_symbol &s)
 Destructive move, s is emptied into this. More...
 

Public Attributes

location_type location
 The location. More...
 
semantic_type value
 The semantic value. More...
 

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 type via type_get ().

Provide access to semantic value and location.

Definition at line 629 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 632 of file parser.h.

Constructor & Destructor Documentation

◆ basic_symbol() [1/12]

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

Default constructor.

Definition at line 1258 of file parser.h.

◆ basic_symbol() [2/12]

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

Move or copy constructor.

Definition at line 1264 of file parser.h.

References isc::eval::EvalParser::basic_symbol< Base >::value, and YY_MOVE.

◆ basic_symbol() [3/12]

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

Constructor for valueless symbols, and symbols from each type.

Definition at line 1328 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 
)

Definition at line 1342 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 
)

Definition at line 1357 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 
)

Definition at line 1372 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 
)

Definition at line 1387 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 
)

Definition at line 1402 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 
)

Definition at line 1417 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 
)

Definition at line 1432 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 
)

Definition at line 1447 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 
)

Definition at line 1462 of file parser.h.

◆ ~basic_symbol()

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

Destroy the symbol.

Definition at line 1471 of file parser.h.

Member Function Documentation

◆ clear()

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

Destroy contents, and record that is empty.

Definition at line 1478 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 1543 of file parser.h.

References isc::eval::EvalParser::empty_symbol.

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

References isc::eval::EvalParser::basic_symbol< Base >::location, isc::eval::EvalParser::basic_symbol< Base >::value, and YY_MOVE.

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

Member Data Documentation

◆ location

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

The location.

Definition at line 710 of file parser.h.

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

◆ value

template<typename Base >
semantic_type isc::eval::EvalParser::basic_symbol< Base >::value

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