Blender  V3.3
Public Attributes | List of all members
AnonymousAttributeID Struct Reference

Public Attributes

std::atomic< int > refcount_tot = 0
 
std::atomic< int > refcount_strong = 0
 
std::string debug_name
 
std::string internal_name
 

Detailed Description

A struct that identifies an attribute. It's lifetime is managed by an atomic reference count.

Additionally, this struct can be strongly or weakly owned. The difference is that strong ownership means that attributes with this id will be kept around. Weak ownership just makes sure that the struct itself stays alive, but corresponding attributes might still be removed automatically.

Definition at line 15 of file anonymous_attribute.cc.

Member Data Documentation

◆ debug_name

std::string AnonymousAttributeID::debug_name

Only used to identify this struct in a debugging session.

Definition at line 31 of file anonymous_attribute.cc.

Referenced by BKE_anonymous_attribute_id_debug_name(), BKE_anonymous_attribute_id_new_strong(), and BKE_anonymous_attribute_id_new_weak().

◆ internal_name

std::string AnonymousAttributeID::internal_name

Unique name of the this attribute id during the current session.

Definition at line 36 of file anonymous_attribute.cc.

Referenced by BKE_anonymous_attribute_id_internal_name(), BKE_anonymous_attribute_id_new_strong(), and BKE_anonymous_attribute_id_new_weak().

◆ refcount_strong

std::atomic<int> AnonymousAttributeID::refcount_strong = 0
mutable

Number of strong references to this attribute id. When this is zero, the corresponding attributes can be removed from geometries automatically.

Definition at line 26 of file anonymous_attribute.cc.

Referenced by BKE_anonymous_attribute_id_decrement_strong(), BKE_anonymous_attribute_id_decrement_weak(), BKE_anonymous_attribute_id_has_strong_references(), BKE_anonymous_attribute_id_increment_strong(), and BKE_anonymous_attribute_id_new_strong().

◆ refcount_tot

std::atomic<int> AnonymousAttributeID::refcount_tot = 0
mutable

Total number of references to this attribute id. Once this reaches zero, the struct can be freed. This includes strong and weak references.

Definition at line 20 of file anonymous_attribute.cc.

Referenced by BKE_anonymous_attribute_id_decrement_weak(), BKE_anonymous_attribute_id_increment_strong(), BKE_anonymous_attribute_id_increment_weak(), BKE_anonymous_attribute_id_new_strong(), and BKE_anonymous_attribute_id_new_weak().


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