The Psyche Project
|
The ImaginaryIntegerConstant class. More...
#include <SyntaxLexeme_Constant.h>
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 ImaginaryIntegerConstant * | asImaginaryIntegerConstant () 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 Identifier * | asIdentifier () |
virtual IntegerConstant * | asIntegerConstant () |
virtual FloatingConstant * | asFloatingConstant () |
virtual CharacterConstant * | asCharacterConstant () |
virtual ImaginaryFloatingConstant * | asImaginaryFloatingConstant () |
virtual StringLiteral * | asStringLiteralExpression () |
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 | |
SyntaxLexeme & | operator= (const SyntaxLexeme &)=delete |
void | checkHexPrefix () |
void | checkVariousPrefixesAndSuffixes () |
Protected Attributes inherited from psy::C::SyntaxLexeme | |
union { | |
std::uint16_t BF_all_ | |
BitFields BF_ | |
}; | |
The ImaginaryIntegerConstant class.
|
inlineoverridevirtual |
Cast this
SyntaxLexeme as an ImaginaryIntegerConstant.
Reimplemented from psy::C::SyntaxLexeme.
ImaginaryIntegerConstant::Signedness ImaginaryIntegerConstant::signedness | ( | ) | const |
The Signedness of this
ImaginaryIntegerConstant.
ImaginaryIntegerConstant::Variant ImaginaryIntegerConstant::variant | ( | ) | const |
The Variant of this
ImaginaryIntegerConstant.