32 if constexpr (IsStrongReference) {
49 template<
bool OtherIsStrong>
56 template<
bool OtherIsStrong>
62 other.data_ =
nullptr;
70 template<
bool OtherIsStrong>
81 template<
bool OtherIsStrong>
94 return data_ !=
nullptr;
115 return extracted_data;
127 if (
data_ ==
nullptr) {
130 if constexpr (IsStrongReference) {
140 if (
data_ ==
nullptr) {
143 if constexpr (IsStrongReference) {
void BKE_anonymous_attribute_id_decrement_weak(const AnonymousAttributeID *anonymous_id)
void BKE_anonymous_attribute_id_increment_strong(const AnonymousAttributeID *anonymous_id)
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_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)
constexpr const char * c_str() const
StringRefNull debug_name() const
OwnedAnonymousAttributeID & operator=(OwnedAnonymousAttributeID< OtherIsStrong > &&other)
OwnedAnonymousAttributeID()=default
const AnonymousAttributeID * extract()
~OwnedAnonymousAttributeID()
OwnedAnonymousAttributeID(const OwnedAnonymousAttributeID< OtherIsStrong > &other)
const AnonymousAttributeID * get() const
OwnedAnonymousAttributeID(const AnonymousAttributeID *anonymous_id)
OwnedAnonymousAttributeID(StringRefNull debug_name)
friend class OwnedAnonymousAttributeID
bool has_strong_references() const
OwnedAnonymousAttributeID & operator=(const OwnedAnonymousAttributeID< OtherIsStrong > &other)
OwnedAnonymousAttributeID(OwnedAnonymousAttributeID< OtherIsStrong > &&other)