Base abstract template class to support object handle keeping for objects that support trivial handle duplication.
More...
|
|
| dplhandle () noexcept |
| | Initializes a new class instance with the object handle set to INVAL.
|
| |
| | dplhandle (T h) noexcept |
| | Initializes a new class instance with an already available object handle.
|
| |
| | dplhandle (const dplhandle< T, INVAL > &h) |
| | Copy constructor.
|
| |
| | dplhandle (dplhandle< T, INVAL > &&h) noexcept |
| | Move constructor.
|
| |
| dplhandle< T, INVAL > & | operator= (T h) noexcept |
| | Attaches already available object handle.
|
| |
| dplhandle< T, INVAL > & | operator= (const dplhandle< T, INVAL > &h) noexcept |
| | Duplicates the object.
|
| |
| dplhandle< T, INVAL > & | operator= (dplhandle< T, INVAL > &&h) noexcept |
| | Moves the object.
|
| |
| T | duplicate () const |
| | Duplicates and returns a new object handle.
|
| |
| void | attach_duplicated (T h) |
| | Duplicates an object handle and sets a new object handle.
|
| |
Public Member Functions inherited from macstd::handle< T, INVAL > |
|
| handle () noexcept |
| | Initializes a new class instance with the object handle set to INVAL.
|
| |
| | handle (T h) noexcept |
| | Initializes a new class instance with an already available object handle.
|
| |
| | handle (handle< T, INVAL > &&h) noexcept |
| | Move constructor.
|
| |
| handle< T, INVAL > & | operator= (T h) noexcept |
| | Attaches already available object handle.
|
| |
| handle< T, INVAL > & | operator= (handle< T, INVAL > &&h) noexcept |
| | Move assignment.
|
| |
| | operator T () const |
| | Auto-typecasting operator.
|
| |
| T *& | operator* () const |
| | Returns the object handle value when the object handle is a pointer to a value (class, struct, etc.).
|
| |
| T * | operator& () |
| | Returns the object handle reference.
|
| |
| T | operator-> () const |
| | Provides object handle member access when the object handle is a pointer to a class or struct.
|
| |
| bool | operator! () const |
| | Tests if the object handle is invalid.
|
| |
| bool | operator< (T h) const |
| | Is handle less than?
|
| |
| bool | operator<= (T h) const |
| | Is handle less than or equal to?
|
| |
| bool | operator>= (T h) const |
| | Is handle greater than or equal to?
|
| |
| bool | operator> (T h) const |
| | Is handle greater than?
|
| |
| bool | operator!= (T h) const |
| | Is handle not equal to?
|
| |
| bool | operator== (T h) const |
| | Is handle equal to?
|
| |
| void | attach (T h) noexcept |
| | Sets a new object handle for the class.
|
| |
| T | detach () |
| | Dismisses the object handle from this class.
|
| |
|
void | free () |
| | Destroys the object.
|
| |
template<class T, T INVAL>
class macstd::dplhandle< T, INVAL >
Base abstract template class to support object handle keeping for objects that support trivial handle duplication.