flyweight.hpp
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
flyweight::autorelease_value< T, Flyweight, ArgTuple > Struct Template Reference

Value wrapper that releases it back to the owning flyweight upon destruction. More...

#include <flyweight.hpp>

Public Member Functions

 autorelease_value (T &value, Flyweight &flyweight, const ArgTuple &arg_tuple)
 Constructor.
 
 autorelease_value (const autorelease_value &other)
 
autorelease_valueoperator= (const autorelease_value &other)
 
T & operator* ()
 Returns the wrapped value.
 
T & operator-> ()
 Returns the wrapped value.
 
 operator T& ()
 Returns the wrapped value.
 
 ~autorelease_value ()
 Release the value back to the owning flyweight.
 

Public Attributes

T & value
 

Detailed Description

template<typename T, typename Flyweight, typename ArgTuple>
struct flyweight::autorelease_value< T, Flyweight, ArgTuple >

Value wrapper that releases it back to the owning flyweight upon destruction.

Constructor & Destructor Documentation

◆ autorelease_value() [1/2]

template<typename T , typename Flyweight , typename ArgTuple >
flyweight::autorelease_value< T, Flyweight, ArgTuple >::autorelease_value ( T &  value,
Flyweight &  flyweight,
const ArgTuple &  arg_tuple 
)
inline

Constructor.

◆ autorelease_value() [2/2]

template<typename T , typename Flyweight , typename ArgTuple >
flyweight::autorelease_value< T, Flyweight, ArgTuple >::autorelease_value ( const autorelease_value< T, Flyweight, ArgTuple > &  other)
inline

Copy constructor. Calls flyweight::get_tuple to make sure reference counting is correct.

◆ ~autorelease_value()

template<typename T , typename Flyweight , typename ArgTuple >
flyweight::autorelease_value< T, Flyweight, ArgTuple >::~autorelease_value ( )
inline

Release the value back to the owning flyweight.

Member Function Documentation

◆ operator=()

template<typename T , typename Flyweight , typename ArgTuple >
autorelease_value & flyweight::autorelease_value< T, Flyweight, ArgTuple >::operator= ( const autorelease_value< T, Flyweight, ArgTuple > &  other)
inline

Copy assignment. Releases the previously referenced value and calls flyweight.get_tuple to make sure reference counting is correct.

◆ operator*()

template<typename T , typename Flyweight , typename ArgTuple >
T & flyweight::autorelease_value< T, Flyweight, ArgTuple >::operator* ( )
inline

Returns the wrapped value.

◆ operator->()

template<typename T , typename Flyweight , typename ArgTuple >
T & flyweight::autorelease_value< T, Flyweight, ArgTuple >::operator-> ( )
inline

Returns the wrapped value.

◆ operator T&()

template<typename T , typename Flyweight , typename ArgTuple >
flyweight::autorelease_value< T, Flyweight, ArgTuple >::operator T& ( )
inline

Returns the wrapped value.


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