The Psyche Project
Public Member Functions | List of all members
psy::C::Identifier Class Referencefinal

The Identifier class. More...

#include <SyntaxLexeme_Identifier.h>

Inheritance diagram for psy::C::Identifier:
psy::C::SyntaxLexeme psy::TextElement

Public Member Functions

 Identifier (const char *chars, unsigned int size)
 
virtual IdentifierasIdentifier () override
 
- Public Member Functions inherited from psy::C::SyntaxLexeme
Kind kind () const
 
std::string valueText () const
 
template<class ValueT >
ValueT value () const
 
template<>
int value () const
 
template<>
long value () const
 
template<>
long long value () const
 
template<>
unsigned long value () const
 
template<>
unsigned long long value () const
 
template<>
float value () const
 
template<>
double value () const
 
template<>
long double value () const
 
template<>
unsigned char value () const
 
template<>
wchar_t value () const
 
template<>
char16_t value () const
 
template<>
char32_t value () const
 
virtual IntegerConstantasIntegerConstant ()
 
virtual FloatingConstantasFloatingConstant ()
 
virtual CharacterConstantasCharacterConstant ()
 
virtual ImaginaryIntegerConstantasImaginaryIntegerConstant ()
 
virtual ImaginaryFloatingConstantasImaginaryFloatingConstant ()
 
virtual StringLiteralasStringLiteralExpression ()
 
- Public Member Functions inherited from psy::TextElement
 TextElement (const char *c_str, unsigned int size)
 
 TextElement (const TextElement &other)=delete
 
void operator= (const TextElement &other)=delete
 
iterator begin () const
 
iterator end () const
 
char at (unsigned int idx) const
 
const char * c_str () const
 
unsigned int size () const
 
unsigned int length () const
 

Additional Inherited Members

- Public Types inherited from psy::C::SyntaxLexeme
enum  Kind : std::uint16_t {
  UNSPECIFIED = 0, Identifier, IntegerConstant, FloatingConstant,
  CharacterConstant, ImaginaryIntegerConstant, ImaginaryFloatingConstant, StringLiteral
}
 The SyntaxLexeme::Kind enumeraiton.
 
- Public Types inherited from psy::TextElement
typedef const char * iterator
 
typedef iterator const_iterator
 
- Protected Member Functions inherited from psy::C::SyntaxLexeme
 SyntaxLexeme (const char *chars, unsigned int size, Kind kind)
 
 SyntaxLexeme (const SyntaxLexeme &)=delete
 
SyntaxLexemeoperator= (const SyntaxLexeme &)=delete
 
void checkHexPrefix ()
 
void checkVariousPrefixesAndSuffixes ()
 
- Protected Attributes inherited from psy::C::SyntaxLexeme
union {
   std::uint16_t   BF_all_
 
   BitFields   BF_
 
}; 
 

Detailed Description

The Identifier class.

Member Function Documentation

◆ asIdentifier()

virtual Identifier* psy::C::Identifier::asIdentifier ( )
inlineoverridevirtual

Cast this SyntaxLexeme as an Identifier.

Reimplemented from psy::C::SyntaxLexeme.


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