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

The FloatingConstant class. More...

#include <Lexeme_Constant.h>

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

Public Types

enum  Variant : std::uint8_t { Float, Double, LongDouble }
 The FloatingConstant::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
 
 FloatingConstant (const char *chars, unsigned int size)
 
virtual FloatingConstant * asFloatingConstant () override
 
virtual const FloatingConstant * asFloatingConstant () 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 Identifier * asIdentifier ()
 
virtual const Identifier * asIdentifier () const
 
virtual IntegerConstant * asIntegerConstant ()
 
virtual const IntegerConstant * asIntegerConstant () const
 
virtual CharacterConstant * asCharacterConstant ()
 
virtual const CharacterConstant * asCharacterConstant () const
 
virtual ImaginaryIntegerConstant * asImaginaryIntegerConstant ()
 
virtual const ImaginaryIntegerConstant * asImaginaryIntegerConstant () const
 
virtual ImaginaryFloatingConstant * asImaginaryFloatingConstant ()
 
virtual const ImaginaryFloatingConstant * asImaginaryFloatingConstant () const
 
virtual StringLiteral * asStringLiteral ()
 
virtual const StringLiteral * asStringLiteral () 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
 
Lexeme & operator= (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 FloatingConstant class.

Member Function Documentation

◆ asFloatingConstant() [1/2]

virtual const FloatingConstant* psy::C::FloatingConstant::asFloatingConstant ( ) const
inlineoverridevirtual

Cast this Lexeme as a FloatingConstant.

Reimplemented from psy::C::Lexeme.

◆ asFloatingConstant() [2/2]

virtual FloatingConstant* psy::C::FloatingConstant::asFloatingConstant ( )
inlineoverridevirtual

Cast this Lexeme as a FloatingConstant.

Reimplemented from psy::C::Lexeme.

◆ variant()

FloatingConstant::Variant FloatingConstant::variant ( ) const

The Variant of this FloatingConstant.


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