LeviLamina
Loading...
Searching...
No Matches
DataItem2< T > Class Template Reference
+ Inheritance diagram for DataItem2< T >:

Public Types

using ID = ushort
 
using TypeList = ll::meta::TypeList<schar, short, int, float, std::string, CompoundTag, BlockPos, int64, Vec3>
 

Public Member Functions

::DataItem::ID getId () const override
 
::DataItemType getType () const override
 
bool isDataEqual (::DataItem const &) const override
 
::std::unique_ptr<::DataItemclone () const override
 
constexpr T const & value () const
 
constexpr T & value ()
 
constexpr operator T const & () const
 
constexpr operator T& ()
 
template<class T2 >
constexpr void setData (T2 &&value)
 
template<class T2 >
constexpr DataItem2< T > & operator= (T2 &&value)
 
template<class... Args>
constexpr DataItem2 (::DataItem::ID key, Args &&... args)
 
template<typename T >
requires (DataItem::TypeList::contains<T>)
constexpr optional_ref< T const > getData () const
 
template<typename T >
requires (DataItem::TypeList::contains<T>)
constexpr optional_ref< T > getData ()
 
template<typename T >
requires (DataItem::TypeList::contains<std::remove_cvref_t<T>>)
constexpr bool setData (T &&value)
 
template<typename T >
requires (DataItem::TypeList::contains<std::remove_cvref_t<T>>)
LL_CONSTEXPR23 std::unique_ptr< DataItemcreate (::DataItem::ID key, T &&value)
 

Static Public Member Functions

template<typename T >
requires (DataItem::TypeList::contains<std::remove_cvref_t<T>>)
static LL_CONSTEXPR23 std::unique_ptr< DataItemcreate (ushort key, T &&value)
 
static LL_CONSTEXPR23 std::unique_ptr< DataItemcreate (ushort key, bool value)
 
template<typename T >
requires (DataItem::TypeList::contains<std::remove_cvref_t<T>>)
static LL_CONSTEXPR23 std::unique_ptr< DataItemcreate (::ActorDataIDs key, T &&value)
 
static LL_CONSTEXPR23 std::unique_ptr< DataItemcreate (::ActorDataIDs key, bool value)
 

Public Attributes

::DataItemType mType
 
::DataItem::ID mId
 
mValue
 

Member Function Documentation

◆ getId()

template<typename T >
::DataItem::ID DataItem2< T >::getId ( ) const
nodiscardoverridevirtual

Implements DataItem.

◆ getType()

template<typename T >
::DataItemType DataItem2< T >::getType ( ) const
nodiscardoverridevirtual

Implements DataItem.

◆ isDataEqual()

template<typename T >
bool DataItem2< T >::isDataEqual ( ::DataItem const & ) const
nodiscardoverridevirtual

Implements DataItem.

◆ clone()

template<typename T >
::std::unique_ptr<::DataItem > DataItem2< T >::clone ( ) const
nodiscardoverridevirtual

Implements DataItem.


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