20 mutable std::atomic<int> refcount_tot = 0;
26 mutable std::atomic<int> refcount_strong = 0;
42 static std::atomic<int> index = 0;
43 const int next_index = index.fetch_add(1);
84 const int new_refcount = anonymous_id->
refcount_tot.fetch_sub(1) - 1;
85 if (new_refcount == 0) {
struct AnonymousAttributeID AnonymousAttributeID
void BKE_anonymous_attribute_id_decrement_weak(const AnonymousAttributeID *anonymous_id)
void BKE_anonymous_attribute_id_increment_strong(const AnonymousAttributeID *anonymous_id)
static std::string get_new_internal_name()
void BKE_anonymous_attribute_id_decrement_strong(const AnonymousAttributeID *anonymous_id)
AnonymousAttributeID * BKE_anonymous_attribute_id_new_strong(const char *debug_name)
const char * BKE_anonymous_attribute_id_internal_name(const AnonymousAttributeID *anonymous_id)
const char * BKE_anonymous_attribute_id_debug_name(const AnonymousAttributeID *anonymous_id)
void BKE_anonymous_attribute_id_increment_weak(const AnonymousAttributeID *anonymous_id)
bool BKE_anonymous_attribute_id_has_strong_references(const AnonymousAttributeID *anonymous_id)
AnonymousAttributeID * BKE_anonymous_attribute_id_new_weak(const char *debug_name)
std::string to_string(const T &n)
std::string internal_name
std::atomic< int > refcount_strong
std::atomic< int > refcount_tot