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

The IntegerConstant class. More...

#include <Lexeme_Constant.h>

Inheritance diagram for psy::C::IntegerConstant:
psy::C::Lexeme psy::TextElement

Public Types

enum  Signedness : std::uint8_t { Signed, Unsigned }
 The IntegerConstant::Signedness enumeration.
 
enum  Variant : std::uint8_t { Int, Long, LongLong }
 The IntegerConstant::Variant enumeration.
 
- 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

Signedness signedness () const
 
Variant variant () const
 
 IntegerConstant (const char *chars, unsigned int size)
 
virtual IntegerConstantasIntegerConstant () override
 
virtual const IntegerConstantasIntegerConstant () const override
 
- 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 FloatingConstantasFloatingConstant ()
 
virtual const FloatingConstantasFloatingConstant () const
 
virtual CharacterConstantasCharacterConstant ()
 
virtual const CharacterConstantasCharacterConstant () const
 
virtual ImaginaryIntegerConstantasImaginaryIntegerConstant ()
 
virtual const ImaginaryIntegerConstantasImaginaryIntegerConstant () const
 
virtual ImaginaryFloatingConstantasImaginaryFloatingConstant ()
 
virtual const ImaginaryFloatingConstantasImaginaryFloatingConstant () const
 
virtual StringLiteralasStringLiteral ()
 
virtual const StringLiteralasStringLiteral () 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
 

Additional Inherited Members

- 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 IntegerConstant class.

Member Function Documentation

◆ asIntegerConstant() [1/2]

virtual const IntegerConstant* psy::C::IntegerConstant::asIntegerConstant ( ) const
inlineoverridevirtual

Cast this Lexeme as an IntegerConstant.

Reimplemented from psy::C::Lexeme.

◆ asIntegerConstant() [2/2]

virtual IntegerConstant* psy::C::IntegerConstant::asIntegerConstant ( )
inlineoverridevirtual

Cast this Lexeme as an IntegerConstant.

Reimplemented from psy::C::Lexeme.

◆ signedness()

IntegerConstant::Signedness IntegerConstant::signedness ( ) const

The Signedness of this IntegerConstant.

◆ variant()

IntegerConstant::Variant IntegerConstant::variant ( ) const

The Variant of this IntegerConstant.


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