Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
LocalTag Class Reference

#include "steam/engine/buffer-local-tag.hpp"

Description

an opaque mark to be used by the BufferProvider implementation.

Typically this will be used, to set apart some pre-registered kinds of buffers. It is treated as being part of the buffer type. LocalTag objects may be copied but not re-assigned or changed.

Definition at line 49 of file buffer-local-tag.hpp.

Classes

union  OpaqueData
 

Static Public Attributes

static const LocalTag UNKNOWN {}
 Marker when no distinct local key is given.
 

Public Member Functions

 LocalTag (uint64_t opaqueValue=0)
 
 LocalTag (void *impl_related_ptr)
 
 LocalTag (LocalTag const &)=default
 
 operator uint64_t () const
 
 operator void * () const
 
 operator bool () const
 

Friends

class metadata::Key
 but Key assignments are acceptable
 
size_t hash_value (LocalTag const &lkey)
 
bool operator== (LocalTag const &left, LocalTag const &right)
 
bool operator!= (LocalTag const &left, LocalTag const &right)
 

Private Member Functions

LocalTagoperator= (LocalTag const &o)
 assignment usually prohibited
 

Private Attributes

OpaqueData privateID_
 

Constructor & Destructor Documentation

◆ LocalTag() [1/3]

LocalTag ( uint64_t  opaqueValue = 0)
inlineexplicit

Definition at line 61 of file buffer-local-tag.hpp.

References LocalTag::OpaqueData::_as_number, and LocalTag::privateID_.

◆ LocalTag() [2/3]

LocalTag ( void *  impl_related_ptr)
inline

◆ LocalTag() [3/3]

LocalTag ( LocalTag const &  )
default

Class Documentation

◆ steam::engine::LocalTag::OpaqueData

union steam::engine::LocalTag::OpaqueData
Class Members
uint64_t _as_number
void * _as_pointer
+ Collaboration diagram for LocalTag::OpaqueData:

Member Function Documentation

◆ operator uint64_t()

operator uint64_t ( ) const
inline

Definition at line 77 of file buffer-local-tag.hpp.

References LocalTag::OpaqueData::_as_number, and LocalTag::privateID_.

◆ operator void *()

operator void * ( ) const
inline

Definition at line 82 of file buffer-local-tag.hpp.

References LocalTag::OpaqueData::_as_pointer, and LocalTag::privateID_.

◆ operator bool()

operator bool ( ) const
inlineexplicit

Definition at line 88 of file buffer-local-tag.hpp.

References LocalTag::OpaqueData::_as_number, and LocalTag::privateID_.

◆ operator=()

LocalTag & operator= ( LocalTag const &  o)
inlineprivate

assignment usually prohibited

Definition at line 114 of file buffer-local-tag.hpp.

References LocalTag::privateID_.

Member Data Documentation

◆ privateID_

◆ UNKNOWN

const LocalTag UNKNOWN {}
static

Marker when no distinct local key is given.

Definition at line 75 of file buffer-local-tag.hpp.

Referenced by steam::engine::anonymous_namespace{buffer-metadata.hpp}::nontrivial(), and BufferMetadataKey_test::verifyTypeSpecialisation().

Friends And Related Symbol Documentation

◆ metadata::Key

friend class metadata::Key
friend

but Key assignments are acceptable

Definition at line 121 of file buffer-local-tag.hpp.

◆ hash_value

size_t hash_value ( LocalTag const &  lkey)
friend

Definition at line 94 of file buffer-local-tag.hpp.

◆ operator==

bool operator== ( LocalTag const &  left,
LocalTag const &  right 
)
friend

Definition at line 101 of file buffer-local-tag.hpp.

◆ operator!=

bool operator!= ( LocalTag const &  left,
LocalTag const &  right 
)
friend

Definition at line 106 of file buffer-local-tag.hpp.

+ Collaboration diagram for LocalTag:

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