1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//! C interface for [`bve::parse`].

use crate::COption;

pub mod mesh;

/// C safe wrapper for [`Span`](bve::parse::Span).
#[repr(C)]
pub struct Span {
    pub line: COption<u64>,
}

impl From<bve::parse::Span> for Span {
    fn from(other: bve::parse::Span) -> Self {
        Self {
            line: other.line.into(),
        }
    }
}

impl Into<bve::parse::Span> for Span {
    fn into(self) -> bve::parse::Span {
        bve::parse::Span { line: self.line.into() }
    }
}