Envision
A visual programming IDE for object-oriented languages
List of all members | Public Types | Public Member Functions
OOModel::TypeTraitExpression Class Reference
Inheritance diagram for OOModel::TypeTraitExpression:
Core::Reflect< Base >

Public Types

enum class  TypeTraitKind : int { SizeOf , AlignOf , TypeId }
 

Public Member Functions

 TypeTraitExpression (TypeTraitKind kind, Expression *expr=nullptr)
 
void setTypeTraitKind (const TypeTraitKind &kind)
 
virtual std::unique_ptr< Typetype () override
 
TypeTraitKind typeTraitKind () const
 

Additional Inherited Members

- Protected Types inherited from Core::Reflect< Base >
using Super = Reflect< Base >
 

Member Enumeration Documentation

◆ TypeTraitKind

Enumerator
SizeOf 
AlignOf 
TypeId 

Constructor & Destructor Documentation

◆ TypeTraitExpression()

OOModel::TypeTraitExpression::TypeTraitExpression ( TypeTraitKind  kind,
Expression expr = nullptr 
)

Member Function Documentation

◆ setTypeTraitKind()

void OOModel::TypeTraitExpression::setTypeTraitKind ( const TypeTraitKind kind)
inline

◆ type()

std::unique_ptr< Type > OOModel::TypeTraitExpression::type ( )
overridevirtual

◆ typeTraitKind()

TypeTraitExpression::TypeTraitKind OOModel::TypeTraitExpression::typeTraitKind ( ) const
inline