24 requires(DataItem::TypeList::contains<T>)
27 requires(DataItem::TypeList::contains<T>)
30 requires(DataItem::TypeList::contains<std::remove_cvref_t<T>>)
31 constexpr bool setData(T&& value);
34 requires(DataItem::TypeList::contains<std::remove_cvref_t<T>>)
35 [[nodiscard]]
static LL_CONSTEXPR23 std::unique_ptr<DataItem> create(ushort key, T&& value);
36 [[nodiscard]]
static LL_CONSTEXPR23 std::unique_ptr<DataItem> create(ushort key,
bool value) {
37 return create(key, (schar)value);
40 requires(DataItem::TypeList::contains<std::remove_cvref_t<T>>)
41 [[nodiscard]]
static LL_CONSTEXPR23 std::unique_ptr<DataItem> create(::ActorDataIDs key, T&& value) {
42 return create(
static_cast<std::underlying_type_t<::ActorDataIDs>
>(key), std::forward<T>(value));
44 [[nodiscard]]
static LL_CONSTEXPR23 std::unique_ptr<DataItem> create(::ActorDataIDs key,
bool value) {
45 return create(key, (schar)value);
58 virtual ushort getId()
const = 0;
61 virtual ::DataItemType getType()
const = 0;
64 virtual bool isDataEqual(
::DataItem const&)
const = 0;
67 virtual ::std::unique_ptr<::DataItem> clone()
const = 0;