Blender  V3.3
Public Member Functions | List of all members
blender::fn::ValueOrFieldCPPType Class Reference

#include <FN_field_cpp_type.hh>

Inheritance diagram for blender::fn::ValueOrFieldCPPType:
blender::CPPType blender::NonCopyable blender::NonMovable

Public Member Functions

template<typename T >
 ValueOrFieldCPPType (FieldCPPTypeParam< ValueOrField< T >>, StringRef debug_name)
 
const CPPTypebase_type () const
 
void construct_from_value (void *dst, const void *value) const
 
void construct_from_field (void *dst, GField field) const
 
const voidget_value_ptr (const void *value_or_field) const
 
voidget_value_ptr (void *value_or_field) const
 
const GFieldget_field_ptr (const void *value_or_field) const
 
bool is_field (const void *value_or_field) const
 
GField as_field (const void *value_or_field) const
 
- Public Member Functions inherited from blender::CPPType
template<typename T , CPPTypeFlags Flags>
 CPPType (CPPTypeParam< T, Flags >, StringRef debug_name)
 
virtual ~CPPType ()=default
 
StringRefNull name () const
 
int64_t size () const
 
int64_t alignment () const
 
bool is_trivially_destructible () const
 
bool is_trivial () const
 
bool is_default_constructible () const
 
bool is_copy_constructible () const
 
bool is_move_constructible () const
 
bool is_destructible () const
 
bool is_copy_assignable () const
 
bool is_move_assignable () const
 
bool is_printable () const
 
bool is_equality_comparable () const
 
bool is_hashable () const
 
bool has_special_member_functions () const
 
bool pointer_has_valid_alignment (const void *ptr) const
 
bool pointer_can_point_to_instance (const void *ptr) const
 
void default_construct (void *ptr) const
 
void default_construct_n (void *ptr, int64_t n) const
 
void default_construct_indices (void *ptr, IndexMask mask) const
 
void value_initialize (void *ptr) const
 
void value_initialize_n (void *ptr, int64_t n) const
 
void value_initialize_indices (void *ptr, IndexMask mask) const
 
void destruct (void *ptr) const
 
void destruct_n (void *ptr, int64_t n) const
 
void destruct_indices (void *ptr, IndexMask mask) const
 
void copy_assign (const void *src, void *dst) const
 
void copy_assign_n (const void *src, void *dst, int64_t n) const
 
void copy_assign_indices (const void *src, void *dst, IndexMask mask) const
 
void copy_assign_compressed (const void *src, void *dst, IndexMask mask) const
 
void copy_construct (const void *src, void *dst) const
 
void copy_construct_n (const void *src, void *dst, int64_t n) const
 
void copy_construct_indices (const void *src, void *dst, IndexMask mask) const
 
void copy_construct_compressed (const void *src, void *dst, IndexMask mask) const
 
void move_assign (void *src, void *dst) const
 
void move_assign_n (void *src, void *dst, int64_t n) const
 
void move_assign_indices (void *src, void *dst, IndexMask mask) const
 
void move_construct (void *src, void *dst) const
 
void move_construct_n (void *src, void *dst, int64_t n) const
 
void move_construct_indices (void *src, void *dst, IndexMask mask) const
 
void relocate_assign (void *src, void *dst) const
 
void relocate_assign_n (void *src, void *dst, int64_t n) const
 
void relocate_assign_indices (void *src, void *dst, IndexMask mask) const
 
void relocate_construct (void *src, void *dst) const
 
void relocate_construct_n (void *src, void *dst, int64_t n) const
 
void relocate_construct_indices (void *src, void *dst, IndexMask mask) const
 
void fill_assign_n (const void *value, void *dst, int64_t n) const
 
void fill_assign_indices (const void *value, void *dst, IndexMask mask) const
 
void fill_construct_n (const void *value, void *dst, int64_t n) const
 
void fill_construct_indices (const void *value, void *dst, IndexMask mask) const
 
bool can_exist_in_buffer (const int64_t buffer_size, const int64_t buffer_alignment) const
 
void print (const void *value, std::stringstream &ss) const
 
std::string to_string (const void *value) const
 
void print_or_default (const void *value, std::stringstream &ss, StringRef default_value) const
 
bool is_equal (const void *a, const void *b) const
 
bool is_equal_or_false (const void *a, const void *b) const
 
uint64_t hash (const void *value) const
 
uint64_t hash_or_fallback (const void *value, uint64_t fallback_hash) const
 
const voiddefault_value () const
 
uint64_t hash () const
 
template<typename T >
bool is () const
 
template<typename... Types, typename Fn >
void to_static_type (const Fn &fn) const
 
template<typename... Types, typename Fn >
void to_static_type_tag (const Fn &fn) const
 

Additional Inherited Members

- Static Public Member Functions inherited from blender::CPPType
template<typename T >
static const CPPTypeget ()
 
template<typename T >
static const CPPTypeget_impl ()
 
- Public Attributes inherited from blender::CPPType
void(*)(void *) destruct_fn () const
 

Detailed Description

Definition at line 49 of file FN_field_cpp_type.hh.

Constructor & Destructor Documentation

◆ ValueOrFieldCPPType()

template<typename T >
blender::fn::ValueOrFieldCPPType::ValueOrFieldCPPType ( FieldCPPTypeParam< ValueOrField< T >>  ,
StringRef  debug_name 
)
inline

Definition at line 61 of file FN_field_cpp_type.hh.

References as_field(), is_field(), None, and T.

Member Function Documentation

◆ as_field()

GField blender::fn::ValueOrFieldCPPType::as_field ( const void value_or_field) const
inline

◆ base_type()

const CPPType& blender::fn::ValueOrFieldCPPType::base_type ( ) const
inline

◆ construct_from_field()

void blender::fn::ValueOrFieldCPPType::construct_from_field ( void dst,
GField  field 
) const
inline

◆ construct_from_value()

void blender::fn::ValueOrFieldCPPType::construct_from_value ( void dst,
const void value 
) const
inline

Definition at line 90 of file FN_field_cpp_type.hh.

◆ get_field_ptr()

const GField* blender::fn::ValueOrFieldCPPType::get_field_ptr ( const void value_or_field) const
inline

◆ get_value_ptr() [1/2]

const void* blender::fn::ValueOrFieldCPPType::get_value_ptr ( const void value_or_field) const
inline

◆ get_value_ptr() [2/2]

void* blender::fn::ValueOrFieldCPPType::get_value_ptr ( void value_or_field) const
inline

Definition at line 105 of file FN_field_cpp_type.hh.

◆ is_field()

bool blender::fn::ValueOrFieldCPPType::is_field ( const void value_or_field) const
inline

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