Bifrost SDK
Bifrost SDK documentation
Bifrost::PropertyGuard< Amino::Ptr< T > > Class Template Reference

Specialization of PropertyGuard for Amino::Ptr<T>. More...

#include <GeoPropertyGuard.h>

Public Member Functions

 PropertyGuard ()=default
 
 ~PropertyGuard ()
 
 PropertyGuard (const PropertyGuard &)=delete
 
PropertyGuardoperator= (const PropertyGuard &)=delete
 
 PropertyGuard (PropertyGuard &&io) noexcept
 
PropertyGuardoperator= (PropertyGuard &&io) noexcept
 
 operator bool () const noexcept
 
const T & operator* () const noexcept
 
T & operator* () noexcept
 
const T * operator-> () const noexcept
 
T * operator-> () noexcept
 

Friends

PropertyGuard< Amino::Ptr< T > > createPropGuard (Bifrost::Object &, Amino::StringView)
 Create a PropertyGuard for the given object and property name. More...
 
PropertyGuard< Amino::Ptr< T > > createPtrPropGuard (Bifrost::Object &, Amino::StringView)
 Create a PropertyGuard for an Amino::Ptr<T> property. More...
 

Detailed Description

template<typename T>
class Bifrost::PropertyGuard< Amino::Ptr< T > >

Specialization of PropertyGuard for Amino::Ptr<T>.

Definition at line 225 of file GeoPropertyGuard.h.

Constructor & Destructor Documentation

◆ PropertyGuard() [1/3]

template<typename T >
Bifrost::PropertyGuard< Amino::Ptr< T > >::PropertyGuard ( )
default

◆ ~PropertyGuard()

template<typename T >
Bifrost::PropertyGuard< Amino::Ptr< T > >::~PropertyGuard ( )
inline

Definition at line 229 of file GeoPropertyGuard.h.

References Bifrost::Object::setProperty().

◆ PropertyGuard() [2/3]

template<typename T >
Bifrost::PropertyGuard< Amino::Ptr< T > >::PropertyGuard ( const PropertyGuard< Amino::Ptr< T > > &  )
delete

◆ PropertyGuard() [3/3]

template<typename T >
Bifrost::PropertyGuard< Amino::Ptr< T > >::PropertyGuard ( PropertyGuard< Amino::Ptr< T > > &&  io)
inlinenoexcept

Definition at line 238 of file GeoPropertyGuard.h.

Member Function Documentation

◆ operator bool()

template<typename T >
Bifrost::PropertyGuard< Amino::Ptr< T > >::operator bool ( ) const
inlineexplicitnoexcept

Definition at line 255 of file GeoPropertyGuard.h.

◆ operator*() [1/2]

template<typename T >
const T & Bifrost::PropertyGuard< Amino::Ptr< T > >::operator* ( ) const
inlinenoexcept

Definition at line 257 of file GeoPropertyGuard.h.

◆ operator*() [2/2]

template<typename T >
T & Bifrost::PropertyGuard< Amino::Ptr< T > >::operator* ( )
inlinenoexcept

Definition at line 262 of file GeoPropertyGuard.h.

◆ operator->() [1/2]

template<typename T >
const T * Bifrost::PropertyGuard< Amino::Ptr< T > >::operator-> ( ) const
inlinenoexcept

Definition at line 267 of file GeoPropertyGuard.h.

◆ operator->() [2/2]

template<typename T >
T * Bifrost::PropertyGuard< Amino::Ptr< T > >::operator-> ( )
inlinenoexcept

Definition at line 272 of file GeoPropertyGuard.h.

◆ operator=() [1/2]

template<typename T >
PropertyGuard & Bifrost::PropertyGuard< Amino::Ptr< T > >::operator= ( const PropertyGuard< Amino::Ptr< T > > &  )
delete

◆ operator=() [2/2]

template<typename T >
PropertyGuard & Bifrost::PropertyGuard< Amino::Ptr< T > >::operator= ( PropertyGuard< Amino::Ptr< T > > &&  io)
inlinenoexcept

Definition at line 245 of file GeoPropertyGuard.h.

Friends And Related Function Documentation

◆ createPropGuard

template<typename T >
PropertyGuard< Amino::Ptr< T > > createPropGuard ( Bifrost::Object object,
Amino::StringView  propertyName 
)
friend

Create a PropertyGuard for the given object and property name.

Parameters
[in,out]objectThe input object.
[in]propertyNameThe name of the property to extract.
Returns
A PropertyGuard RAII class that extracts the property with type T and name propertyName from object and sets the property back when the guard is destructed.

Definition at line 122 of file GeoPropertyGuard.h.

◆ createPtrPropGuard

template<typename T >
PropertyGuard< Amino::Ptr< T > > createPtrPropGuard ( Bifrost::Object object,
Amino::StringView  propertyName 
)
friend

Create a PropertyGuard for an Amino::Ptr<T> property.

Parameters
[in,out]objectThe input object.
[in]propertyNameThe name of the property to extract.
Returns
A PropertyGuard RAII class that extracts the property with type Amino::Ptr<T> and name propertyName from object and sets the property back when the guard is destructed.

Definition at line 129 of file GeoPropertyGuard.h.