The Psyche Project
List of all members
psy::C::StringLiteral Class Referencefinal

The StringLiteral class. More...

#include <Lexeme_StringLiteral.h>

Inheritance diagram for psy::C::StringLiteral:
psy::C::Lexeme psy::TextElement
enum  Variant : std::uint8_t {
  Plain_char, L_wchar_t, u8_char, u_char16_t,
  U_char32_t
}
 The Variant enumeration.
 
virtual StringLiteralasStringLiteral () override
 
virtual const StringLiteralasStringLiteral () const override
 The Variant enumeration.
 
Variant variant () const
 
 StringLiteral (const char *chars, unsigned int size)
 The Variant enumeration.
 

Additional Inherited Members

- Public Types inherited from psy::C::Lexeme
enum  LexemeKind : std::uint16_t {
  Identifier, IntegerConstant, FloatingConstant, CharacterConstant,
  ImaginaryIntegerConstant, ImaginaryFloatingConstant, StringLiteral
}
 The LexemeKind enumeraiton.
 
- Public Types inherited from psy::TextElement
typedef const char * iterator
 
typedef iterator const_iterator
 
- Public Member Functions inherited from psy::C::Lexeme
LexemeKind 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 IdentifierasIdentifier ()
 
virtual const IdentifierasIdentifier () const
 
virtual IntegerConstantasIntegerConstant ()
 
virtual const IntegerConstantasIntegerConstant () const
 
virtual FloatingConstantasFloatingConstant ()
 
virtual const FloatingConstantasFloatingConstant () const
 
virtual CharacterConstantasCharacterConstant ()
 
virtual const CharacterConstantasCharacterConstant () const
 
virtual ImaginaryIntegerConstantasImaginaryIntegerConstant ()
 
virtual const ImaginaryIntegerConstantasImaginaryIntegerConstant () const
 
virtual ImaginaryFloatingConstantasImaginaryFloatingConstant ()
 
virtual const ImaginaryFloatingConstantasImaginaryFloatingConstant () const
 
- 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
 
- Protected Member Functions inherited from psy::C::Lexeme
 Lexeme (const Lexeme &)=delete
 
Lexemeoperator= (const Lexeme &)=delete
 
 Lexeme (const char *chars, unsigned int size, LexemeKind kind)
 
- Protected Attributes inherited from psy::C::Lexeme
union {
   std::uint16_t   BF_all_
 
   BitFields   BF_
 
}; 
 

Detailed Description

The StringLiteral class.

Member Function Documentation

◆ asStringLiteral()

virtual StringLiteral* psy::C::StringLiteral::asStringLiteral ( )
inlineoverridevirtual

Cast this Lexeme as an StringLiteral.

Reimplemented from psy::C::Lexeme.

◆ variant()

StringLiteral::Variant StringLiteral::variant ( ) const

The Variant of this StringLiteral.


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