librostlab-blast  1.0.1
Public Types | Public Member Functions | Public Attributes | List of all members
rostlab::blast::parser::basic_symbol< Base > Struct Template Reference

#include <blast-parser-parser.h>

Inheritance diagram for rostlab::blast::parser::basic_symbol< Base >:
Inheritance graph
[legend]
Collaboration diagram for rostlab::blast::parser::basic_symbol< Base >:
Collaboration graph
[legend]

Public Types

typedef Base super_type
 Alias to Base. More...
 

Public Member Functions

 basic_symbol ()
 Default constructor. More...
 
 basic_symbol (const basic_symbol &that)
 Copy constructor. More...
 
 basic_symbol (typename Base::kind_type t, YY_MOVE_REF(location_type) l)
 Constructor for valueless symbols. More...
 
 basic_symbol (typename Base::kind_type t, YY_RVREF(semantic_type) v, YY_RVREF(location_type) l)
 Constructor for symbols with semantic value. More...
 
 ~basic_symbol ()
 Destroy the symbol. More...
 
void clear ()
 Destroy contents, and record that is empty. More...
 
bool empty () const YY_NOEXCEPT
 Whether empty. More...
 
void move (basic_symbol &s)
 Destructive move, s is emptied into this. More...
 

Public Attributes

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

Detailed Description

template<typename Base>
struct rostlab::blast::parser::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 261 of file blast-parser-parser.h.

Member Typedef Documentation

◆ super_type

template<typename Base>
typedef Base rostlab::blast::parser::basic_symbol< Base >::super_type

Alias to Base.

Definition at line 264 of file blast-parser-parser.h.

Constructor & Destructor Documentation

◆ basic_symbol() [1/4]

template<typename Base>
rostlab::blast::parser::basic_symbol< Base >::basic_symbol ( )
inline

Default constructor.

Definition at line 267 of file blast-parser-parser.h.

◆ basic_symbol() [2/4]

template<typename Base>
rostlab::blast::parser::basic_symbol< Base >::basic_symbol ( const basic_symbol< Base > &  that)

Copy constructor.

◆ basic_symbol() [3/4]

template<typename Base>
rostlab::blast::parser::basic_symbol< Base >::basic_symbol ( typename Base::kind_type  t,
YY_MOVE_REF(location_type l 
)

Constructor for valueless symbols.

◆ basic_symbol() [4/4]

template<typename Base>
rostlab::blast::parser::basic_symbol< Base >::basic_symbol ( typename Base::kind_type  t,
YY_RVREF(semantic_type v,
YY_RVREF(location_type l 
)

Constructor for symbols with semantic value.

◆ ~basic_symbol()

template<typename Base>
rostlab::blast::parser::basic_symbol< Base >::~basic_symbol ( )
inline

Destroy the symbol.

Definition at line 289 of file blast-parser-parser.h.

Member Function Documentation

◆ clear()

template<typename Base>
void rostlab::blast::parser::basic_symbol< Base >::clear ( )
inline

Destroy contents, and record that is empty.

Definition at line 295 of file blast-parser-parser.h.

◆ empty()

template<typename Base>
bool rostlab::blast::parser::basic_symbol< Base >::empty ( ) const

Whether empty.

◆ move()

template<typename Base>
void rostlab::blast::parser::basic_symbol< Base >::move ( basic_symbol< Base > &  s)

Destructive move, s is emptied into this.

Member Data Documentation

◆ location

The location.

Definition at line 310 of file blast-parser-parser.h.

◆ value

template<typename Base>
semantic_type rostlab::blast::parser::basic_symbol< Base >::value

The semantic value.

Definition at line 307 of file blast-parser-parser.h.


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