paged 0.1.1

Read and create read-only paged database files
Documentation
use paged::{HeapSection, Paged, Section};

#[derive(Paged)]
pub struct Header {
	interpretation: Interpretation,
	graphs: Section<Graph>,
	data: HeapSection,
}

#[derive(Paged)]
pub struct Interpretation {
	iris: Section<Iri>,
	literals: Section<Literal>,
	resources: Section<InterpretedResource>,
}

#[derive(Paged)]
pub struct Dataset {
	default_graph: GraphDescription,
	named_graphs: Section<Graph>,
}

#[derive(Paged)]
#[paged(heap)]
pub struct Iri {
	value: String,
	id: u32,
}

#[derive(Paged)]
#[paged(heap)]
pub struct Literal {
	value: String,
}

#[derive(Paged)]
#[paged(heap)]
pub struct InterpretedResource {
	id: u32,
	iris: Vec<u32>,
	literal: Vec<u32>,
	ne: Vec<u32>,
}

#[derive(Paged)]
pub struct Graph {
	id: u32,
	description: GraphDescription,
}

#[derive(Paged)]
pub struct GraphDescription {
	triples: Section<Triple>,
	resources: Section<GraphResource>,
}

#[derive(Paged)]
#[paged(heap)]
pub struct GraphResource {
	as_subject: Vec<u32>,
	as_predicate: Vec<u32>,
	as_object: Vec<u32>,
}

#[derive(Paged)]
pub struct Triple(u32, u32, u32);

#[derive(Paged)]
pub enum Cause {
	Stated(u32),
	Entailed(u32),
}

fn main() {
	// ...
}