Struct MonthYear

Source
pub struct MonthYear { /* private fields */ }
Expand description

Canonical data field (DTF) for FixDatatype::MonthYear.

Implementations§

Source§

impl MonthYear

Source

pub fn to_yyyymmww(&self) -> [u8; 8]

Converts self to a byte array.

Source

pub fn year(&self) -> u32

Returns the year of self.

§Examples
use hotfix_encoding::field_access::FieldType;
use hotfix_encoding::field_types::MonthYear;

let dtf = MonthYear::deserialize(b"19390901").unwrap();
assert_eq!(dtf.year(), 1939)
Source

pub fn month(&self) -> u32

Returns the month of self, starting from January as 1.

§Examples
use hotfix_encoding::field_access::FieldType;
use hotfix_encoding::field_types::MonthYear;

let dtf = MonthYear::deserialize(b"20000101").unwrap();
assert_eq!(dtf.month(), 1)
Source

pub fn day(&self) -> Option<u32>

Returns the day of self, if defined.

§Examples

Day included in the definition:

use hotfix_encoding::field_access::FieldType;
use hotfix_encoding::field_types::MonthYear;

let dtf = MonthYear::deserialize(b"20191225").unwrap();
assert_eq!(dtf.day(), Some(25))

Day not included:

use hotfix_encoding::field_access::FieldType;
use hotfix_encoding::field_types::MonthYear;

let dtf = MonthYear::deserialize(b"201801w3").unwrap();
assert_eq!(dtf.day(), None)
Source

pub fn week(&self) -> Option<u32>

Returns the intra-month week code of self, if defined. Note that it is 1-indexed.

§Examples

Present week code:

use hotfix_encoding::field_access::FieldType;
use hotfix_encoding::field_types::MonthYear;

let dtf = MonthYear::deserialize(b"201912w1").unwrap();
assert_eq!(dtf.week(), Some(1))

Absent week code:

use hotfix_encoding::field_access::FieldType;
use hotfix_encoding::field_types::MonthYear;

let dtf = MonthYear::deserialize(b"20191225").unwrap();
assert_eq!(dtf.week(), None)

Trait Implementations§

Source§

impl Clone for MonthYear

Source§

fn clone(&self) -> MonthYear

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MonthYear

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> FieldType<'a> for MonthYear

Source§

type Error = &'static str

The error type that can arise during deserialization.
Source§

type SerializeSettings = ()

A type with values that customize the serialization algorithm, e.g. padding information.
Source§

fn serialize_with<B>(&self, buffer: &mut B, _settings: ()) -> usize
where B: Buffer,

Writes self to buffer using custom serialization settings.
Source§

fn deserialize(data: &'a [u8]) -> Result<Self, Self::Error>

Parses and deserializes from data.
Source§

fn deserialize_lossy(data: &'a [u8]) -> Result<Self, Self::Error>

Like FieldType::deserialize, but it’s allowed to skip some amount of input checking. Invalid inputs might not trigger errors and instead be deserialized as random values. Read more
Source§

fn serialize<B>(&self, buffer: &mut B) -> usize
where B: Buffer,

Writes self to buffer using default settings.
Source§

fn to_bytes(&self) -> Vec<u8>

Serializes self to a Vec of bytes, allocated on the fly.
Source§

fn to_string(&self) -> String

Allocates a String representation of self, using FieldType::to_bytes. Read more
Source§

impl PartialEq for MonthYear

Source§

fn eq(&self, other: &MonthYear) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for MonthYear

Source§

impl Eq for MonthYear

Source§

impl StructuralPartialEq for MonthYear

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.