25 using difference_type = int64;
27 using iterator_category = ::std::forward_iterator_tag;
29 using pointer = ::std::pair<::Block const*, ::Pos>
const*;
31 using reference = ::std::pair<::Block const*, ::Pos>
const&;
33 using value_type = ::std::pair<::Block const*, ::Pos>
const;
38 ::ll::TypedStorage<4, 12, ::Pos> pos;
39 ::ll::TypedStorage<4, 12, ::Pos> dims;
40 ::ll::TypedStorage<8, 8, ::buffer_span_mut<::Block const*>::iterator> blockIter;
48 MCAPI ::std::pair<::Block const*, ::Pos>
const operator*();
50 MCAPI ::BlockVolume::BlockVolumeIter& operator++();
57 ::ll::TypedStorage<8, 16, ::buffer_span_mut<::Block const*>> mBlocks;
58 ::ll::TypedStorage<4, 4, uint> mWidth;
59 ::ll::TypedStorage<4, 4, uint> mHeight;
60 ::ll::TypedStorage<4, 4, uint> mDepth;
61 ::ll::TypedStorage<4, 4, int> mDimensionBottom;
62 ::ll::TypedStorage<8, 8, ::Block const*> mInitBlock;
81 MCAPI ::BlockVolume::BlockVolumeIter begin()
const;
83 MCAPI ::std::unique_ptr<::std::vector<short>> computeHeightMap()
const;
85 MCAPI ::BlockVolume::BlockVolumeIter end()
const;
87 MCAPI
short findHighestNonAirBlock()
const;
90 getAboveTopSolidBlock(
::BlockPos const& start,
bool dimensionShowsSky,
bool includeWater,
bool includeLeaves)
const;
92 MCAPI ::Pos getDimensions()
const;
94 MCAPI uint getIndexBounds()
const;
96 MCFOLD uint index(
::BlockPos const& pos)
const;
98 MCFOLD uint index(
::Pos const& pos)
const;
100 MCFOLD uint indexNoBoundsCheck(
::BlockPos const& pos)
const;
102 MCFOLD uint indexNoBoundsCheck(
::Pos const& pos)
const;
104 MCFOLD
bool isInBounds(
::BlockPos const& pos)
const;
106 MCFOLD
bool isInBounds(
::Pos const& pos)
const;