module voxel.svo.hashbuffer

A specialiced hashmap and buffer.

Code Map

//! A specialiced hashmap and buffer.
module voxel.svo.hashbuffer;


//! A hash map and buffer.
struct HashBuffer
{
public:
	fn ptr() u32* { }
	fn length() size_t { }
	fn setup(numReserved: u32) { }
	fn setup(startBufferSize: u32, startHashSize: u32, numReserved: u32) { }
	fn close() { }
	fn takeMemory(count: u32) u32[] { }
	fn add(data: scope (const(scope (u32)[])) u32 { }
}

struct ReallocU32Ptr
{
public:
	ptr: T*;
	num: size_t;


public:
	fn takePtrAndClear() T* { }
	fn fits(min: size_t) bool { }
	fn resize(newNum: size_t) { }
	fn free() { }
}

struct ReallocU64Ptr
{
public:
	ptr: T*;
	num: size_t;


public:
	fn takePtrAndClear() T* { }
	fn fits(min: size_t) bool { }
	fn resize(newNum: size_t) { }
	fn free() { }
}

//! Produces slightly fewer hash collisions then crc32.
fn hashFNV1A(key: scope (const(scope (u32)[])) u64 { }
struct HashBuffer

A hash map and buffer.

fn hashFNV1A(key: scope (const(scope (u32)[])) u64

Produces slightly fewer hash collisions then crc32.