#[derive(Debug)]
pub struct Region<'a>(IdentifierInstance<'a>);
impl<'a> Region<'a>
{
#[inline(always)]
pub fn begin<'b : 'a, 's>(instance_identifier: IdentifierInstance<'a>, name: &'s StringHandle, parent: Option<IdentifierInstance<'b>>) -> Self
{
let parent = match parent
{
None => Identifier::Null.0.clone(),
Some(parent) => (parent.1).0.clone(),
};
unsafe { __itt_region_begin(instance_identifier.0.constant_pointer(), (instance_identifier.1).0.clone(), parent, name.mutable_pointer()) };
Region(instance_identifier)
}
#[inline(always)]
pub fn end(self) -> IdentifierInstance<'a>
{
unsafe { __itt_region_end((self.0).0.constant_pointer(), ((self.0).1).0.clone()) };
self.0
}
}