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

The ImaginaryIntegerConstant class. More...

#include <SyntaxLexeme_Constant.h>

Inheritance diagram for psy::C::ImaginaryIntegerConstant:
psy::C::Constant psy::C::SyntaxLexeme psy::TextElement

Public Types

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

Public Member Functions

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

- Protected Member Functions inherited from psy::C::Constant
 Constant (const char *chars, unsigned int size, Kind kind)
 
- 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 ImaginaryIntegerConstant class.

Member Function Documentation

◆ asImaginaryIntegerConstant()

virtual ImaginaryIntegerConstant* psy::C::ImaginaryIntegerConstant::asImaginaryIntegerConstant ( )
inlineoverridevirtual

Cast this SyntaxLexeme as an ImaginaryIntegerConstant.

Reimplemented from psy::C::SyntaxLexeme.

◆ signedness()

ImaginaryIntegerConstant::Signedness ImaginaryIntegerConstant::signedness ( ) const

The Signedness of this ImaginaryIntegerConstant.

◆ variant()

ImaginaryIntegerConstant::Variant ImaginaryIntegerConstant::variant ( ) const

The Variant of this ImaginaryIntegerConstant.


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