15 this->
get(i, elem_dst);
31 this->
get(mask[i], elem_dst);
264 void get(
const int64_t UNUSED(index),
void *r_value)
const override
266 this->copy_value_to(r_value);
268 void get_to_uninitialized(
const int64_t UNUSED(index),
void *r_value)
const override
270 this->copy_value_to(r_value);
273 void copy_value_to(
void *dst)
const
278 CommonVArrayInfo common_info()
const override
293 :
GSpan(varray ? &varray.
type() : nullptr), varray_(
std::move(varray))
312 :
GSpan(other.type_ptr()), varray_(
std::move(other.varray_)), owned_data_(other.owned_data_)
326 other.owned_data_ =
nullptr;
327 other.data_ =
nullptr;
333 if (owned_data_ !=
nullptr) {
341 if (
this == &other) {
344 std::destroy_at(
this);
370 if (copy_values_to_span) {
382 varray_(
std::move(other.varray_)),
383 owned_data_(other.owned_data_),
384 show_not_saved_warning_(other.show_not_saved_warning_)
397 other.owned_data_ =
nullptr;
398 other.data_ =
nullptr;
405 if (show_not_saved_warning_) {
406 if (!save_has_been_called_) {
407 std::cout <<
"Warning: Call `save()` to make sure that changes persist in all cases.\n";
411 if (owned_data_ !=
nullptr) {
419 if (
this == &other) {
422 std::destroy_at(
this);
429 save_has_been_called_ =
true;
430 if (
data_ != owned_data_) {
438 show_not_saved_warning_ =
false;
481 switch (internal_info.
type) {
491 return internal_info;
500 if (
mask.is_range()) {
528 impl_ = this->impl_from_storage();
529 other.storage_.reset();
530 other.impl_ =
nullptr;
580 if (
this == &other) {
589 if (
this == &other) {
592 storage_ = std::move(other.storage_);
593 impl_ = this->impl_from_storage();
594 other.storage_.reset();
595 other.impl_ =
nullptr;
667 this->emplace<GVArrayImpl_For_SmallTrivialSingleValue<16>>(
type,
size, value);
670 this->emplace<GVArrayImpl_For_SingleValue>(
type,
size, value);
707 return GVArray::For<GVArrayImpl_For_GArray>(
array);
726 return GVArray::For<GVArrayImpl_For_SlicedGVArray>(*
this,
slice);
737 this->move_from(std::move(other));
761 return GVMutableArray::For<GVArrayImpl_For_GSpan_final>(span);
786 this->move_from(std::move(other));
792 return this->get_impl();
814 CommonVArrayInfo GVArrayImpl_For_SingleValueRef_final::common_info()
const
#define BLI_assert_unreachable()
#define BUFFER_FOR_CPP_TYPE_VALUE(type, variable_name)
#define POINTER_OFFSET(v, ofs)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
const RealExtraInfo & extra_info() const
void default_construct_n(void *ptr, int64_t n) const
void fill_assign_indices(const void *value, void *dst, IndexMask mask) const
void destruct_n(void *ptr, int64_t n) const
void fill_assign_n(const void *value, void *dst, int64_t n) const
void copy_assign_indices(const void *src, void *dst, IndexMask mask) const
void fill_construct_n(const void *value, void *dst, int64_t n) const
void copy_assign_n(const void *src, void *dst, int64_t n) const
void copy_construct_compressed(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 destruct(void *ptr) const
void fill_construct_indices(const void *value, void *dst, IndexMask mask) const
int64_t alignment() const
void copy_assign(const void *src, void *dst) const
void move_construct(void *src, void *dst) const
const void * default_value() const
void relocate_assign(void *src, void *dst) const
void default_construct(void *ptr) const
void copy_construct_indices(const void *src, void *dst, IndexMask mask) const
const GVMutableArray & varray() const
GMutableVArraySpan & operator=(GMutableVArraySpan &&other)
void disable_not_applied_warning()
GSpan slice(const int64_t start, int64_t size) const
CommonVArrayInfo common_info() const
GSpan get_internal_span() const
const GVArrayImpl * impl_from_storage() const
void copy_from(const GVArrayCommon &other)
const CPPType & type() const
void move_from(GVArrayCommon &&other) noexcept
void get_to_uninitialized(int64_t index, void *r_value) const
void materialize(void *dst) const
void get_internal_single_to_uninitialized(void *r_value) const
void materialize_to_uninitialized(void *dst) const
void get(int64_t index, void *r_value) const
IndexRange index_range() const
const GVArrayImpl * impl_
void materialize_compressed_to_uninitialized(IndexMask mask, void *dst) const
void materialize_compressed(IndexMask mask, void *dst) const
void get_internal_single(void *r_value) const
GVArrayImpl_For_GArray(GArray<> array)
virtual void materialize_compressed_to_uninitialized(const IndexMask mask, void *dst) const override
CommonVArrayInfo common_info() const override
void set_by_move(int64_t index, void *value) override
void get_to_uninitialized(int64_t index, void *r_value) const override
virtual void materialize(const IndexMask mask, void *dst) const override
void set_by_relocate(int64_t index, void *value) override
virtual void materialize_compressed(const IndexMask mask, void *dst) const override
const int64_t element_size_
virtual void materialize_to_uninitialized(const IndexMask mask, void *dst) const override
void get(int64_t index, void *r_value) const override
void set_by_copy(int64_t index, const void *value) override
void materialize_to_uninitialized(const IndexMask mask, void *dst) const override
void get(const int64_t index, void *r_value) const override
void materialize_compressed_to_uninitialized(const IndexMask mask, void *dst) const override
void materialize_compressed(const IndexMask mask, void *dst) const override
void get_to_uninitialized(const int64_t index, void *r_value) const override
CommonVArrayInfo common_info() const override
void materialize(const IndexMask mask, void *dst) const override
GVArrayImpl_For_SingleValue(const CPPType &type, const int64_t size, const void *value)
~GVArrayImpl_For_SingleValue() override
CommonVArrayInfo common_info() const override
void get(const int64_t index, void *r_value) const override
void materialize_compressed_to_uninitialized(const IndexMask mask, void *dst) const override
GVArrayImpl_For_SlicedGVArray(GVArray varray, const IndexRange slice)
void get_to_uninitialized(const int64_t index, void *r_value) const override
GVArrayImpl_For_SmallTrivialSingleValue(const CPPType &type, const int64_t size, const void *value)
virtual void materialize_compressed_to_uninitialized(IndexMask mask, void *dst) const
virtual void get_to_uninitialized(int64_t index, void *r_value) const =0
virtual void materialize_compressed(IndexMask mask, void *dst) const
virtual void materialize(const IndexMask mask, void *dst) const
virtual void materialize_to_uninitialized(const IndexMask mask, void *dst) const
virtual void get(int64_t index, void *r_value) const
virtual bool try_assign_VArray(void *varray) const
virtual CommonVArrayInfo common_info() const
const CPPType & type() const
GVArraySpan & operator=(GVArraySpan &&other)
GVArray slice(IndexRange slice) const
static GVArray ForEmpty(const CPPType &type)
static GVArray ForGArray(GArray<> array)
static GVArray ForSingleDefault(const CPPType &type, int64_t size)
GVArray & operator=(const GVArray &other)
static GVArray ForSingleRef(const CPPType &type, int64_t size, const void *value)
static GVArray ForSpan(GSpan span)
static GVArray ForSingle(const CPPType &type, int64_t size, const void *value)
virtual bool try_assign_VMutableArray(void *varray) const
virtual void set_all(const void *src)
virtual void set_by_copy(int64_t index, const void *value)
virtual void set_by_relocate(int64_t index, void *value)
virtual void set_by_move(int64_t index, void *value)=0
void set_all(const void *src)
void set_by_copy(int64_t index, const void *value)
GVMutableArrayImpl * get_implementation() const
GMutableSpan get_internal_span() const
GVMutableArray & operator=(const GVMutableArray &other)
void fill(const void *value)
static GVMutableArray ForSpan(GMutableSpan span)
constexpr int64_t one_after_last() const
constexpr int64_t size() const
constexpr int64_t start() const
Span< T > as_span() const
SyclQueue void void * src
ccl_global float * buffer
void(* MEM_freeN)(void *vmemh)
void *(* MEM_mallocN_aligned)(size_t len, size_t alignment, const char *str)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)