Aprepro 5.0x

Public Types | Public Member Functions | Public Attributes | Private Member Functions | List of all members
SEAMS::Parser::basic_symbol< Base > Struct Template Reference

`#include <aprepro_parser.h>`

Inheritance diagram for SEAMS::Parser::basic_symbol< Base >:
[legend]
Collaboration diagram for SEAMS::Parser::basic_symbol< Base >:
[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)
| Constructor for valueless symbols. More...
| basic_symbol (typename Base::kind_type t, YY_RVREF(semantic_type) v)
| 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...

## Private Member Functions
basic_symbol & | operator= (const basic_symbol &that)
| Assignment operator. More...

## Detailed Description

### template<typename Base>
struct SEAMS::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.

## Member Typedef Documentation

## ◆ super_type

template<typename Base>

typedef Base SEAMS::Parser::basic_symbol< Base >::super_type

Alias to Base.

## Constructor & Destructor Documentation

## ◆ basic_symbol() [1/4]

template<typename Base>

SEAMS::Parser::basic_symbol< Base >::basic_symbol | ( |  | ) |
| inline

Default constructor.

## ◆ basic_symbol() [2/4]

template<typename Base >

SEAMS::Parser::basic_symbol< Base >::basic_symbol | ( | const basic_symbol< Base > & | that | ) |

Copy constructor.

## ◆ basic_symbol() [3/4]

template<typename Base>

SEAMS::Parser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t | ) |

Constructor for valueless symbols.

## ◆ basic_symbol() [4/4]

template<typename Base>

SEAMS::Parser::basic_symbol< Base >::basic_symbol | ( | typename Base::kind_type | t,
|  | YY_RVREF(semantic_type) | v
| ) |  |

Constructor for symbols with semantic value.

## ◆ ~basic_symbol()

template<typename Base>

SEAMS::Parser::basic_symbol< Base >::~basic_symbol | ( |  | ) |
| inline

Destroy the symbol.

## Member Function Documentation

## ◆ clear()

template<typename Base>

void SEAMS::Parser::basic_symbol< Base >::clear | ( |  | ) |
| inline

Destroy contents, and record that is empty.

## ◆ empty()

template<typename Base >

bool SEAMS::Parser::basic_symbol< Base >::empty | ( |  | ) | const

Whether empty.

## ◆ move()

template<typename Base >

void SEAMS::Parser::basic_symbol< Base >::move | ( | basic_symbol< Base > & | s | ) |

Destructive move, s is emptied into this.

## ◆ operator=()

template<typename Base>

basic_symbol& SEAMS::Parser::basic_symbol< Base >::operator= | ( | const basic_symbol< Base > & | that | ) |
| private

Assignment operator.

## Member Data Documentation

## ◆ value

template<typename Base>

semantic_type SEAMS::Parser::basic_symbol< Base >::value

The semantic value.

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

- aprepro_parser.h
- apr_parser.cc