mod earth_orientation;
mod ephemeris;
mod frame;
mod header;
mod ionosphere;
mod message;
mod parsing;
mod time;
pub mod rinex;
pub(crate) mod formatting;
pub(crate) use formatting::format;
pub(crate) use parsing::{is_new_epoch, parse_epoch};
pub use crate::navigation::{
earth_orientation::EarthOrientation,
ephemeris::{flags::*, orbits::OrbitItem, Ephemeris},
frame::{NavFrame, NavFrameType},
header::HeaderFields,
ionosphere::{BdModel, IonosphereModel, KbModel, KbRegionCode, NgModel, NgRegionFlags},
message::NavMessageType,
time::TimeOffset,
};
#[cfg(feature = "nav")]
pub use crate::navigation::ephemeris::kepler::{Helper, Kepler, Perturbations};
#[cfg(feature = "processing")]
pub(crate) mod mask;
#[cfg(feature = "processing")]
pub(crate) mod decim;
#[cfg(feature = "processing")]
pub(crate) mod repair;
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
use std::collections::BTreeMap;
use crate::prelude::{Epoch, SV};
#[derive(Debug, Copy, Clone, PartialEq, PartialOrd, Eq, Ord, Hash)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct NavKey {
pub epoch: Epoch,
pub sv: SV,
pub msgtype: NavMessageType,
pub frmtype: NavFrameType,
}
pub type Record = BTreeMap<NavKey, NavFrame>;