castep-cell-io 0.2.16

A crate helping to parse, edit and save `castep` input file format `.cell`
Documentation
mod lcao;
mod mass;
mod potentials;

use castep_periodic_table::element::ElementSymbol;

pub use lcao::{LCAOBasis, SpeciesLCAOStatesBlock};
pub use mass::{SpeciesMass, SpeciesMassBlock};
pub use potentials::{SpeciesPot, SpeciesPotBlock};

pub trait SpeciesCharacter {
    type Output;
    fn from_element(element: ElementSymbol) -> Self::Output;
}

pub trait SpeciesBlock {
    type ItemOutput: SpeciesEntry;
    fn items(&self) -> &[Self::ItemOutput];
    fn items_mut(&mut self) -> &mut Vec<Self::ItemOutput>;
}

pub trait SpeciesEntry {
    type Item;
    fn element(&self) -> &ElementSymbol;
    fn item(&self) -> &Self::Item;
}