LeviLamina
|
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<::DataItem > | clone () const =0 |
template<typename T > requires (DataItem::TypeList::contains<std::remove_cvref_t<T>>) | |
LL_CONSTEXPR23 std::unique_ptr< DataItem > | create (::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< DataItem > | create (ushort key, T &&value) |
static LL_CONSTEXPR23 std::unique_ptr< DataItem > | create (ushort key, bool value) |
template<typename T > requires (DataItem::TypeList::contains<std::remove_cvref_t<T>>) | |
static LL_CONSTEXPR23 std::unique_ptr< DataItem > | create (::ActorDataIDs key, T &&value) |
static LL_CONSTEXPR23 std::unique_ptr< DataItem > | create (::ActorDataIDs key, bool value) |