#[derive(Debug)]
pub struct Task<'a>(&'a Domain);
impl<'a> Task<'a>
{
#[inline(always)]
pub fn begin<'b, 's>(domain: &'a Domain, 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_task_begin(domain.constant_pointer(), Identifier::Null.0, parent, name.mutable_pointer()) };
Task(domain)
}
#[inline(always)]
pub fn end(self)
{
unsafe { __itt_task_end (self.0.constant_pointer()) }
}
}