pub enum FieldKind {
Alphanum {
len: u32,
},
ZonedDecimal {
digits: u16,
scale: i16,
signed: bool,
sign_separate: Option<SignSeparateInfo>,
},
BinaryInt {
bits: u16,
signed: bool,
},
PackedDecimal {
digits: u16,
scale: i16,
signed: bool,
},
Group,
Condition {
values: Vec<String>,
},
Renames {
from_field: String,
thru_field: String,
},
EditedNumeric {
pic_string: String,
width: u16,
scale: u16,
signed: bool,
},
FloatSingle,
FloatDouble,
}Expand description
Field type and characteristics
§Examples
use copybook_core::FieldKind;
let alpha = FieldKind::Alphanum { len: 10 };
assert!(matches!(alpha, FieldKind::Alphanum { len: 10 }));
let packed = FieldKind::PackedDecimal { digits: 7, scale: 2, signed: true };
assert!(matches!(packed, FieldKind::PackedDecimal { signed: true, .. }));
let group = FieldKind::Group;
assert!(matches!(group, FieldKind::Group));Variants§
Alphanum
Alphanumeric field (PIC X)
ZonedDecimal
Zoned decimal field (PIC 9, display)
Fields
§
sign_separate: Option<SignSeparateInfo>SIGN SEPARATE clause information (if applicable)
BinaryInt
Binary integer field (COMP/BINARY)
PackedDecimal
Packed decimal field (COMP-3)
Fields
Group
Group field (contains other fields)
Condition
Level-88 condition field (conditional values)
Renames
Level-66 RENAMES field (field aliasing/regrouping)
Fields
EditedNumeric
Edited numeric field (Phase E2: parse, represent, and decode) Examples: PIC ZZZ9, PIC $ZZ,ZZ9.99, PIC 9(7)V99CR
Fields
FloatSingle
Single-precision floating-point (COMP-1, IEEE 754 binary32, 4 bytes)
FloatDouble
Double-precision floating-point (COMP-2, IEEE 754 binary64, 8 bytes)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for FieldKind
impl<'de> Deserialize<'de> for FieldKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for FieldKind
impl RefUnwindSafe for FieldKind
impl Send for FieldKind
impl Sync for FieldKind
impl Unpin for FieldKind
impl UnsafeUnpin for FieldKind
impl UnwindSafe for FieldKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more