Cogs.Rendering
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Cogs::Handle_t< Type, Convertible > Struct Template Reference

Handle template class used to provide opaque, non-converting handles. More...

#include <Common.h>

Public Types

typedef int64_t handle_type
 Internal handle storage type.
 

Public Member Functions

 Handle_t ()
 Construct a handle.
 
 Handle_t (const Handle_t &other)
 Copy constructor.
 
 Handle_t (const handle_type &handle)
 Construct a handle with an explicit internal resource handle.
 
 Handle_t (const Convertible &other)
 Conversion constructor from Convertible type.
 
Handle_toperator= (const Handle_t &other)
 Assignment operator.
 
bool operator== (const Handle_t &other) const
 Equality operator.
 
 operator bool () const
 Boolean conversion operator.
 
 operator Convertible ()
 Conversion operator to automatically convert handle instances to the template Convertible type.
 

Public Attributes

handle_type handle
 Internal resource handle.
 

Static Public Attributes

static const Handle_t NoHandle = Handle_t<T, U>(0)
 Represents a handle to nothing.
 
static const Handle_t InvalidHandle = Handle_t<T, U>(-1)
 Represents an invalid handle.
 

Detailed Description

template<typename Type, typename Convertible = NoConversion>
struct Cogs::Handle_t< Type, Convertible >

Handle template class used to provide opaque, non-converting handles.

Member Typedef Documentation

◆ handle_type

template<typename Type , typename Convertible = NoConversion>
typedef int64_t Cogs::Handle_t< Type, Convertible >::handle_type

Internal handle storage type.

Constructor & Destructor Documentation

◆ Handle_t() [1/4]

template<typename Type , typename Convertible = NoConversion>
Cogs::Handle_t< Type, Convertible >::Handle_t ( )
inline

Construct a handle.

The handle is default initialized to Handle_t::InvalidHandle.

◆ Handle_t() [2/4]

template<typename Type , typename Convertible = NoConversion>
Cogs::Handle_t< Type, Convertible >::Handle_t ( const Handle_t< Type, Convertible > &  other)
inline

Copy constructor.

The handle constructed from will still be valid after the copy.

◆ Handle_t() [3/4]

template<typename Type , typename Convertible = NoConversion>
Cogs::Handle_t< Type, Convertible >::Handle_t ( const handle_type handle)
inlineexplicit

Construct a handle with an explicit internal resource handle.

Parameters
handleA 64-bit resource handle.

◆ Handle_t() [4/4]

template<typename Type , typename Convertible = NoConversion>
Cogs::Handle_t< Type, Convertible >::Handle_t ( const Convertible &  other)
inline

Conversion constructor from Convertible type.

Parameters
otherAn instance of the Convertible type. The internal resource handle is copied from this instance.

Member Function Documentation

◆ operator bool()

template<typename Type , typename Convertible = NoConversion>
Cogs::Handle_t< Type, Convertible >::operator bool ( ) const
inlineexplicit

Boolean conversion operator.

References Cogs::Handle_t< Type, Convertible >::handle.

◆ operator Convertible()

template<typename Type , typename Convertible = NoConversion>
Cogs::Handle_t< Type, Convertible >::operator Convertible ( )
inline

Conversion operator to automatically convert handle instances to the template Convertible type.

Returns
A Convertible instance holding the same internal handle as this instance.

References Cogs::Handle_t< Type, Convertible >::handle.

◆ operator=()

template<typename Type , typename Convertible = NoConversion>
Handle_t & Cogs::Handle_t< Type, Convertible >::operator= ( const Handle_t< Type, Convertible > &  other)
inline

Assignment operator.

References Cogs::Handle_t< Type, Convertible >::handle.

◆ operator==()

template<typename Type , typename Convertible = NoConversion>
bool Cogs::Handle_t< Type, Convertible >::operator== ( const Handle_t< Type, Convertible > &  other) const
inline

Equality operator.

Parameters
otherAnother handle instance.
Returns
true if the internal handles of this and other are equal.

References Cogs::Handle_t< Type, Convertible >::handle.

Member Data Documentation

◆ handle

template<typename Type , typename Convertible = NoConversion>
handle_type Cogs::Handle_t< Type, Convertible >::handle

◆ InvalidHandle

template<typename T , typename U >
const Handle_t< T, U > Cogs::Handle_t< T, U >::InvalidHandle = Handle_t<T, U>(-1)
static

Represents an invalid handle.

◆ NoHandle

template<typename T , typename U >
const Handle_t< T, U > Cogs::Handle_t< T, U >::NoHandle = Handle_t<T, U>(0)
static

Represents a handle to nothing.

Referenced by Cogs::IRenderTargets::loadBlendState().


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