Blender  V2.93
Namespaces | Macros | Functions
FN_cpp_type_make.hh File Reference
#include "FN_cpp_type.hh"

Go to the source code of this file.

Namespaces

 blender
 
 blender::fn
 
 blender::fn::cpp_type_util
 

Macros

#define MAKE_CPP_TYPE(IDENTIFIER, TYPE_NAME)
 

Functions

template<typename T >
void blender::fn::cpp_type_util::construct_default_cb (void *ptr)
 
template<typename T >
void blender::fn::cpp_type_util::construct_default_n_cb (void *ptr, int64_t n)
 
template<typename T >
void blender::fn::cpp_type_util::construct_default_indices_cb (void *ptr, IndexMask mask)
 
template<typename T >
void blender::fn::cpp_type_util::destruct_cb (void *ptr)
 
template<typename T >
void blender::fn::cpp_type_util::destruct_n_cb (void *ptr, int64_t n)
 
template<typename T >
void blender::fn::cpp_type_util::destruct_indices_cb (void *ptr, IndexMask mask)
 
template<typename T >
void blender::fn::cpp_type_util::copy_to_initialized_cb (const void *src, void *dst)
 
template<typename T >
void blender::fn::cpp_type_util::copy_to_initialized_n_cb (const void *src, void *dst, int64_t n)
 
template<typename T >
void blender::fn::cpp_type_util::copy_to_initialized_indices_cb (const void *src, void *dst, IndexMask mask)
 
template<typename T >
void blender::fn::cpp_type_util::copy_to_uninitialized_cb (const void *src, void *dst)
 
template<typename T >
void blender::fn::cpp_type_util::copy_to_uninitialized_n_cb (const void *src, void *dst, int64_t n)
 
template<typename T >
void blender::fn::cpp_type_util::copy_to_uninitialized_indices_cb (const void *src, void *dst, IndexMask mask)
 
template<typename T >
void blender::fn::cpp_type_util::move_to_initialized_cb (void *src, void *dst)
 
template<typename T >
void blender::fn::cpp_type_util::move_to_initialized_n_cb (void *src, void *dst, int64_t n)
 
template<typename T >
void blender::fn::cpp_type_util::move_to_initialized_indices_cb (void *src, void *dst, IndexMask mask)
 
template<typename T >
void blender::fn::cpp_type_util::move_to_uninitialized_cb (void *src, void *dst)
 
template<typename T >
void blender::fn::cpp_type_util::move_to_uninitialized_n_cb (void *src, void *dst, int64_t n)
 
template<typename T >
void blender::fn::cpp_type_util::move_to_uninitialized_indices_cb (void *src, void *dst, IndexMask mask)
 
template<typename T >
void blender::fn::cpp_type_util::relocate_to_initialized_cb (void *src, void *dst)
 
template<typename T >
void blender::fn::cpp_type_util::relocate_to_initialized_n_cb (void *src, void *dst, int64_t n)
 
template<typename T >
void blender::fn::cpp_type_util::relocate_to_initialized_indices_cb (void *src, void *dst, IndexMask mask)
 
template<typename T >
void blender::fn::cpp_type_util::relocate_to_uninitialized_cb (void *src, void *dst)
 
template<typename T >
void blender::fn::cpp_type_util::relocate_to_uninitialized_n_cb (void *src, void *dst, int64_t n)
 
template<typename T >
void blender::fn::cpp_type_util::relocate_to_uninitialized_indices_cb (void *src, void *dst, IndexMask mask)
 
template<typename T >
void blender::fn::cpp_type_util::fill_initialized_cb (const void *value, void *dst, int64_t n)
 
template<typename T >
void blender::fn::cpp_type_util::fill_initialized_indices_cb (const void *value, void *dst, IndexMask mask)
 
template<typename T >
void blender::fn::cpp_type_util::fill_uninitialized_cb (const void *value, void *dst, int64_t n)
 
template<typename T >
void blender::fn::cpp_type_util::fill_uninitialized_indices_cb (const void *value, void *dst, IndexMask mask)
 
template<typename T >
void blender::fn::cpp_type_util::debug_print_cb (const void *value, std::stringstream &ss)
 
template<typename T >
bool blender::fn::cpp_type_util::is_equal_cb (const void *a, const void *b)
 
template<typename T >
uint64_t blender::fn::cpp_type_util::hash_cb (const void *value)
 
template<typename T >
std::unique_ptr< const CPPType > blender::fn::create_cpp_type (StringRef name, const T &default_value)
 

Macro Definition Documentation

◆ MAKE_CPP_TYPE

#define MAKE_CPP_TYPE (   IDENTIFIER,
  TYPE_NAME 
)
Value:
template<> const blender::fn::CPPType &blender::fn::CPPType::get<TYPE_NAME>() \
{ \
static TYPE_NAME default_value; \
static std::unique_ptr<const CPPType> cpp_type = blender::fn::create_cpp_type<TYPE_NAME>( \
STRINGIFY(IDENTIFIER), default_value); \
return *cpp_type; \
} \
/* Support using `CPPType::get<const T>()`. Otherwise the caller would have to remove const. */ \
template<> const blender::fn::CPPType &blender::fn::CPPType::get<const TYPE_NAME>() \
{ \
return blender::fn::CPPType::get<TYPE_NAME>(); \
}
#define STRINGIFY(x)

Definition at line 275 of file FN_cpp_type_make.hh.