RetroArch
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
peg::AstBase< Annotation > Struct Template Reference

#include <peglib.h>

Inheritance diagram for peg::AstBase< Annotation >:
[legend]
Collaboration diagram for peg::AstBase< Annotation >:
[legend]

Public Member Functions

 AstBase (const char *a_path, size_t a_line, size_t a_column, const char *a_name, const std::vector< std::shared_ptr< AstBase >> &a_nodes)
 
 AstBase (const char *a_path, size_t a_line, size_t a_column, const char *a_name, const std::string &a_token)
 
 AstBase (const AstBase &ast, const char *a_original_name)
 
AstBase< Annotation > & operator[] (const char *name)
 
 operator const char * ()
 

Public Attributes

const std::string path
 
const size_t line
 
const size_t column
 
const std::string name
 
const std::string original_name
 
const unsigned int tag
 
const unsigned int original_tag
 
const bool is_token
 
const std::string token
 
std::vector< std::shared_ptr< AstBase< Annotation > > > nodes
 
std::shared_ptr< AstBase< Annotation > > parent
 

Static Public Attributes

static peg::AstBase< Annotation > empty = AstBase<Annotation>("", 0, 0, "", string(""))
 

Constructor & Destructor Documentation

◆ AstBase() [1/3]

template<typename Annotation>
peg::AstBase< Annotation >::AstBase ( const char *  a_path,
size_t  a_line,
size_t  a_column,
const char *  a_name,
const std::vector< std::shared_ptr< AstBase< Annotation > >> &  a_nodes 
)
inline

◆ AstBase() [2/3]

template<typename Annotation>
peg::AstBase< Annotation >::AstBase ( const char *  a_path,
size_t  a_line,
size_t  a_column,
const char *  a_name,
const std::string a_token 
)
inline

◆ AstBase() [3/3]

template<typename Annotation>
peg::AstBase< Annotation >::AstBase ( const AstBase< Annotation > &  ast,
const char *  a_original_name 
)
inline

Member Function Documentation

◆ operator const char *()

template<typename Annotation>
peg::AstBase< Annotation >::operator const char * ( )
inline

◆ operator[]()

template<typename Annotation>
AstBase<Annotation>& peg::AstBase< Annotation >::operator[] ( const char *  name)
inline

Member Data Documentation

◆ column

template<typename Annotation>
const size_t peg::AstBase< Annotation >::column

◆ empty

template<typename Annotation>
AstBase< Annotation > AstBase::empty = AstBase<Annotation>("", 0, 0, "", string(""))
static

◆ is_token

template<typename Annotation>
const bool peg::AstBase< Annotation >::is_token

◆ line

template<typename Annotation>
const size_t peg::AstBase< Annotation >::line

◆ name

template<typename Annotation>
const std::string peg::AstBase< Annotation >::name

◆ nodes

template<typename Annotation>
std::vector<std::shared_ptr<AstBase<Annotation> > > peg::AstBase< Annotation >::nodes

◆ original_name

template<typename Annotation>
const std::string peg::AstBase< Annotation >::original_name

◆ original_tag

template<typename Annotation>
const unsigned int peg::AstBase< Annotation >::original_tag

◆ parent

template<typename Annotation>
std::shared_ptr<AstBase<Annotation> > peg::AstBase< Annotation >::parent

◆ path

template<typename Annotation>
const std::string peg::AstBase< Annotation >::path

◆ tag

template<typename Annotation>
const unsigned int peg::AstBase< Annotation >::tag

◆ token

template<typename Annotation>
const std::string peg::AstBase< Annotation >::token

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