Blender V4.5
blender::nodes::Bundle Class Reference

#include <NOD_geometry_nodes_bundle.hh>

Inherits blender::ImplicitSharingMixin.

Classes

struct  StoredItem
struct  Item

Public Member Functions

 Bundle ()
 Bundle (const Bundle &other)
 Bundle (Bundle &&other) noexcept
Bundleoperator= (const Bundle &other)
Bundleoperator= (Bundle &&other) noexcept
 ~Bundle ()
void add_new (SocketInterfaceKey key, const bke::bNodeSocketType &type, const void *value)
bool add (const SocketInterfaceKey &key, const bke::bNodeSocketType &type, const void *value)
bool add (SocketInterfaceKey &&key, const bke::bNodeSocketType &type, const void *value)
bool remove (const SocketInterfaceKey &key)
bool contains (const SocketInterfaceKey &key) const
std::optional< Itemlookup (const SocketInterfaceKey &key) const
Span< StoredItemitems () const
void delete_self () override
Public Member Functions inherited from blender::ImplicitSharingInfo
virtual ~ImplicitSharingInfo ()
bool is_mutable () const
bool is_expired () const
void add_user () const
void add_weak_user () const
void tag_ensured_mutable () const
int64_t version () const
int strong_users () const
void remove_user_and_delete_if_last () const
void remove_weak_user_and_delete_if_last () const

Static Public Member Functions

static BundlePtr create ()

Detailed Description

A bundle is a map containing keys and their corresponding values. Values are stored as the type they have in Geometry Nodes (#bNodeSocketType::geometry_nodes_cpp_type).

Definition at line 20 of file NOD_geometry_nodes_bundle.hh.

Constructor & Destructor Documentation

◆ Bundle() [1/3]

blender::nodes::Bundle::Bundle ( )
default

References Bundle().

Referenced by Bundle(), Bundle(), Bundle(), operator=(), and operator=().

◆ Bundle() [2/3]

◆ Bundle() [3/3]

blender::nodes::Bundle::Bundle ( Bundle && other)
noexcept

Definition at line 55 of file blenkernel/intern/geometry_nodes_bundle.cc.

References Bundle().

◆ ~Bundle()

blender::nodes::Bundle::~Bundle ( )

Definition at line 38 of file blenkernel/intern/geometry_nodes_bundle.cc.

References MEM_freeN().

Referenced by operator=().

Member Function Documentation

◆ add() [1/2]

bool blender::nodes::Bundle::add ( const SocketInterfaceKey & key,
const bke::bNodeSocketType & type,
const void * value )

◆ add() [2/2]

bool blender::nodes::Bundle::add ( SocketInterfaceKey && key,
const bke::bNodeSocketType & type,
const void * value )

Definition at line 103 of file nodes/intern/geometry_nodes_bundle.cc.

References add(), add_new(), and contains().

◆ add_new()

void blender::nodes::Bundle::add_new ( SocketInterfaceKey key,
const bke::bNodeSocketType & type,
const void * value )

◆ contains()

bool blender::nodes::Bundle::contains ( const SocketInterfaceKey & key) const

Definition at line 131 of file blenkernel/intern/geometry_nodes_bundle.cc.

Referenced by add(), add(), and add_new().

◆ create()

BundlePtr blender::nodes::Bundle::create ( )
inlinestatic

◆ delete_self()

void blender::nodes::Bundle::delete_self ( )
overridevirtual

◆ items()

Span< StoredItem > blender::nodes::Bundle::items ( ) const
inline

◆ lookup()

std::optional< Bundle::Item > blender::nodes::Bundle::lookup ( const SocketInterfaceKey & key) const

Definition at line 109 of file blenkernel/intern/geometry_nodes_bundle.cc.

◆ operator=() [1/2]

Bundle & blender::nodes::Bundle::operator= ( Bundle && other)
noexcept

Definition at line 70 of file blenkernel/intern/geometry_nodes_bundle.cc.

References Bundle().

◆ operator=() [2/2]

Bundle & blender::nodes::Bundle::operator= ( const Bundle & other)

Definition at line 60 of file blenkernel/intern/geometry_nodes_bundle.cc.

References Bundle(), and ~Bundle().

◆ remove()


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