Blender V5.0
blender::GSpan Class Reference

#include <BLI_generic_span.hh>

Inherited by blender::GVArraySpan.

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)
template<typename T>
 GSpan (MutableSpan< T > array)
const CPPTypetype () const
const CPPTypetype_ptr () const
bool is_empty () const
int64_t size () const
int64_t size_in_bytes () const
const void * data () const
const void * operator[] (int64_t index) const
template<typename T>
Span< Ttyped () const
GSpan slice (const int64_t start, int64_t size) const
GSpan slice (const IndexRange range) const
GSpan drop_front (const int64_t n) const
GSpan drop_back (const int64_t n) const
GSpan take_front (const int64_t n) const
GSpan take_back (const int64_t n) const

Protected Attributes

const CPPTypetype_ = nullptr
const void * data_ = nullptr
int64_t size_ = 0

Detailed Description

A generic span. It behaves just like a blender::Span<T>, but the type is only known at run-time.

Definition at line 19 of file BLI_generic_span.hh.

Constructor & Destructor Documentation

◆ GSpan() [1/7]

◆ GSpan() [2/7]

blender::GSpan::GSpan ( const CPPType * type,
const void * buffer,
int64_t size )
inline

Definition at line 28 of file BLI_generic_span.hh.

References BLI_assert, data_, size(), size_, type(), and type_.

◆ GSpan() [3/7]

blender::GSpan::GSpan ( const CPPType & type,
const void * buffer,
int64_t size )
inline

Definition at line 37 of file BLI_generic_span.hh.

References GSpan(), size(), and type().

◆ GSpan() [4/7]

blender::GSpan::GSpan ( const CPPType & type)
inline

Definition at line 39 of file BLI_generic_span.hh.

References type(), and type_.

◆ GSpan() [5/7]

blender::GSpan::GSpan ( const CPPType * type)
inline

Definition at line 41 of file BLI_generic_span.hh.

References type(), and type_.

◆ GSpan() [6/7]

template<typename T>
blender::GSpan::GSpan ( Span< T > array)
inline

Definition at line 44 of file BLI_generic_span.hh.

References data(), GSpan(), size(), and T.

◆ GSpan() [7/7]

template<typename T>
blender::GSpan::GSpan ( MutableSpan< T > array)
inline

Definition at line 50 of file BLI_generic_span.hh.

References data(), GSpan(), size(), and T.

Member Function Documentation

◆ data()

const void * blender::GSpan::data ( ) const
inline

Definition at line 81 of file BLI_generic_span.hh.

References data_.

Referenced by blender::nodes::node_geo_instance_on_points_cc::add_instances_from_component(), blender::ed::greasepencil::attributes_varrays_span_data_equal(), blender::bke::build_mesh_positions(), blender::ed::sculpt_paint::color::color_vert_get(), blender::nodes::node_geo_instances_to_points_cc::convert_instances_to_points(), blender::GMutableSpan::copy_from(), blender::nodes::node_composite_convert_color_space_cc::ConvertColorSpaceOperation::execute_cpu(), blender::nodes::node_composite_convert_to_display_cc::ConvertToDisplayOperation::execute_cpu(), blender::geometry::fill_new_attribute(), blender::bke::gather_attributes(), blender::nodes::node_geo_mesh_to_points_cc::geometry_set_mesh_to_points(), blender::nodes::node_geo_points_to_vertices_cc::geometry_set_points_to_vertices(), blender::nodes::node_geo_blur_attribute_cc::BlurAttributeFieldInput::get_varray_for_context(), GSpan(), GSpan(), blender::GVArray::GVArray(), blender::compositor::Result::is_allocated(), blender::ed::sculpt_paint::replace_attribute(), blender::compositor::Result::sample(), blender::compositor::Result::sample_bilinear_extended(), blender::compositor::Result::sample_bilinear_wrap(), blender::compositor::Result::sample_bilinear_zero(), blender::compositor::Result::sample_cubic_extended(), blender::compositor::Result::sample_cubic_wrap(), blender::compositor::Result::sample_nearest_extended(), blender::compositor::Result::sample_nearest_wrap(), blender::compositor::Result::sample_nearest_zero(), blender::bke::save_shared_attribute(), blender::save_shared_attribute(), blender::bke::try_add_shared_field_attribute(), blender::bke::try_sharing_point_data(), and vertex_paint_from_weight().

