use core::mem;
use core::cmp::Ordering;
extern crate flatbuffers;
use self::flatbuffers::{EndianScalar, Follow};
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
pub const ENUM_MIN_FLUX_QUALIFIER: i8 = 0;
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
pub const ENUM_MAX_FLUX_QUALIFIER: i8 = 4;
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
#[allow(non_camel_case_types)]
pub const ENUM_VALUES_FLUX_QUALIFIER: [FluxQualifier; 5] = [
FluxQualifier::OBSERVED,
FluxQualifier::BURST_ADJUSTED,
FluxQualifier::INTERPOLATED_EXTRAPOLATED,
FluxQualifier::NO_OBSERVATION,
FluxQualifier::CELESTRAK_INTERPOLATED,
];
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
#[repr(transparent)]
pub struct FluxQualifier(pub i8);
#[allow(non_upper_case_globals)]
impl FluxQualifier {
pub const OBSERVED: Self = Self(0);
pub const BURST_ADJUSTED: Self = Self(1);
pub const INTERPOLATED_EXTRAPOLATED: Self = Self(2);
pub const NO_OBSERVATION: Self = Self(3);
pub const CELESTRAK_INTERPOLATED: Self = Self(4);
pub const ENUM_MIN: i8 = 0;
pub const ENUM_MAX: i8 = 4;
pub const ENUM_VALUES: &'static [Self] = &[
Self::OBSERVED,
Self::BURST_ADJUSTED,
Self::INTERPOLATED_EXTRAPOLATED,
Self::NO_OBSERVATION,
Self::CELESTRAK_INTERPOLATED,
];
pub fn variant_name(self) -> Option<&'static str> {
match self {
Self::OBSERVED => Some("OBSERVED"),
Self::BURST_ADJUSTED => Some("BURST_ADJUSTED"),
Self::INTERPOLATED_EXTRAPOLATED => Some("INTERPOLATED_EXTRAPOLATED"),
Self::NO_OBSERVATION => Some("NO_OBSERVATION"),
Self::CELESTRAK_INTERPOLATED => Some("CELESTRAK_INTERPOLATED"),
_ => None,
}
}
}
impl core::fmt::Debug for FluxQualifier {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
if let Some(name) = self.variant_name() {
f.write_str(name)
} else {
f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
}
}
}
impl<'a> flatbuffers::Follow<'a> for FluxQualifier {
type Inner = Self;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
Self(b)
}
}
impl flatbuffers::Push for FluxQualifier {
type Output = FluxQualifier;
#[inline]
unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
flatbuffers::emplace_scalar::<i8>(dst, self.0);
}
}
impl flatbuffers::EndianScalar for FluxQualifier {
type Scalar = i8;
#[inline]
fn to_little_endian(self) -> i8 {
self.0.to_le()
}
#[inline]
#[allow(clippy::wrong_self_convention)]
fn from_little_endian(v: i8) -> Self {
let b = i8::from_le(v);
Self(b)
}
}
impl<'a> flatbuffers::Verifiable for FluxQualifier {
#[inline]
fn run_verifier(
v: &mut flatbuffers::Verifier, pos: usize
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
use self::flatbuffers::Verifiable;
i8::run_verifier(v, pos)
}
}
impl flatbuffers::SimpleToVerifyInSlice for FluxQualifier {}
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
pub const ENUM_MIN_F_107_DATA_TYPE: i8 = 0;
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
pub const ENUM_MAX_F_107_DATA_TYPE: i8 = 3;
#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
#[allow(non_camel_case_types)]
pub const ENUM_VALUES_F_107_DATA_TYPE: [F107DataType; 4] = [
F107DataType::OBS,
F107DataType::INT,
F107DataType::PRD,
F107DataType::PRM,
];
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
#[repr(transparent)]
pub struct F107DataType(pub i8);
#[allow(non_upper_case_globals)]
impl F107DataType {
pub const OBS: Self = Self(0);
pub const INT: Self = Self(1);
pub const PRD: Self = Self(2);
pub const PRM: Self = Self(3);
pub const ENUM_MIN: i8 = 0;
pub const ENUM_MAX: i8 = 3;
pub const ENUM_VALUES: &'static [Self] = &[
Self::OBS,
Self::INT,
Self::PRD,
Self::PRM,
];
pub fn variant_name(self) -> Option<&'static str> {
match self {
Self::OBS => Some("OBS"),
Self::INT => Some("INT"),
Self::PRD => Some("PRD"),
Self::PRM => Some("PRM"),
_ => None,
}
}
}
impl core::fmt::Debug for F107DataType {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
if let Some(name) = self.variant_name() {
f.write_str(name)
} else {
f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
}
}
}
impl<'a> flatbuffers::Follow<'a> for F107DataType {
type Inner = Self;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
Self(b)
}
}
impl flatbuffers::Push for F107DataType {
type Output = F107DataType;
#[inline]
unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
flatbuffers::emplace_scalar::<i8>(dst, self.0);
}
}
impl flatbuffers::EndianScalar for F107DataType {
type Scalar = i8;
#[inline]
fn to_little_endian(self) -> i8 {
self.0.to_le()
}
#[inline]
#[allow(clippy::wrong_self_convention)]
fn from_little_endian(v: i8) -> Self {
let b = i8::from_le(v);
Self(b)
}
}
impl<'a> flatbuffers::Verifiable for F107DataType {
#[inline]
fn run_verifier(
v: &mut flatbuffers::Verifier, pos: usize
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
use self::flatbuffers::Verifiable;
i8::run_verifier(v, pos)
}
}
impl flatbuffers::SimpleToVerifyInSlice for F107DataType {}
pub enum SPWOffset {}
#[derive(Copy, Clone, PartialEq)]
pub struct SPW<'a> {
pub _tab: flatbuffers::Table<'a>,
}
impl<'a> flatbuffers::Follow<'a> for SPW<'a> {
type Inner = SPW<'a>;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
Self { _tab: flatbuffers::Table::new(buf, loc) }
}
}
impl<'a> SPW<'a> {
pub const VT_DATE: flatbuffers::VOffsetT = 4;
pub const VT_BSRN: flatbuffers::VOffsetT = 6;
pub const VT_ND: flatbuffers::VOffsetT = 8;
pub const VT_KP1: flatbuffers::VOffsetT = 10;
pub const VT_KP2: flatbuffers::VOffsetT = 12;
pub const VT_KP3: flatbuffers::VOffsetT = 14;
pub const VT_KP4: flatbuffers::VOffsetT = 16;
pub const VT_KP5: flatbuffers::VOffsetT = 18;
pub const VT_KP6: flatbuffers::VOffsetT = 20;
pub const VT_KP7: flatbuffers::VOffsetT = 22;
pub const VT_KP8: flatbuffers::VOffsetT = 24;
pub const VT_KP_SUM: flatbuffers::VOffsetT = 26;
pub const VT_AP1: flatbuffers::VOffsetT = 28;
pub const VT_AP2: flatbuffers::VOffsetT = 30;
pub const VT_AP3: flatbuffers::VOffsetT = 32;
pub const VT_AP4: flatbuffers::VOffsetT = 34;
pub const VT_AP5: flatbuffers::VOffsetT = 36;
pub const VT_AP6: flatbuffers::VOffsetT = 38;
pub const VT_AP7: flatbuffers::VOffsetT = 40;
pub const VT_AP8: flatbuffers::VOffsetT = 42;
pub const VT_AP_AVG: flatbuffers::VOffsetT = 44;
pub const VT_CP: flatbuffers::VOffsetT = 46;
pub const VT_C9: flatbuffers::VOffsetT = 48;
pub const VT_ISN: flatbuffers::VOffsetT = 50;
pub const VT_F107_OBS: flatbuffers::VOffsetT = 52;
pub const VT_F107_ADJ: flatbuffers::VOffsetT = 54;
pub const VT_F107_DATA_TYPE: flatbuffers::VOffsetT = 56;
pub const VT_F107_OBS_CENTER81: flatbuffers::VOffsetT = 58;
pub const VT_F107_OBS_LAST81: flatbuffers::VOffsetT = 60;
pub const VT_F107_ADJ_CENTER81: flatbuffers::VOffsetT = 62;
pub const VT_F107_ADJ_LAST81: flatbuffers::VOffsetT = 64;
#[inline]
pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
SPW { _tab: table }
}
#[allow(unused_mut)]
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
args: &'args SPWArgs<'args>
) -> flatbuffers::WIPOffset<SPW<'bldr>> {
let mut builder = SPWBuilder::new(_fbb);
builder.add_F107_ADJ_LAST81(args.F107_ADJ_LAST81);
builder.add_F107_ADJ_CENTER81(args.F107_ADJ_CENTER81);
builder.add_F107_OBS_LAST81(args.F107_OBS_LAST81);
builder.add_F107_OBS_CENTER81(args.F107_OBS_CENTER81);
builder.add_F107_ADJ(args.F107_ADJ);
builder.add_F107_OBS(args.F107_OBS);
builder.add_ISN(args.ISN);
builder.add_C9(args.C9);
builder.add_CP(args.CP);
builder.add_AP_AVG(args.AP_AVG);
builder.add_AP8(args.AP8);
builder.add_AP7(args.AP7);
builder.add_AP6(args.AP6);
builder.add_AP5(args.AP5);
builder.add_AP4(args.AP4);
builder.add_AP3(args.AP3);
builder.add_AP2(args.AP2);
builder.add_AP1(args.AP1);
builder.add_KP_SUM(args.KP_SUM);
builder.add_KP8(args.KP8);
builder.add_KP7(args.KP7);
builder.add_KP6(args.KP6);
builder.add_KP5(args.KP5);
builder.add_KP4(args.KP4);
builder.add_KP3(args.KP3);
builder.add_KP2(args.KP2);
builder.add_KP1(args.KP1);
builder.add_ND(args.ND);
builder.add_BSRN(args.BSRN);
if let Some(x) = args.DATE { builder.add_DATE(x); }
builder.add_F107_DATA_TYPE(args.F107_DATA_TYPE);
builder.finish()
}
pub fn unpack(&self) -> SPWT {
let DATE = self.DATE().map(|x| {
x.to_string()
});
let BSRN = self.BSRN();
let ND = self.ND();
let KP1 = self.KP1();
let KP2 = self.KP2();
let KP3 = self.KP3();
let KP4 = self.KP4();
let KP5 = self.KP5();
let KP6 = self.KP6();
let KP7 = self.KP7();
let KP8 = self.KP8();
let KP_SUM = self.KP_SUM();
let AP1 = self.AP1();
let AP2 = self.AP2();
let AP3 = self.AP3();
let AP4 = self.AP4();
let AP5 = self.AP5();
let AP6 = self.AP6();
let AP7 = self.AP7();
let AP8 = self.AP8();
let AP_AVG = self.AP_AVG();
let CP = self.CP();
let C9 = self.C9();
let ISN = self.ISN();
let F107_OBS = self.F107_OBS();
let F107_ADJ = self.F107_ADJ();
let F107_DATA_TYPE = self.F107_DATA_TYPE();
let F107_OBS_CENTER81 = self.F107_OBS_CENTER81();
let F107_OBS_LAST81 = self.F107_OBS_LAST81();
let F107_ADJ_CENTER81 = self.F107_ADJ_CENTER81();
let F107_ADJ_LAST81 = self.F107_ADJ_LAST81();
SPWT {
DATE,
BSRN,
ND,
KP1,
KP2,
KP3,
KP4,
KP5,
KP6,
KP7,
KP8,
KP_SUM,
AP1,
AP2,
AP3,
AP4,
AP5,
AP6,
AP7,
AP8,
AP_AVG,
CP,
C9,
ISN,
F107_OBS,
F107_ADJ,
F107_DATA_TYPE,
F107_OBS_CENTER81,
F107_OBS_LAST81,
F107_ADJ_CENTER81,
F107_ADJ_LAST81,
}
}
#[inline]
pub fn DATE(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(SPW::VT_DATE, None)}
}
#[inline]
pub fn BSRN(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_BSRN, Some(0)).unwrap()}
}
#[inline]
pub fn ND(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_ND, Some(0)).unwrap()}
}
#[inline]
pub fn KP1(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_KP1, Some(0)).unwrap()}
}
#[inline]
pub fn KP2(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_KP2, Some(0)).unwrap()}
}
#[inline]
pub fn KP3(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_KP3, Some(0)).unwrap()}
}
#[inline]
pub fn KP4(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_KP4, Some(0)).unwrap()}
}
#[inline]
pub fn KP5(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_KP5, Some(0)).unwrap()}
}
#[inline]
pub fn KP6(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_KP6, Some(0)).unwrap()}
}
#[inline]
pub fn KP7(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_KP7, Some(0)).unwrap()}
}
#[inline]
pub fn KP8(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_KP8, Some(0)).unwrap()}
}
#[inline]
pub fn KP_SUM(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_KP_SUM, Some(0)).unwrap()}
}
#[inline]
pub fn AP1(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_AP1, Some(0)).unwrap()}
}
#[inline]
pub fn AP2(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_AP2, Some(0)).unwrap()}
}
#[inline]
pub fn AP3(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_AP3, Some(0)).unwrap()}
}
#[inline]
pub fn AP4(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_AP4, Some(0)).unwrap()}
}
#[inline]
pub fn AP5(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_AP5, Some(0)).unwrap()}
}
#[inline]
pub fn AP6(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_AP6, Some(0)).unwrap()}
}
#[inline]
pub fn AP7(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_AP7, Some(0)).unwrap()}
}
#[inline]
pub fn AP8(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_AP8, Some(0)).unwrap()}
}
#[inline]
pub fn AP_AVG(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_AP_AVG, Some(0)).unwrap()}
}
#[inline]
pub fn CP(&self) -> f32 {
unsafe { self._tab.get::<f32>(SPW::VT_CP, Some(0.0)).unwrap()}
}
#[inline]
pub fn C9(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_C9, Some(0)).unwrap()}
}
#[inline]
pub fn ISN(&self) -> i32 {
unsafe { self._tab.get::<i32>(SPW::VT_ISN, Some(0)).unwrap()}
}
#[inline]
pub fn F107_OBS(&self) -> f32 {
unsafe { self._tab.get::<f32>(SPW::VT_F107_OBS, Some(0.0)).unwrap()}
}
#[inline]
pub fn F107_ADJ(&self) -> f32 {
unsafe { self._tab.get::<f32>(SPW::VT_F107_ADJ, Some(0.0)).unwrap()}
}
#[inline]
pub fn F107_DATA_TYPE(&self) -> F107DataType {
unsafe { self._tab.get::<F107DataType>(SPW::VT_F107_DATA_TYPE, Some(F107DataType::OBS)).unwrap()}
}
#[inline]
pub fn F107_OBS_CENTER81(&self) -> f32 {
unsafe { self._tab.get::<f32>(SPW::VT_F107_OBS_CENTER81, Some(0.0)).unwrap()}
}
#[inline]
pub fn F107_OBS_LAST81(&self) -> f32 {
unsafe { self._tab.get::<f32>(SPW::VT_F107_OBS_LAST81, Some(0.0)).unwrap()}
}
#[inline]
pub fn F107_ADJ_CENTER81(&self) -> f32 {
unsafe { self._tab.get::<f32>(SPW::VT_F107_ADJ_CENTER81, Some(0.0)).unwrap()}
}
#[inline]
pub fn F107_ADJ_LAST81(&self) -> f32 {
unsafe { self._tab.get::<f32>(SPW::VT_F107_ADJ_LAST81, Some(0.0)).unwrap()}
}
}
impl flatbuffers::Verifiable for SPW<'_> {
#[inline]
fn run_verifier(
v: &mut flatbuffers::Verifier, pos: usize
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
use self::flatbuffers::Verifiable;
v.visit_table(pos)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("DATE", Self::VT_DATE, false)?
.visit_field::<i32>("BSRN", Self::VT_BSRN, false)?
.visit_field::<i32>("ND", Self::VT_ND, false)?
.visit_field::<i32>("KP1", Self::VT_KP1, false)?
.visit_field::<i32>("KP2", Self::VT_KP2, false)?
.visit_field::<i32>("KP3", Self::VT_KP3, false)?
.visit_field::<i32>("KP4", Self::VT_KP4, false)?
.visit_field::<i32>("KP5", Self::VT_KP5, false)?
.visit_field::<i32>("KP6", Self::VT_KP6, false)?
.visit_field::<i32>("KP7", Self::VT_KP7, false)?
.visit_field::<i32>("KP8", Self::VT_KP8, false)?
.visit_field::<i32>("KP_SUM", Self::VT_KP_SUM, false)?
.visit_field::<i32>("AP1", Self::VT_AP1, false)?
.visit_field::<i32>("AP2", Self::VT_AP2, false)?
.visit_field::<i32>("AP3", Self::VT_AP3, false)?
.visit_field::<i32>("AP4", Self::VT_AP4, false)?
.visit_field::<i32>("AP5", Self::VT_AP5, false)?
.visit_field::<i32>("AP6", Self::VT_AP6, false)?
.visit_field::<i32>("AP7", Self::VT_AP7, false)?
.visit_field::<i32>("AP8", Self::VT_AP8, false)?
.visit_field::<i32>("AP_AVG", Self::VT_AP_AVG, false)?
.visit_field::<f32>("CP", Self::VT_CP, false)?
.visit_field::<i32>("C9", Self::VT_C9, false)?
.visit_field::<i32>("ISN", Self::VT_ISN, false)?
.visit_field::<f32>("F107_OBS", Self::VT_F107_OBS, false)?
.visit_field::<f32>("F107_ADJ", Self::VT_F107_ADJ, false)?
.visit_field::<F107DataType>("F107_DATA_TYPE", Self::VT_F107_DATA_TYPE, false)?
.visit_field::<f32>("F107_OBS_CENTER81", Self::VT_F107_OBS_CENTER81, false)?
.visit_field::<f32>("F107_OBS_LAST81", Self::VT_F107_OBS_LAST81, false)?
.visit_field::<f32>("F107_ADJ_CENTER81", Self::VT_F107_ADJ_CENTER81, false)?
.visit_field::<f32>("F107_ADJ_LAST81", Self::VT_F107_ADJ_LAST81, false)?
.finish();
Ok(())
}
}
pub struct SPWArgs<'a> {
pub DATE: Option<flatbuffers::WIPOffset<&'a str>>,
pub BSRN: i32,
pub ND: i32,
pub KP1: i32,
pub KP2: i32,
pub KP3: i32,
pub KP4: i32,
pub KP5: i32,
pub KP6: i32,
pub KP7: i32,
pub KP8: i32,
pub KP_SUM: i32,
pub AP1: i32,
pub AP2: i32,
pub AP3: i32,
pub AP4: i32,
pub AP5: i32,
pub AP6: i32,
pub AP7: i32,
pub AP8: i32,
pub AP_AVG: i32,
pub CP: f32,
pub C9: i32,
pub ISN: i32,
pub F107_OBS: f32,
pub F107_ADJ: f32,
pub F107_DATA_TYPE: F107DataType,
pub F107_OBS_CENTER81: f32,
pub F107_OBS_LAST81: f32,
pub F107_ADJ_CENTER81: f32,
pub F107_ADJ_LAST81: f32,
}
impl<'a> Default for SPWArgs<'a> {
#[inline]
fn default() -> Self {
SPWArgs {
DATE: None,
BSRN: 0,
ND: 0,
KP1: 0,
KP2: 0,
KP3: 0,
KP4: 0,
KP5: 0,
KP6: 0,
KP7: 0,
KP8: 0,
KP_SUM: 0,
AP1: 0,
AP2: 0,
AP3: 0,
AP4: 0,
AP5: 0,
AP6: 0,
AP7: 0,
AP8: 0,
AP_AVG: 0,
CP: 0.0,
C9: 0,
ISN: 0,
F107_OBS: 0.0,
F107_ADJ: 0.0,
F107_DATA_TYPE: F107DataType::OBS,
F107_OBS_CENTER81: 0.0,
F107_OBS_LAST81: 0.0,
F107_ADJ_CENTER81: 0.0,
F107_ADJ_LAST81: 0.0,
}
}
}
pub struct SPWBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
}
impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> SPWBuilder<'a, 'b, A> {
#[inline]
pub fn add_DATE(&mut self, DATE: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SPW::VT_DATE, DATE);
}
#[inline]
pub fn add_BSRN(&mut self, BSRN: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_BSRN, BSRN, 0);
}
#[inline]
pub fn add_ND(&mut self, ND: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_ND, ND, 0);
}
#[inline]
pub fn add_KP1(&mut self, KP1: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_KP1, KP1, 0);
}
#[inline]
pub fn add_KP2(&mut self, KP2: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_KP2, KP2, 0);
}
#[inline]
pub fn add_KP3(&mut self, KP3: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_KP3, KP3, 0);
}
#[inline]
pub fn add_KP4(&mut self, KP4: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_KP4, KP4, 0);
}
#[inline]
pub fn add_KP5(&mut self, KP5: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_KP5, KP5, 0);
}
#[inline]
pub fn add_KP6(&mut self, KP6: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_KP6, KP6, 0);
}
#[inline]
pub fn add_KP7(&mut self, KP7: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_KP7, KP7, 0);
}
#[inline]
pub fn add_KP8(&mut self, KP8: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_KP8, KP8, 0);
}
#[inline]
pub fn add_KP_SUM(&mut self, KP_SUM: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_KP_SUM, KP_SUM, 0);
}
#[inline]
pub fn add_AP1(&mut self, AP1: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_AP1, AP1, 0);
}
#[inline]
pub fn add_AP2(&mut self, AP2: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_AP2, AP2, 0);
}
#[inline]
pub fn add_AP3(&mut self, AP3: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_AP3, AP3, 0);
}
#[inline]
pub fn add_AP4(&mut self, AP4: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_AP4, AP4, 0);
}
#[inline]
pub fn add_AP5(&mut self, AP5: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_AP5, AP5, 0);
}
#[inline]
pub fn add_AP6(&mut self, AP6: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_AP6, AP6, 0);
}
#[inline]
pub fn add_AP7(&mut self, AP7: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_AP7, AP7, 0);
}
#[inline]
pub fn add_AP8(&mut self, AP8: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_AP8, AP8, 0);
}
#[inline]
pub fn add_AP_AVG(&mut self, AP_AVG: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_AP_AVG, AP_AVG, 0);
}
#[inline]
pub fn add_CP(&mut self, CP: f32) {
self.fbb_.push_slot::<f32>(SPW::VT_CP, CP, 0.0);
}
#[inline]
pub fn add_C9(&mut self, C9: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_C9, C9, 0);
}
#[inline]
pub fn add_ISN(&mut self, ISN: i32) {
self.fbb_.push_slot::<i32>(SPW::VT_ISN, ISN, 0);
}
#[inline]
pub fn add_F107_OBS(&mut self, F107_OBS: f32) {
self.fbb_.push_slot::<f32>(SPW::VT_F107_OBS, F107_OBS, 0.0);
}
#[inline]
pub fn add_F107_ADJ(&mut self, F107_ADJ: f32) {
self.fbb_.push_slot::<f32>(SPW::VT_F107_ADJ, F107_ADJ, 0.0);
}
#[inline]
pub fn add_F107_DATA_TYPE(&mut self, F107_DATA_TYPE: F107DataType) {
self.fbb_.push_slot::<F107DataType>(SPW::VT_F107_DATA_TYPE, F107_DATA_TYPE, F107DataType::OBS);
}
#[inline]
pub fn add_F107_OBS_CENTER81(&mut self, F107_OBS_CENTER81: f32) {
self.fbb_.push_slot::<f32>(SPW::VT_F107_OBS_CENTER81, F107_OBS_CENTER81, 0.0);
}
#[inline]
pub fn add_F107_OBS_LAST81(&mut self, F107_OBS_LAST81: f32) {
self.fbb_.push_slot::<f32>(SPW::VT_F107_OBS_LAST81, F107_OBS_LAST81, 0.0);
}
#[inline]
pub fn add_F107_ADJ_CENTER81(&mut self, F107_ADJ_CENTER81: f32) {
self.fbb_.push_slot::<f32>(SPW::VT_F107_ADJ_CENTER81, F107_ADJ_CENTER81, 0.0);
}
#[inline]
pub fn add_F107_ADJ_LAST81(&mut self, F107_ADJ_LAST81: f32) {
self.fbb_.push_slot::<f32>(SPW::VT_F107_ADJ_LAST81, F107_ADJ_LAST81, 0.0);
}
#[inline]
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> SPWBuilder<'a, 'b, A> {
let start = _fbb.start_table();
SPWBuilder {
fbb_: _fbb,
start_: start,
}
}
#[inline]
pub fn finish(self) -> flatbuffers::WIPOffset<SPW<'a>> {
let o = self.fbb_.end_table(self.start_);
flatbuffers::WIPOffset::new(o.value())
}
}
impl core::fmt::Debug for SPW<'_> {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
let mut ds = f.debug_struct("SPW");
ds.field("DATE", &self.DATE());
ds.field("BSRN", &self.BSRN());
ds.field("ND", &self.ND());
ds.field("KP1", &self.KP1());
ds.field("KP2", &self.KP2());
ds.field("KP3", &self.KP3());
ds.field("KP4", &self.KP4());
ds.field("KP5", &self.KP5());
ds.field("KP6", &self.KP6());
ds.field("KP7", &self.KP7());
ds.field("KP8", &self.KP8());
ds.field("KP_SUM", &self.KP_SUM());
ds.field("AP1", &self.AP1());
ds.field("AP2", &self.AP2());
ds.field("AP3", &self.AP3());
ds.field("AP4", &self.AP4());
ds.field("AP5", &self.AP5());
ds.field("AP6", &self.AP6());
ds.field("AP7", &self.AP7());
ds.field("AP8", &self.AP8());
ds.field("AP_AVG", &self.AP_AVG());
ds.field("CP", &self.CP());
ds.field("C9", &self.C9());
ds.field("ISN", &self.ISN());
ds.field("F107_OBS", &self.F107_OBS());
ds.field("F107_ADJ", &self.F107_ADJ());
ds.field("F107_DATA_TYPE", &self.F107_DATA_TYPE());
ds.field("F107_OBS_CENTER81", &self.F107_OBS_CENTER81());
ds.field("F107_OBS_LAST81", &self.F107_OBS_LAST81());
ds.field("F107_ADJ_CENTER81", &self.F107_ADJ_CENTER81());
ds.field("F107_ADJ_LAST81", &self.F107_ADJ_LAST81());
ds.finish()
}
}
#[non_exhaustive]
#[derive(Debug, Clone, PartialEq)]
pub struct SPWT {
pub DATE: Option<String>,
pub BSRN: i32,
pub ND: i32,
pub KP1: i32,
pub KP2: i32,
pub KP3: i32,
pub KP4: i32,
pub KP5: i32,
pub KP6: i32,
pub KP7: i32,
pub KP8: i32,
pub KP_SUM: i32,
pub AP1: i32,
pub AP2: i32,
pub AP3: i32,
pub AP4: i32,
pub AP5: i32,
pub AP6: i32,
pub AP7: i32,
pub AP8: i32,
pub AP_AVG: i32,
pub CP: f32,
pub C9: i32,
pub ISN: i32,
pub F107_OBS: f32,
pub F107_ADJ: f32,
pub F107_DATA_TYPE: F107DataType,
pub F107_OBS_CENTER81: f32,
pub F107_OBS_LAST81: f32,
pub F107_ADJ_CENTER81: f32,
pub F107_ADJ_LAST81: f32,
}
impl Default for SPWT {
fn default() -> Self {
Self {
DATE: None,
BSRN: 0,
ND: 0,
KP1: 0,
KP2: 0,
KP3: 0,
KP4: 0,
KP5: 0,
KP6: 0,
KP7: 0,
KP8: 0,
KP_SUM: 0,
AP1: 0,
AP2: 0,
AP3: 0,
AP4: 0,
AP5: 0,
AP6: 0,
AP7: 0,
AP8: 0,
AP_AVG: 0,
CP: 0.0,
C9: 0,
ISN: 0,
F107_OBS: 0.0,
F107_ADJ: 0.0,
F107_DATA_TYPE: F107DataType::OBS,
F107_OBS_CENTER81: 0.0,
F107_OBS_LAST81: 0.0,
F107_ADJ_CENTER81: 0.0,
F107_ADJ_LAST81: 0.0,
}
}
}
impl SPWT {
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(
&self,
_fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>
) -> flatbuffers::WIPOffset<SPW<'b>> {
let DATE = self.DATE.as_ref().map(|x|{
_fbb.create_string(x)
});
let BSRN = self.BSRN;
let ND = self.ND;
let KP1 = self.KP1;
let KP2 = self.KP2;
let KP3 = self.KP3;
let KP4 = self.KP4;
let KP5 = self.KP5;
let KP6 = self.KP6;
let KP7 = self.KP7;
let KP8 = self.KP8;
let KP_SUM = self.KP_SUM;
let AP1 = self.AP1;
let AP2 = self.AP2;
let AP3 = self.AP3;
let AP4 = self.AP4;
let AP5 = self.AP5;
let AP6 = self.AP6;
let AP7 = self.AP7;
let AP8 = self.AP8;
let AP_AVG = self.AP_AVG;
let CP = self.CP;
let C9 = self.C9;
let ISN = self.ISN;
let F107_OBS = self.F107_OBS;
let F107_ADJ = self.F107_ADJ;
let F107_DATA_TYPE = self.F107_DATA_TYPE;
let F107_OBS_CENTER81 = self.F107_OBS_CENTER81;
let F107_OBS_LAST81 = self.F107_OBS_LAST81;
let F107_ADJ_CENTER81 = self.F107_ADJ_CENTER81;
let F107_ADJ_LAST81 = self.F107_ADJ_LAST81;
SPW::create(_fbb, &SPWArgs{
DATE,
BSRN,
ND,
KP1,
KP2,
KP3,
KP4,
KP5,
KP6,
KP7,
KP8,
KP_SUM,
AP1,
AP2,
AP3,
AP4,
AP5,
AP6,
AP7,
AP8,
AP_AVG,
CP,
C9,
ISN,
F107_OBS,
F107_ADJ,
F107_DATA_TYPE,
F107_OBS_CENTER81,
F107_OBS_LAST81,
F107_ADJ_CENTER81,
F107_ADJ_LAST81,
})
}
}
pub enum SPWCOLLECTIONOffset {}
#[derive(Copy, Clone, PartialEq)]
pub struct SPWCOLLECTION<'a> {
pub _tab: flatbuffers::Table<'a>,
}
impl<'a> flatbuffers::Follow<'a> for SPWCOLLECTION<'a> {
type Inner = SPWCOLLECTION<'a>;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
Self { _tab: flatbuffers::Table::new(buf, loc) }
}
}
impl<'a> SPWCOLLECTION<'a> {
pub const VT_RECORDS: flatbuffers::VOffsetT = 4;
#[inline]
pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
SPWCOLLECTION { _tab: table }
}
#[allow(unused_mut)]
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
_fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
args: &'args SPWCOLLECTIONArgs<'args>
) -> flatbuffers::WIPOffset<SPWCOLLECTION<'bldr>> {
let mut builder = SPWCOLLECTIONBuilder::new(_fbb);
if let Some(x) = args.RECORDS { builder.add_RECORDS(x); }
builder.finish()
}
pub fn unpack(&self) -> SPWCOLLECTIONT {
let RECORDS = self.RECORDS().map(|x| {
x.iter().map(|t| t.unpack()).collect()
});
SPWCOLLECTIONT {
RECORDS,
}
}
#[inline]
pub fn RECORDS(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SPW<'a>>>> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SPW>>>>(SPWCOLLECTION::VT_RECORDS, None)}
}
}
impl flatbuffers::Verifiable for SPWCOLLECTION<'_> {
#[inline]
fn run_verifier(
v: &mut flatbuffers::Verifier, pos: usize
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
use self::flatbuffers::Verifiable;
v.visit_table(pos)?
.visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<SPW>>>>("RECORDS", Self::VT_RECORDS, false)?
.finish();
Ok(())
}
}
pub struct SPWCOLLECTIONArgs<'a> {
pub RECORDS: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SPW<'a>>>>>,
}
impl<'a> Default for SPWCOLLECTIONArgs<'a> {
#[inline]
fn default() -> Self {
SPWCOLLECTIONArgs {
RECORDS: None,
}
}
}
pub struct SPWCOLLECTIONBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
}
impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> SPWCOLLECTIONBuilder<'a, 'b, A> {
#[inline]
pub fn add_RECORDS(&mut self, RECORDS: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<SPW<'b >>>>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SPWCOLLECTION::VT_RECORDS, RECORDS);
}
#[inline]
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> SPWCOLLECTIONBuilder<'a, 'b, A> {
let start = _fbb.start_table();
SPWCOLLECTIONBuilder {
fbb_: _fbb,
start_: start,
}
}
#[inline]
pub fn finish(self) -> flatbuffers::WIPOffset<SPWCOLLECTION<'a>> {
let o = self.fbb_.end_table(self.start_);
flatbuffers::WIPOffset::new(o.value())
}
}
impl core::fmt::Debug for SPWCOLLECTION<'_> {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
let mut ds = f.debug_struct("SPWCOLLECTION");
ds.field("RECORDS", &self.RECORDS());
ds.finish()
}
}
#[non_exhaustive]
#[derive(Debug, Clone, PartialEq)]
pub struct SPWCOLLECTIONT {
pub RECORDS: Option<Vec<SPWT>>,
}
impl Default for SPWCOLLECTIONT {
fn default() -> Self {
Self {
RECORDS: None,
}
}
}
impl SPWCOLLECTIONT {
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(
&self,
_fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>
) -> flatbuffers::WIPOffset<SPWCOLLECTION<'b>> {
let RECORDS = self.RECORDS.as_ref().map(|x|{
let w: Vec<_> = x.iter().map(|t| t.pack(_fbb)).collect();_fbb.create_vector(&w)
});
SPWCOLLECTION::create(_fbb, &SPWCOLLECTIONArgs{
RECORDS,
})
}
}
#[inline]
pub fn root_as_SPW(buf: &[u8]) -> Result<SPW, flatbuffers::InvalidFlatbuffer> {
flatbuffers::root::<SPW>(buf)
}
#[inline]
pub fn size_prefixed_root_as_SPW(buf: &[u8]) -> Result<SPW, flatbuffers::InvalidFlatbuffer> {
flatbuffers::size_prefixed_root::<SPW>(buf)
}
#[inline]
pub fn root_as_SPW_with_opts<'b, 'o>(
opts: &'o flatbuffers::VerifierOptions,
buf: &'b [u8],
) -> Result<SPW<'b>, flatbuffers::InvalidFlatbuffer> {
flatbuffers::root_with_opts::<SPW<'b>>(opts, buf)
}
#[inline]
pub fn size_prefixed_root_as_SPW_with_opts<'b, 'o>(
opts: &'o flatbuffers::VerifierOptions,
buf: &'b [u8],
) -> Result<SPW<'b>, flatbuffers::InvalidFlatbuffer> {
flatbuffers::size_prefixed_root_with_opts::<SPW<'b>>(opts, buf)
}
#[inline]
pub unsafe fn root_as_SPW_unchecked(buf: &[u8]) -> SPW {
flatbuffers::root_unchecked::<SPW>(buf)
}
#[inline]
pub unsafe fn size_prefixed_root_as_SPW_unchecked(buf: &[u8]) -> SPW {
flatbuffers::size_prefixed_root_unchecked::<SPW>(buf)
}
pub const SPW_IDENTIFIER: &str = "$SPW";
#[inline]
pub fn SPW_buffer_has_identifier(buf: &[u8]) -> bool {
flatbuffers::buffer_has_identifier(buf, SPW_IDENTIFIER, false)
}
#[inline]
pub fn SPW_size_prefixed_buffer_has_identifier(buf: &[u8]) -> bool {
flatbuffers::buffer_has_identifier(buf, SPW_IDENTIFIER, true)
}
#[inline]
pub fn finish_SPW_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(
fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
root: flatbuffers::WIPOffset<SPW<'a>>) {
fbb.finish(root, Some(SPW_IDENTIFIER));
}
#[inline]
pub fn finish_size_prefixed_SPW_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, root: flatbuffers::WIPOffset<SPW<'a>>) {
fbb.finish_size_prefixed(root, Some(SPW_IDENTIFIER));
}