Skip to content

typeof

The typeof is a reflection operator.

Syntax

typeof(Type)
typeof(Instance)

Operations

ascii* name() // full name
type base() // parent class meta data
ascii* module_name()  // module name

uint128 hash128() // 128-bit type name hash code 
uint64  hash64() // 64-bit type name hash code 
uint64  hash32() // 32-bit type name hash code 

field[] fields() // an array of meta fields.
function[] methods() // an array of meta functions.
ascii** attributes() // an array of pointers to read-only strings

bool is_class()
bool is_struct()
bool is_enum()
bool is_interface()

bool is_mutable()
bool is_unbound()

bool is_pointer()
bool is_ref()

bool is_smart_ptr()
bool is_shared_ptr()
bool is_unique_ptr()
bool is_weak_ptr()

uint32 kind() // returns an enumerable value

Example Code

typeof(T).name();