Skip to main content

molpack/context/
model.rs

1//! Read-only model/topology view over [`PackContext`].
2
3use super::PackContext;
4
5/// Read-only model view.
6pub struct ModelData<'a> {
7    pub(crate) ctx: &'a PackContext,
8}
9
10impl<'a> ModelData<'a> {
11    #[inline]
12    pub fn ntype(&self) -> usize {
13        self.ctx.ntype
14    }
15
16    #[inline]
17    pub fn ntotmol(&self) -> usize {
18        self.ctx.ntotmol
19    }
20
21    #[inline]
22    pub fn ntotat(&self) -> usize {
23        self.ctx.ntotat
24    }
25
26    #[inline]
27    pub fn nmols(&self) -> &[usize] {
28        &self.ctx.nmols
29    }
30
31    #[inline]
32    pub fn natoms(&self) -> &[usize] {
33        &self.ctx.natoms
34    }
35}