co_ecs 0.9.0
Cobalt ECS
Loading...
Searching...
No Matches
co_ecs::type_meta Struct Reference

Type meta information. More...

#include <type_meta.hpp>

Static Public Member Functions

template<typename T >
static void copy_constructor (void *ptr, void *rhs) noexcept(std::is_nothrow_copy_constructible_v< T >)
 Copy constructor callback for type T.
 
template<typename T >
static void move_constructor (void *ptr, void *rhs) noexcept
 Move constructor callback for type T.
 
template<typename T >
static void move_assignment (void *lhs, void *rhs) noexcept
 Move assignment callback for type T.
 
template<typename T >
static void destructor (void *ptr) noexcept
 Destructor callback for type T.
 
template<typename T >
static auto of () noexcept -> const type_meta *
 Constructs type_meta for type T.
 

Public Attributes

std::size_t size
 
std::size_t align
 
std::string_view name
 
void(* copy_construct )(void *, void *)
 
void(* move_construct )(void *, void *)
 
void(* move_assign )(void *, void *)
 
void(* destruct )(void *)
 

Detailed Description

Type meta information.

Member Function Documentation

◆ copy_constructor()

template<typename T >
static void co_ecs::type_meta::copy_constructor ( void * ptr,
void * rhs )
inlinestaticnoexcept

Copy constructor callback for type T.

Template Parameters
TTarget type
Parameters
ptrPlace to construct at
rhsPointer to an object to construct from

◆ destructor()

template<typename T >
static void co_ecs::type_meta::destructor ( void * ptr)
inlinestaticnoexcept

Destructor callback for type T.

Template Parameters
TTarget type
Parameters
ptrPointer to an object to delete

◆ move_assignment()

template<typename T >
static void co_ecs::type_meta::move_assignment ( void * lhs,
void * rhs )
inlinestaticnoexcept

Move assignment callback for type T.

Template Parameters
TTarget type
Parameters
lhsPointer to an object to assign to
rhsPointer to an object to assign from

◆ move_constructor()

template<typename T >
static void co_ecs::type_meta::move_constructor ( void * ptr,
void * rhs )
inlinestaticnoexcept

Move constructor callback for type T.

Template Parameters
TTarget type
Parameters
ptrPlace to construct at
rhsPointer to an object to construct from

◆ of()

template<typename T >
static auto co_ecs::type_meta::of ( ) -> const type_meta*
inlinestaticnoexcept

Constructs type_meta for type T.

Template Parameters
TTarget type
Returns
const type_meta* Target type meta

Member Data Documentation

◆ align

std::size_t co_ecs::type_meta::align

◆ copy_construct

void(* co_ecs::type_meta::copy_construct) (void *, void *)

◆ destruct

void(* co_ecs::type_meta::destruct) (void *)

◆ move_assign

void(* co_ecs::type_meta::move_assign) (void *, void *)

◆ move_construct

void(* co_ecs::type_meta::move_construct) (void *, void *)

◆ name

std::string_view co_ecs::type_meta::name

◆ size

std::size_t co_ecs::type_meta::size

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