|
LeviLamina
|
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<::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) |