Kea 2.5.8
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.
 

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 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)
 Constructors for typed symbols.
 
 basic_symbol (typename Base::kind_type t, const std::string &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::d2::D2Parser::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 801 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 804 of file d2_parser.h.

Constructor & Destructor Documentation

◆ basic_symbol() [1/8]

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

Default constructor.

Definition at line 807 of file d2_parser.h.

◆ basic_symbol() [2/8]

◆ basic_symbol() [3/8]

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

Constructors for typed symbols.

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

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

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

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

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

Definition at line 929 of file d2_parser.h.

◆ ~basic_symbol()

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

Destroy the symbol.

Definition at line 937 of file d2_parser.h.

Member Function Documentation

◆ clear()

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

Destroy contents, and record that is empty.

Definition at line 945 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 2539 of file d2_parser.h.

References isc::d2::D2Parser::symbol_kind::S_YYEMPTY.

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

◆ move()

◆ name()

template<typename Base >
std::string isc::d2::D2Parser::basic_symbol< Base >::name ( ) const
inline

The user-facing name of this symbol.

Definition at line 990 of file d2_parser.h.

References isc::d2::D2Parser::symbol_name().

+ Here is the call graph for this function:

◆ type_get()

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

Backward compatibility (Bison 3.6).

Definition at line 2531 of file d2_parser.h.

Member Data Documentation

◆ location

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

The location.

Definition at line 1008 of file d2_parser.h.

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

◆ value

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

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