Blender
V3.3
|
#include <BLI_generic_span.hh>
Public Member Functions | |
GSpan ()=default | |
GSpan (const CPPType *type, const void *buffer, int64_t size) | |
GSpan (const CPPType &type, const void *buffer, int64_t size) | |
GSpan (const CPPType &type) | |
GSpan (const CPPType *type) | |
template<typename T > | |
GSpan (Span< T > array) | |
const CPPType & | type () const |
const CPPType * | type_ptr () const |
bool | is_empty () const |
int64_t | size () const |
const void * | data () const |
const void * | operator[] (int64_t index) const |
template<typename T > | |
Span< T > | typed () const |
GSpan | slice (const int64_t start, int64_t size) const |
GSpan | slice (const IndexRange range) const |
Protected Attributes | |
const CPPType * | type_ = nullptr |
const void * | data_ = nullptr |
int64_t | size_ = 0 |
A generic span. It behaves just like a blender::Span<T>, but the type is only known at run-time.
Definition at line 17 of file BLI_generic_span.hh.
|
default |
Referenced by slice().
Definition at line 26 of file BLI_generic_span.hh.
References BLI_assert, buffer, blender::CPPType::pointer_has_valid_alignment(), size(), and type().
Definition at line 35 of file BLI_generic_span.hh.
|
inline |
Definition at line 39 of file BLI_generic_span.hh.
|
inline |
Definition at line 43 of file BLI_generic_span.hh.
Definition at line 48 of file BLI_generic_span.hh.
|
inline |
Definition at line 74 of file BLI_generic_span.hh.
References data_.
Referenced by blender::GMutableSpan::copy_from(), and blender::GVArray::GVArray().
|
inline |
Definition at line 64 of file BLI_generic_span.hh.
References size_.
Referenced by blender::tests::TEST().
Definition at line 79 of file BLI_generic_span.hh.
References BLI_assert, data_, POINTER_OFFSET, blender::CPPType::size(), size_, and type_.
|
inline |
Definition at line 69 of file BLI_generic_span.hh.
References size_.
Referenced by blender::fn::MFParamsBuilder::add_readonly_single_input(), blender::bke::DataTypeConversions::convert_to_initialized_n(), blender::GMutableSpan::copy_from(), blender::GVVectorArray_For_SingleGSpan::get_vector_size_impl(), GSpan(), blender::GVArray::GVArray(), slice(), and blender::tests::TEST().
|
inline |
Definition at line 99 of file BLI_generic_span.hh.
References blender::IndexRange::size(), slice(), and blender::IndexRange::start().
Definition at line 91 of file BLI_generic_span.hh.
References BLI_assert, data_, GSpan(), min, POINTER_OFFSET, blender::CPPType::size(), size(), size_, and type_.
Referenced by slice(), and blender::GVArray::slice().
|
inline |
Definition at line 53 of file BLI_generic_span.hh.
References BLI_assert, and type_.
Referenced by blender::fn::MFParamsBuilder::add_readonly_single_input(), blender::bke::DataTypeConversions::convert_to_initialized_n(), blender::GMutableSpan::copy_from(), blender::bke::copy_main_point_domain_attribute_to_mesh(), blender::bke::copy_profile_point_domain_attribute_to_mesh(), blender::nodes::node_geo_curve_to_points_cc::copy_spline_domain_attributes(), GSpan(), and blender::GVArray::GVArray().
|
inline |
Definition at line 59 of file BLI_generic_span.hh.
References type_.
Definition at line 85 of file BLI_generic_span.hh.
References BLI_assert, data_, blender::CPPType::is(), size_, T, and type_.
Referenced by blender::bke::curve_to_mesh_sweep(), blender::geometry::preprocess_curves(), blender::geometry::preprocess_meshes(), blender::geometry::preprocess_pointclouds(), and blender::tests::TEST().
|
protected |
Definition at line 20 of file BLI_generic_span.hh.
Referenced by data(), blender::GVArraySpan::GVArraySpan(), operator[](), slice(), and typed().
|
protected |
Definition at line 21 of file BLI_generic_span.hh.
Referenced by blender::GVArraySpan::GVArraySpan(), is_empty(), operator[](), size(), slice(), typed(), and blender::GVArraySpan::~GVArraySpan().
|
protected |
Definition at line 19 of file BLI_generic_span.hh.
Referenced by blender::GVArraySpan::GVArraySpan(), operator[](), slice(), type(), type_ptr(), typed(), and blender::GVArraySpan::~GVArraySpan().