DynaMix  1.3.7
A new take on polymorphism in C++
mixin_type_info.hpp File Reference
#include "global.hpp"
#include "message.hpp"
#include "metrics.hpp"
#include <type_traits>
#include <utility>

Classes

class  dynamix::basic_mixin_type_info
 
class  dynamix::internal::mixin_type_info
 
struct  dynamix::internal::mixin_type_info_instance< Mixin >
 

Typedefs

typedef void(* dynamix::mixin_constructor_proc) (void *memory)
 
typedef void(* dynamix::mixin_copy_proc) (void *memory, const void *source)
 
typedef void(* dynamix::mixin_destructor_proc) (void *memory)
 
typedef void(* dynamix::internal::mixin_move_proc) (void *memory, void *source)
 

Functions

template<typename Mixin >
void dynamix::internal::call_mixin_constructor (void *memory)
 
template<typename Mixin >
void dynamix::internal::call_mixin_destructor (void *memory)
 
template<typename Mixin >
void dynamix::internal::call_mixin_copy_constructor (void *memory, const void *source)
 
template<typename Mixin >
void dynamix::internal::call_mixin_copy_assignment (void *target, const void *source)
 
template<typename Mixin >
std::enable_if< std::is_copy_constructible< Mixin >::value, mixin_copy_proc >::type dynamix::internal::get_mixin_copy_constructor ()
 
template<typename Mixin >
std::enable_if<!std::is_copy_constructible< Mixin >::value, mixin_copy_proc >::type dynamix::internal::get_mixin_copy_constructor ()
 
template<typename Mixin >
std::enable_if< std::is_copy_assignable< Mixin >::value, mixin_copy_proc >::type dynamix::internal::get_mixin_copy_assignment ()
 
template<typename Mixin >
std::enable_if<!std::is_copy_assignable< Mixin >::value, mixin_copy_proc >::type dynamix::internal::get_mixin_copy_assignment ()
 
template<typename Mixin >
void dynamix::internal::call_mixin_move_constructor (void *memory, void *source)
 
template<typename Mixin >
std::enable_if< std::is_move_constructible< Mixin >::value, mixin_move_proc >::type dynamix::internal::get_mixin_move_constructor ()
 
template<typename Mixin >
std::enable_if<!std::is_move_constructible< Mixin >::value, mixin_move_proc >::type dynamix::internal::get_mixin_move_constructor ()
 

Detailed Description

Defines the internal classes that describe the information about a mixin - features and message data, type name, size, alignment, etc.