Kea  1.5.0
isc::d2::D2Parser::basic_symbol< Base > Struct Template Reference

A complete symbol. More...

#include <d2_parser.h>

+ Inheritance diagram for isc::d2::D2Parser::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 bool &v, const location_type &l)
 
 basic_symbol (typename Base::kind_type t, const double &v, const location_type &l)
 
 basic_symbol (typename Base::kind_type t, const ElementPtr &v, const location_type &l)
 
 basic_symbol (typename Base::kind_type t, const int64_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 (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::d2::D2Parser::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 617 of file d2_parser.h.

Member Typedef Documentation

◆ super_type

template<typename Base >
typedef Base isc::d2::D2Parser::basic_symbol< Base >::super_type

Alias to Base.

Definition at line 620 of file d2_parser.h.

Constructor & Destructor Documentation

◆ basic_symbol() [1/8]

template<typename Base >
isc::d2::D2Parser::basic_symbol< Base >::basic_symbol ( )

Default constructor.

Definition at line 1235 of file d2_parser.h.

◆ basic_symbol() [2/8]

template<typename Base >
isc::d2::D2Parser::basic_symbol< Base >::basic_symbol ( YY_RVREF(basic_symbol< Base >)  other)

Move or copy constructor.

Definition at line 1241 of file d2_parser.h.

References isc::d2::D2Parser::basic_symbol< Base >::value, and YY_MOVE.

◆ basic_symbol() [3/8]

template<typename Base >
isc::d2::D2Parser::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 1286 of file d2_parser.h.

◆ basic_symbol() [4/8]

template<typename Base >
isc::d2::D2Parser::basic_symbol< Base >::basic_symbol ( typename Base::kind_type  t,
const ElementPtr v,
const location_type l 
)

Definition at line 1300 of file d2_parser.h.

◆ basic_symbol() [5/8]

template<typename Base >
isc::d2::D2Parser::basic_symbol< Base >::basic_symbol ( typename Base::kind_type  t,
const bool &  v,
const location_type l 
)

Definition at line 1315 of file d2_parser.h.

◆ basic_symbol() [6/8]

template<typename Base >
isc::d2::D2Parser::basic_symbol< Base >::basic_symbol ( typename Base::kind_type  t,
const double &  v,
const location_type l 
)

Definition at line 1330 of file d2_parser.h.

◆ basic_symbol() [7/8]

template<typename Base >
isc::d2::D2Parser::basic_symbol< Base >::basic_symbol ( typename Base::kind_type  t,
const int64_t &  v,
const location_type l 
)

Definition at line 1345 of file d2_parser.h.

◆ basic_symbol() [8/8]

template<typename Base >
isc::d2::D2Parser::basic_symbol< Base >::basic_symbol ( typename Base::kind_type  t,
const std::string &  v,
const location_type l 
)

Definition at line 1360 of file d2_parser.h.

◆ ~basic_symbol()

template<typename Base >
isc::d2::D2Parser::basic_symbol< Base >::~basic_symbol ( )

Destroy the symbol.

Definition at line 1369 of file d2_parser.h.

Member Function Documentation

◆ clear()

template<typename Base >
void isc::d2::D2Parser::basic_symbol< Base >::clear ( )

Destroy contents, and record that is empty.

Definition at line 1376 of file d2_parser.h.

Referenced by isc::d2::D2Parser::parse().

◆ empty()

template<typename Base >
bool isc::d2::D2Parser::basic_symbol< Base >::empty ( ) const

Whether empty.

Definition at line 1422 of file d2_parser.h.

References isc::d2::D2Parser::empty_symbol.

Referenced by isc::d2::D2Parser::parse().

◆ move()

template<typename Base >
void isc::d2::D2Parser::basic_symbol< Base >::move ( basic_symbol< Base > &  s)

Destructive move, s is emptied into this.

Definition at line 1429 of file d2_parser.h.

References isc::d2::D2Parser::basic_symbol< Base >::location, isc::d2::D2Parser::basic_symbol< Base >::value, and YY_MOVE.

Referenced by isc::d2::D2Parser::parse().

Member Data Documentation

◆ location

template<typename Base >
location_type isc::d2::D2Parser::basic_symbol< Base >::location

The location.

Definition at line 678 of file d2_parser.h.

Referenced by isc::d2::D2Parser::basic_symbol< Base >::move(), and isc::d2::D2Parser::parse().

◆ value

template<typename Base >
semantic_type isc::d2::D2Parser::basic_symbol< Base >::value

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