use super::{ NifEnv, NifTerm };
use ::atom::NifAtom;
use ::map::{ get_map_value, map_put, map_new };
pub fn get_ex_struct_name(env: &NifEnv, map: NifTerm) -> Option<NifAtom> {
match get_map_value(env, map, ::atom::get_atom_init("__struct__").to_term(env)) {
Some(term) => NifAtom::from_term(env, term),
None => None
}
}
pub fn make_ex_struct<'a>(env: &'a NifEnv, struct_module: &'static str) -> Option<NifTerm<'a>> {
let map = map_new(env);
map_put(env, map, ::atom::get_atom_init("__struct__").to_term(env), ::atom::get_atom_init(struct_module).to_term(env))
}