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

The ImaginaryFloatingConstant class. More...

#include <Lexeme_Constant.h>

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

Public Types

enum  Variant : std::uint8_t { Float, Double, LongDouble }
 The ImaginaryFloatingConstant::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

Variant variant () const
 
 ImaginaryFloatingConstant (const char *chars, unsigned int size)
 
virtual ImaginaryFloatingConstantasImaginaryFloatingConstant () override
 
virtual const ImaginaryFloatingConstantasImaginaryFloatingConstant () 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 IntegerConstantasIntegerConstant ()
 
virtual const IntegerConstantasIntegerConstant () const
 
virtual FloatingConstantasFloatingConstant ()
 
virtual const FloatingConstantasFloatingConstant () const
 
virtual CharacterConstantasCharacterConstant ()
 
virtual const CharacterConstantasCharacterConstant () const
 
virtual ImaginaryIntegerConstantasImaginaryIntegerConstant ()
 
virtual const ImaginaryIntegerConstantasImaginaryIntegerConstant () 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 ImaginaryFloatingConstant class.

Member Function Documentation

◆ asImaginaryFloatingConstant() [1/2]

virtual const ImaginaryFloatingConstant* psy::C::ImaginaryFloatingConstant::asImaginaryFloatingConstant ( ) const
inlineoverridevirtual

Cast this Lexemeas an ImaginaryFloatingConstant.

Reimplemented from psy::C::Lexeme.

◆ asImaginaryFloatingConstant() [2/2]

virtual ImaginaryFloatingConstant* psy::C::ImaginaryFloatingConstant::asImaginaryFloatingConstant ( )
inlineoverridevirtual

Cast this Lexemeas an ImaginaryFloatingConstant.

Reimplemented from psy::C::Lexeme.

◆ variant()

ImaginaryFloatingConstant::Variant ImaginaryFloatingConstant::variant ( ) const

The Variant of this ImaginaryFloatingConstant.


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