Crate vkgen[][src]

Expand description

The library version of this crate, to be used in build scripts.

Example 1:

use std::{fs, io};

fn main() {
	vkgen::generate(
		fs::File::open("vk.xml")
			.map(io::BufReader::new)
			.expect("failed to open input file"),
		fs::OpenOptions::new()
			.write(true)
			.open("vk.rs")
			.map(io::BufWriter::new)
			.expect("failed to open output file"),
		fs::OpenOptions::new()
			.write(true)
			.open("vk.toml")
			.map(io::BufWriter::new)
			.expect("failed to open output file"),
		true
	).unwrap();

	vkgen::fix_ptr_types(vkgen::Api::Vulkan, "vk.rs")
		.expect("failed to fix pointer types");
}

Example 2:

use {vkgen::*, std::{fs, io}};

fn main() {
	let Registry { api, elements, exts } = xml::deserialize(fs::File::open("vk.xml")
		.map(io::BufReader::new)
		.expect("failed to open input file"))
 		.expect("failed to deserialize registry");

	gen(&mut fs::OpenOptions::new()
		.write(true)
		.open("vk.rs")
		.map(io::BufWriter::new)
		.expect("failed to open input file"), elements, api, true)
		.expect("failed to write the generated code");

	gen_cargo(&mut fs::OpenOptions::new()
		.write(true)
		.open("vk.toml")
		.map(io::BufWriter::new)
		.expect("failed to open output file"), exts)
 		.expect("failed to write the generated code");

	fix_ptr_types(api, "vk.rs")
		.expect("failed to fix pointer types");
}

Re-exports

pub use parse::*;
pub use gen::*;

Modules

Functions

Fixes void pointers/unit references