Blender V5.0
blender::GPointer Class Reference

#include <BLI_generic_pointer.hh>

Public Member Functions

 GPointer ()=default
 GPointer (GMutablePointer ptr)
 GPointer (const CPPType *type, const void *data=nullptr)
 GPointer (const CPPType &type, const void *data=nullptr)
template<typename T, BLI_ENABLE_IF((!std::is_void_v< T >))>
 GPointer (T *data)
 operator bool () const
const void * get () const
const CPPTypetype () const
template<typename T>
const Tget () const
template<typename T>
bool is_type () const

Detailed Description

A generic const pointer whose type is only known at runtime.

Definition at line 85 of file BLI_generic_pointer.hh.

Constructor & Destructor Documentation

◆ GPointer() [1/5]

blender::GPointer::GPointer ( )
default

Referenced by GPointer().

◆ GPointer() [2/5]

blender::GPointer::GPointer ( GMutablePointer ptr)
inline

Definition at line 93 of file BLI_generic_pointer.hh.

References get(), ptr, and type().

◆ GPointer() [3/5]

blender::GPointer::GPointer ( const CPPType * type,
const void * data = nullptr )
inline

Definition at line 95 of file BLI_generic_pointer.hh.

References BLI_assert, data, and type().

◆ GPointer() [4/5]

blender::GPointer::GPointer ( const CPPType & type,
const void * data = nullptr )
inline

Definition at line 101 of file BLI_generic_pointer.hh.

References data, and type().

◆ GPointer() [5/5]

template<typename T, BLI_ENABLE_IF((!std::is_void_v< T >))>
blender::GPointer::GPointer ( T * data)
inline

Definition at line 104 of file BLI_generic_pointer.hh.

References data, get(), GPointer(), and T.

Member Function Documentation

◆ get() [1/2]

template<typename T>
const T * blender::GPointer::get ( ) const
inline

Definition at line 123 of file BLI_generic_pointer.hh.

References BLI_assert, is_type(), and T.

◆ get() [2/2]

const void * blender::GPointer::get ( ) const
inline

Definition at line 113 of file BLI_generic_pointer.hh.

Referenced by blender::bke::add_custom_data_layer_from_attribute_init(), blender::GValueMap< Key >::add_new_by_copy(), blender::fn::multi_function::ParamsBuilder::add_readonly_single_input(), blender::ed::mesh::set_attribute::bmesh_loop_layer_selected_values_set(), blender::ed::mesh::set_attribute::bmesh_vert_edge_face_layer_selected_values_set(), blender::fn::build_multi_function_procedure_for_fields(), blender::ed::spreadsheet::ViewerDataTreeView::build_value(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_content_cell_value(), blender::nodes::node_geo_viewer_cc::draw_from_viewer_log_value(), blender::nodes::node_geo_viewer_cc::draw_generic_value_log(), blender::fn::evaluate_fields(), blender::bke::SocketValueVariant::extract(), blender::bke::curves::fill_points(), blender::bke::Attribute::ArrayData::from_value(), blender::nodes::node_geo_viewer_cc::geo_viewer_node_log_impl(), blender::nodes::get_geometry_nodes_input_inference_values(), GPointer(), GPointer(), blender::nodes::node_composite_file_output_cc::FileOutputOperation::inflate_result(), blender::geometry::initialize_curves_builtin_attribute_defaults(), blender::nodes::geo_eval_log::GeoTreeLogger::log_value(), blender::nodes::mix_baked_data_item(), blender::bke::bake::move_common_socket_value_to_bake_item(), blender::bke::SocketValueVariant::operator<<, blender::ed::geometry::rna_property_for_attribute_type_set_value(), blender::ed::curves::set_attribute_exec(), blender::ed::pointcloud::set_attribute_exec(), and value_attribute_to_matrix().

◆ is_type()

◆ operator bool()

blender::GPointer::operator bool ( ) const
inline

Definition at line 108 of file BLI_generic_pointer.hh.

◆ type()


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