◆ drop_back()

GSpan blender::GSpan::drop_back ( const int64_t n) const
inline

Definition at line 119 of file BLI_generic_span.hh.

References BLI_assert, data_, GSpan(), size_, and type_.

◆ drop_front()

GSpan blender::GSpan::drop_front ( const int64_t n) const
inline

Definition at line 112 of file BLI_generic_span.hh.

References BLI_assert, data_, GSpan(), POINTER_OFFSET, size_, and type_.

◆ is_empty()

◆ operator[]()

const void * blender::GSpan::operator[] ( int64_t index) const
inline

Definition at line 86 of file BLI_generic_span.hh.

References BLI_assert, data_, POINTER_OFFSET, size_, and type_.

◆ size()

◆ size_in_bytes()

int64_t blender::GSpan::size_in_bytes ( ) const
inline

Definition at line 76 of file BLI_generic_span.hh.

References size_, and type_.

◆ slice() [1/2]

GSpan blender::GSpan::slice ( const IndexRange range) const
inline

◆ slice() [2/2]

◆ take_back()

GSpan blender::GSpan::take_back ( const int64_t n) const
inline

Definition at line 133 of file BLI_generic_span.hh.

References BLI_assert, data_, GSpan(), POINTER_OFFSET, size_, and type_.

◆ take_front()

GSpan blender::GSpan::take_front ( const int64_t n) const
inline

Definition at line 126 of file BLI_generic_span.hh.

References BLI_assert, data_, GSpan(), size_, and type_.

◆ type()

const CPPType & blender::GSpan::type ( ) const
inline

Definition at line 55 of file BLI_generic_span.hh.

References BLI_assert, and type_.

Referenced by blender::fn::multi_function::ParamsBuilder::add_readonly_single_input(), blender::ed::greasepencil::apply_eval_grease_pencil_data(), blender::geometry::bezier_generic_to_nurbs(), blender::ed::sculpt_paint::color::color_vert_get(), blender::bke::DataTypeConversions::convert_to_initialized_n(), blender::GMutableSpan::copy_from(), blender::bke::copy_profile_point_domain_attribute_to_mesh(), blender::nodes::node_geo_extrude_mesh_cc::copy_with_mixing(), blender::nodes::node_geo_extrude_mesh_cc::copy_with_mixing(), blender::geometry::curve_simplify(), blender::bke::attribute_math::gather(), blender::bke::gather_attributes(), blender::ed::sculpt_paint::color::gather_colors(), blender::ed::sculpt_paint::color::gather_colors_vert(), blender::bke::attribute_math::gather_group_to_group(), blender::bke::attribute_math::gather_ranges_to_groups(), blender::bke::attribute_math::gather_to_groups(), blender::geometry::gaussian_blur_1D(), GSpan(), GSpan(), GSpan(), GSpan(), blender::GVArray::GVArray(), blender::GVArraySpan::GVArraySpan(), blender::ed::curves::has_anything_selected(), blender::bke::curves::bezier::interpolate_to_evaluated(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::bke::curves::nurbs::interpolate_to_evaluated(), blender::geometry::nurbs_to_bezier_assign(), blender::geometry::prepare_attribute_fallbacks(), blender::ed::curves::resize_curves(), blender::geometry::sample_curve_attribute(), blender::geometry::simplify_curve_attribute(), blender::geometry::threaded_copy(), and blender::draw::vertbuf_data_extract_direct().

◆ type_ptr()

const CPPType * blender::GSpan::type_ptr ( ) const
inline

Definition at line 61 of file BLI_generic_span.hh.

References type_.

Referenced by blender::GVArraySpan::GVArraySpan().

◆ typed()

Member Data Documentation

◆ data_

const void* blender::GSpan::data_ = nullptr
protected

◆ size_

◆ type_


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