Blender  V3.3
Public Member Functions | Friends | List of all members
blender::bke::OwnedAnonymousAttributeID< IsStrongReference > Class Template Reference

#include <BKE_anonymous_attribute.hh>

Public Member Functions

 OwnedAnonymousAttributeID ()=default
 
 OwnedAnonymousAttributeID (StringRefNull debug_name)
 
 OwnedAnonymousAttributeID (const AnonymousAttributeID *anonymous_id)
 
template<bool OtherIsStrong>
 OwnedAnonymousAttributeID (const OwnedAnonymousAttributeID< OtherIsStrong > &other)
 
template<bool OtherIsStrong>
 OwnedAnonymousAttributeID (OwnedAnonymousAttributeID< OtherIsStrong > &&other)
 
 ~OwnedAnonymousAttributeID ()
 
template<bool OtherIsStrong>
OwnedAnonymousAttributeIDoperator= (const OwnedAnonymousAttributeID< OtherIsStrong > &other)
 
template<bool OtherIsStrong>
OwnedAnonymousAttributeIDoperator= (OwnedAnonymousAttributeID< OtherIsStrong > &&other)
 
 operator bool () const
 
StringRefNull debug_name () const
 
bool has_strong_references () const
 
const AnonymousAttributeIDextract ()
 
const AnonymousAttributeIDget () const
 

Friends

template<bool OtherIsStrongReference>
class OwnedAnonymousAttributeID
 

Detailed Description

template<bool IsStrongReference>
class blender::bke::OwnedAnonymousAttributeID< IsStrongReference >

Wrapper for AnonymousAttributeID with RAII semantics. This class should typically not be used directly. Instead use StrongAnonymousAttributeID or WeakAnonymousAttributeID.

Definition at line 20 of file BKE_anonymous_attribute.hh.

Constructor & Destructor Documentation

◆ OwnedAnonymousAttributeID() [1/5]

template<bool IsStrongReference>
blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::OwnedAnonymousAttributeID ( )
default

◆ OwnedAnonymousAttributeID() [2/5]

template<bool IsStrongReference>
blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::OwnedAnonymousAttributeID ( StringRefNull  debug_name)
inlineexplicit

◆ OwnedAnonymousAttributeID() [3/5]

template<bool IsStrongReference>
blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::OwnedAnonymousAttributeID ( const AnonymousAttributeID anonymous_id)
inlineexplicit

This transfers ownership, so no incref is necessary. The caller has to make sure that it owned the anonymous id.

Definition at line 44 of file BKE_anonymous_attribute.hh.

◆ OwnedAnonymousAttributeID() [4/5]

template<bool IsStrongReference>
template<bool OtherIsStrong>
blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::OwnedAnonymousAttributeID ( const OwnedAnonymousAttributeID< OtherIsStrong > &  other)
inline

Definition at line 50 of file BKE_anonymous_attribute.hh.

References data_.

◆ OwnedAnonymousAttributeID() [5/5]

template<bool IsStrongReference>
template<bool OtherIsStrong>
blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::OwnedAnonymousAttributeID ( OwnedAnonymousAttributeID< OtherIsStrong > &&  other)
inline

Definition at line 57 of file BKE_anonymous_attribute.hh.

References data_.

◆ ~OwnedAnonymousAttributeID()

template<bool IsStrongReference>
blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::~OwnedAnonymousAttributeID ( )
inline

Member Function Documentation

◆ debug_name()

template<bool IsStrongReference>
StringRefNull blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::debug_name ( ) const
inline

◆ extract()

template<bool IsStrongReference>
const AnonymousAttributeID* blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::extract ( )
inline

Extract the ownership of the currently wrapped anonymous id.

Definition at line 110 of file BKE_anonymous_attribute.hh.

References data_.

◆ get()

template<bool IsStrongReference>
const AnonymousAttributeID* blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::get ( ) const
inline

◆ has_strong_references()

template<bool IsStrongReference>
bool blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::has_strong_references ( ) const
inline

◆ operator bool()

template<bool IsStrongReference>
blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::operator bool ( ) const
inline

Definition at line 92 of file BKE_anonymous_attribute.hh.

References data_.

◆ operator=() [1/2]

template<bool IsStrongReference>
template<bool OtherIsStrong>
OwnedAnonymousAttributeID& blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::operator= ( const OwnedAnonymousAttributeID< OtherIsStrong > &  other)
inline

◆ operator=() [2/2]

template<bool IsStrongReference>
template<bool OtherIsStrong>
OwnedAnonymousAttributeID& blender::bke::OwnedAnonymousAttributeID< IsStrongReference >::operator= ( OwnedAnonymousAttributeID< OtherIsStrong > &&  other)
inline

Friends And Related Function Documentation

◆ OwnedAnonymousAttributeID

template<bool IsStrongReference>
template<bool OtherIsStrongReference>
friend class OwnedAnonymousAttributeID
friend

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