IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
ice::member_info< Member > Struct Template Reference

Compile-time utility type to access various information about C++ type members. More...

#include <ice/base.hxx>

Static Public Attributes

static constexpr ice::u8 member_type = 0
 Category of the passed Member type. (1 => method, 2 => field, 0 => invalid / not a member type).

Detailed Description

template<typename Member>
struct ice::member_info< Member >

Compile-time utility type to access various information about C++ type members.

This struct allows us to access various information from a C++ member (method or field) and create additional processing logic based on these values. This type always provides the member_type property which holds information if the accessed data is from a method or a field type. Method types provide access to:

  • class_type - The owning class type. (does not resolve virtual calls)
  • result_type - The return value type.
  • argument_count - Number of all parameters.
  • argument_types - Tuple type of all parameter types. Field types provide access to:
  • class_type - The owning class type. (does not resolve virtual calls)
  • result_type - The field type.
Remarks
If a non-member type is passed to the Member template argument, the member_type property will have a value of 0.

Member Data Documentation

◆ member_type

template<typename Member>
ice::u8 ice::member_info< Member >::member_type = 0
staticconstexpr

Category of the passed Member type. (1 => method, 2 => field, 0 => invalid / not a member type).


The documentation for this struct was generated from the following file: