33 using VolumeView = ChunkVolume::VolumeOf<T>::SubViewType;
34 using ConstVolumeView = ChunkVolume::VolumeOf<T>::ConstSubViewType;
36 MCAPI
static SubChunkStorageUnit::Type chooseTypeForElementTypeCount(
size_t elementCount);
37 MCAPI
static std::unique_ptr<SubChunkStorage<T>> makeUniform(T
const& element);
38 MCAPI
static std::unique_ptr<SubChunkStorage<T>> makeFromVolume(SubChunkStorage<T>::ConstVolumeView
const& view);
42 virtual bool isUniform(T
const&)
const = 0;
44 virtual bool isPaletteUniform(T
const&)
const = 0;
46 virtual T
const& getElement(uint16_t)
const = 0;
48 virtual bool trySetElement(uint16_t, T
const&) = 0;
50 virtual size_t getElementTypeCapacity()
const = 0;
52 virtual bool hasAvailableElementTypeCapacity()
const = 0;
54 virtual SubChunkStorageUnit::Type getType()
const = 0;
56 virtual size_t getMemoryEstimate()
const = 0;
58 virtual std::unique_ptr<SubChunkStorage<T>> makePrunedCopy(SubChunkStorageUnit::PruneType)
const = 0;
64 virtual void fetchElementInCylinder(
73 virtual void fetchElementInBox(
80 virtual bool hasAnyElementMatchingFilterInPalette(std::function<
bool(T
const&)>
const&)
const = 0;
82 virtual void _serialize(
IDataOutput&, RuntimeSerializationLookup<T>
const&)
const = 0;
84 virtual void _serialize(
IDataOutput&, PersistentSerializationLookup<T>
const&)
const = 0;