Blender V5.0
BLI_cpp_type_make.hh File Reference
#include <sstream>
#include "BLI_cpp_type.hh"
#include "BLI_index_mask.hh"
#include "BLI_utildefines.h"

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)

Functions

template<typename T>
bool blender::cpp_type_util::pointer_has_valid_alignment (const void *ptr)
template<typename T>
bool blender::cpp_type_util::pointer_can_point_to_instance (const void *ptr)
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::default_construct_n_cb (void *ptr, const int64_t n)
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::value_initialize_n_cb (void *ptr, const int64_t n)
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::destruct_n_cb (void *ptr, const int64_t n)
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_n_cb (const void *src, void *dst, const int64_t n)
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_n_cb (const void *src, void *dst, const int64_t n)
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_assign_n_cb (void *src, void *dst, const int64_t n)
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::move_construct_n_cb (void *src, void *dst, const int64_t n)
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_assign_n_cb (void *src, void *dst, const int64_t n)
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::relocate_construct_n_cb (void *src, void *dst, const 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_assign_n_cb (const void *value, void *dst, const int64_t n)
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::fill_construct_n_cb (const void *value, void *dst, const int64_t n)
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:
{ \
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 456 of file BLI_cpp_type_make.hh.

Referenced by BLI_CPP_TYPE_MAKE(), BLI_CPP_TYPE_MAKE(), BLI_CPP_TYPE_MAKE(), BLI_CPP_TYPE_MAKE(), BLI_CPP_TYPE_MAKE(), BLI_CPP_TYPE_MAKE(), BLI_CPP_TYPE_MAKE(), BLI_CPP_TYPE_MAKE(), BLI_CPP_TYPE_MAKE(), BLI_CPP_TYPE_MAKE(), and BLI_VECTOR_CPP_TYPE_MAKE().

◆ BLI_CPP_TYPE_REGISTER

#define BLI_CPP_TYPE_REGISTER ( TYPE_NAME)
Value:

Register a CPPType created with BLI_CPP_TYPE_MAKE.

Definition at line 466 of file BLI_cpp_type_make.hh.

Referenced by BKE_cpp_types_init(), and BLI_CPP_TYPE_MAKE().