1 // automatically generated by the FlatBuffers compiler, do not modify 2 // @generated 3 extern crate alloc; 4 extern crate flatbuffers; 5 use alloc::boxed::Box; 6 use alloc::string::{String, ToString}; 7 use alloc::vec::Vec; 8 use core::mem; 9 use core::cmp::Ordering; 10 use self::flatbuffers::{EndianScalar, Follow}; 11 use super::*; 12 #[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")] 13 pub const ENUM_MIN_AB: i8 = 0; 14 #[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")] 15 pub const ENUM_MAX_AB: i8 = 1; 16 #[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")] 17 #[allow(non_camel_case_types)] 18 pub const ENUM_VALUES_AB: [AB; 2] = [ 19 AB::A, 20 AB::B, 21 ]; 22 23 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] 24 #[repr(transparent)] 25 pub(crate) struct AB(pub i8); 26 #[allow(non_upper_case_globals)] 27 impl AB { 28 pub const A: Self = Self(0); 29 pub const B: Self = Self(1); 30 31 pub const ENUM_MIN: i8 = 0; 32 pub const ENUM_MAX: i8 = 1; 33 pub const ENUM_VALUES: &'static [Self] = &[ 34 Self::A, 35 Self::B, 36 ]; 37 /// Returns the variant's name or "" if unknown. variant_name(self) -> Option<&'static str>38 pub fn variant_name(self) -> Option<&'static str> { 39 match self { 40 Self::A => Some("A"), 41 Self::B => Some("B"), 42 _ => None, 43 } 44 } 45 } 46 impl core::fmt::Debug for AB { fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result47 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { 48 if let Some(name) = self.variant_name() { 49 f.write_str(name) 50 } else { 51 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0)) 52 } 53 } 54 } 55 impl<'a> flatbuffers::Follow<'a> for AB { 56 type Inner = Self; 57 #[inline] follow(buf: &'a [u8], loc: usize) -> Self::Inner58 fn follow(buf: &'a [u8], loc: usize) -> Self::Inner { 59 let b = unsafe { 60 flatbuffers::read_scalar_at::<i8>(buf, loc) 61 }; 62 Self(b) 63 } 64 } 65 66 impl flatbuffers::Push for AB { 67 type Output = AB; 68 #[inline] push(&self, dst: &mut [u8], _rest: &[u8])69 fn push(&self, dst: &mut [u8], _rest: &[u8]) { 70 unsafe { flatbuffers::emplace_scalar::<i8>(dst, self.0); } 71 } 72 } 73 74 impl flatbuffers::EndianScalar for AB { 75 #[inline] to_little_endian(self) -> Self76 fn to_little_endian(self) -> Self { 77 let b = i8::to_le(self.0); 78 Self(b) 79 } 80 #[inline] 81 #[allow(clippy::wrong_self_convention)] from_little_endian(self) -> Self82 fn from_little_endian(self) -> Self { 83 let b = i8::from_le(self.0); 84 Self(b) 85 } 86 } 87 88 impl<'a> flatbuffers::Verifiable for AB { 89 #[inline] run_verifier( v: &mut flatbuffers::Verifier, pos: usize ) -> Result<(), flatbuffers::InvalidFlatbuffer>90 fn run_verifier( 91 v: &mut flatbuffers::Verifier, pos: usize 92 ) -> Result<(), flatbuffers::InvalidFlatbuffer> { 93 use self::flatbuffers::Verifiable; 94 i8::run_verifier(v, pos) 95 } 96 } 97 98 impl flatbuffers::SimpleToVerifyInSlice for AB {} 99