Trait building_blocks_storage::chunk::map::builder::ChunkMapBuilder [−][src]
pub trait ChunkMapBuilder<N, T>: Sized {
type Chunk: Chunk;
fn chunk_shape(&self) -> PointN<N>;
fn ambient_value(&self) -> T;
fn new_ambient(&self, extent: ExtentN<N>) -> Self::Chunk;
fn build_with_rw_storage<Store>(
self,
storage: Store
) -> ChunkMap<N, T, Self, Store>
where
PointN<N>: IntegerPoint<N>,
Store: ChunkReadStorage<N, Self::Chunk> + ChunkWriteStorage<N, Self::Chunk>,
{ ... }
fn build_with_read_storage<Store>(
self,
storage: Store
) -> ChunkMap<N, T, Self, Store>
where
PointN<N>: IntegerPoint<N>,
Store: ChunkReadStorage<N, Self::Chunk>,
{ ... }
fn build_with_write_storage<Store>(
self,
storage: Store
) -> ChunkMap<N, T, Self, Store>
where
PointN<N>: IntegerPoint<N>,
Store: ChunkWriteStorage<N, Self::Chunk>,
{ ... }
fn build_with_hash_map_storage(self) -> ChunkHashMap<N, T, Self>
where
PointN<N>: IntegerPoint<N>,
ChunkKey<N>: Eq + Hash,
{ ... }
}
Expand description
An object that knows how to construct chunks for a ChunkMap
.
Associated Types
Required methods
fn chunk_shape(&self) -> PointN<N>
fn ambient_value(&self) -> T
fn new_ambient(&self, extent: ExtentN<N>) -> Self::Chunk
fn new_ambient(&self, extent: ExtentN<N>) -> Self::Chunk
Construct a new chunk with entirely ambient values.
Provided methods
fn build_with_rw_storage<Store>(
self,
storage: Store
) -> ChunkMap<N, T, Self, Store> where
PointN<N>: IntegerPoint<N>,
Store: ChunkReadStorage<N, Self::Chunk> + ChunkWriteStorage<N, Self::Chunk>,
fn build_with_rw_storage<Store>(
self,
storage: Store
) -> ChunkMap<N, T, Self, Store> where
PointN<N>: IntegerPoint<N>,
Store: ChunkReadStorage<N, Self::Chunk> + ChunkWriteStorage<N, Self::Chunk>,
Create a new ChunkMap
with the given storage
which must implement both ChunkReadStorage
and ChunkWriteStorage
.
fn build_with_read_storage<Store>(
self,
storage: Store
) -> ChunkMap<N, T, Self, Store> where
PointN<N>: IntegerPoint<N>,
Store: ChunkReadStorage<N, Self::Chunk>,
fn build_with_read_storage<Store>(
self,
storage: Store
) -> ChunkMap<N, T, Self, Store> where
PointN<N>: IntegerPoint<N>,
Store: ChunkReadStorage<N, Self::Chunk>,
Create a new ChunkMap
with the given storage
which must implement ChunkReadStorage
.
fn build_with_write_storage<Store>(
self,
storage: Store
) -> ChunkMap<N, T, Self, Store> where
PointN<N>: IntegerPoint<N>,
Store: ChunkWriteStorage<N, Self::Chunk>,
fn build_with_write_storage<Store>(
self,
storage: Store
) -> ChunkMap<N, T, Self, Store> where
PointN<N>: IntegerPoint<N>,
Store: ChunkWriteStorage<N, Self::Chunk>,
Create a new ChunkMap
with the given storage
which must implement ChunkWriteStorage
.
fn build_with_hash_map_storage(self) -> ChunkHashMap<N, T, Self> where
PointN<N>: IntegerPoint<N>,
ChunkKey<N>: Eq + Hash,
fn build_with_hash_map_storage(self) -> ChunkHashMap<N, T, Self> where
PointN<N>: IntegerPoint<N>,
ChunkKey<N>: Eq + Hash,
Create a new ChunkMap
using a SmallKeyHashMap
as the chunk storage.