Blender V4.3
BLI_cpp_type_make.hh File Reference
#include "BLI_cpp_type.hh"
#include "BLI_utildefines.h"
#include <sstream>

Go to the source code of this file.

Namespaces

namespace  blender
 
namespace  blender::cpp_type_util
 

Macros

#define BLI_CPP_TYPE_MAKE(TYPE_NAME, FLAGS)
 
#define BLI_CPP_TYPE_REGISTER(TYPE_NAME)   blender::CPPType::get<TYPE_NAME>()
 

Functions

template<typename T >
void blender::cpp_type_util::default_construct_cb (void *ptr)
 
template<typename T >
void blender::cpp_type_util::default_construct_indices_cb (void *ptr, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::value_initialize_cb (void *ptr)
 
template<typename T >
void blender::cpp_type_util::value_initialize_indices_cb (void *ptr, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::destruct_cb (void *ptr)
 
template<typename T >
void blender::cpp_type_util::destruct_indices_cb (void *ptr, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::copy_assign_cb (const void *src, void *dst)
 
template<typename T >
void blender::cpp_type_util::copy_assign_indices_cb (const void *src, void *dst, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::copy_assign_compressed_cb (const void *src, void *dst, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::copy_construct_cb (const void *src, void *dst)
 
template<typename T >
void blender::cpp_type_util::copy_construct_indices_cb (const void *src, void *dst, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::copy_construct_compressed_cb (const void *src, void *dst, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::move_assign_cb (void *src, void *dst)
 
template<typename T >
void blender::cpp_type_util::move_assign_indices_cb (void *src, void *dst, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::move_construct_cb (void *src, void *dst)
 
template<typename T >
void blender::cpp_type_util::move_construct_indices_cb (void *src, void *dst, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::relocate_assign_cb (void *src, void *dst)
 
template<typename T >
void blender::cpp_type_util::relocate_assign_indices_cb (void *src, void *dst, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::relocate_construct_cb (void *src, void *dst)
 
template<typename T >
void blender::cpp_type_util::relocate_construct_indices_cb (void *src, void *dst, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::fill_assign_cb (const void *value, void *dst, int64_t n)
 
template<typename T >
void blender::cpp_type_util::fill_assign_indices_cb (const void *value, void *dst, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::fill_construct_cb (const void *value, void *dst, int64_t n)
 
template<typename T >
void blender::cpp_type_util::fill_construct_indices_cb (const void *value, void *dst, const IndexMask &mask)
 
template<typename T >
void blender::cpp_type_util::print_cb (const void *value, std::stringstream &ss)
 
template<typename T >
bool blender::cpp_type_util::is_equal_cb (const void *a, const void *b)
 
template<typename T >
uint64_t blender::cpp_type_util::hash_cb (const void *value)
 

Macro Definition Documentation

◆ BLI_CPP_TYPE_MAKE

#define BLI_CPP_TYPE_MAKE ( TYPE_NAME,
FLAGS )
Value:
{ \
static CPPType type{blender::TypeTag<TYPE_NAME>(), \
TypeForValue<CPPTypeFlags, FLAGS>(), \
STRINGIFY(TYPE_NAME)}; \
return type; \
}
static const CPPType & get_impl()

Create a new #CPPType that can be accessed through CPPType::get<T>().

Definition at line 335 of file BLI_cpp_type_make.hh.

◆ BLI_CPP_TYPE_REGISTER

#define BLI_CPP_TYPE_REGISTER ( TYPE_NAME)    blender::CPPType::get<TYPE_NAME>()

Register a #CPPType created with BLI_CPP_TYPE_MAKE.

Definition at line 345 of file BLI_cpp_type_make.hh.

Referenced by BKE_cpp_types_init(), and BLI_CPP_TYPE_MAKE().