LeviLamina
Loading...
Searching...
No Matches
DataItem Class Referenceabstract
+ Inheritance diagram for DataItem:

Public Types

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

Public Member Functions

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)
 
virtual ushort getId () const =0
 
virtual::DataItemType getType () const =0
 
virtual bool isDataEqual (::DataItem const &) const =0
 
virtual ::std::unique_ptr<::DataItemclone () const =0
 
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)
 

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