xentara-plugin v2.0.4
The Xentara Plugin Framework
|
A handle to an array element containing an object or an array of objects. More...
#include <xentara/memory/Array.hpp>
Public Types | |
using | TargetObject = memory::Object< Type > |
The object type describing the structure. | |
using | Element = typename TargetObject::Element |
The C++ object type. | |
Public Member Functions | |
constexpr | ObjectHandle () noexcept=default |
Default constructor. | |
template<typename Base > requires std::derived_from<Type, Base> | |
operator ObjectHandle< Base > () const | |
Gets a handle to an unambiguous base class. | |
auto | operator== (const ObjectHandle &) const -> bool=default |
Comparison operator. | |
auto | operator<=> (const ObjectHandle &) const -> auto=default |
Comparison operator. | |
constexpr auto | rawHandle () const noexcept -> const Handle & |
Gets the raw handle. | |
constexpr auto | offset () const noexcept -> std::size_t |
Gets the offset within the array data. | |
template<typename TypeOrBase , typename MemberType > requires std::derived_from<Type, TypeOrBase> | |
auto | member (MemberType TypeOrBase::*member) const noexcept -> ObjectHandle< MemberType > |
Returns a handle to a member. | |
auto | operator++ () noexcept -> ObjectHandle & |
Increments the handle by a one element. | |
auto | operator++ (int) noexcept -> ObjectHandle |
Increments the handle by a one element. | |
auto | operator-- () noexcept -> ObjectHandle & |
Decrements the handle by a one element. | |
auto | operator-- (int) noexcept -> ObjectHandle |
Decrements the handle by a one element. | |
auto | operator+= (std::ptrdiff_t count) noexcept -> ObjectHandle & |
Offsets the handle by a specific number of elements. | |
auto | operator-= (std::ptrdiff_t count) noexcept -> ObjectHandle & |
Offsets the handle by a specific number of elements. | |
A handle to an array element containing an object or an array of objects.
This handle can be used to get the element from a reader or writer
using xentara::memory::Array::ObjectHandle< Type >::Element = typename TargetObject::Element |
The C++ object type.
using xentara::memory::Array::ObjectHandle< Type >::TargetObject = memory::Object<Type> |
The object type describing the structure.
|
constexprdefaultnoexcept |
Default constructor.
This constructor creates an invalid handle. Do not attempt to use this handle, the associated memory may not be valid.
|
noexcept |
Returns a handle to a member.
member | The member |
|
constexprnoexcept |
Gets the offset within the array data.
xentara::memory::Array::ObjectHandle< Type >::operator ObjectHandle< Base > | ( | ) | const |
Gets a handle to an unambiguous base class.
|
noexcept |
Increments the handle by a one element.
|
noexcept |
Increments the handle by a one element.
|
noexcept |
Offsets the handle by a specific number of elements.
count | The number of elements to move the handle |
|
noexcept |
Decrements the handle by a one element.
|
noexcept |
Decrements the handle by a one element.
|
noexcept |
Offsets the handle by a specific number of elements.
count | The negative number of elements to move the handle |
|
default |
Comparison operator.
|
default |
Comparison operator.
|
constexprnoexcept |
Gets the raw handle.