[][src]Enum cqrs_core::Version

pub enum Version {
    Initial,
    Number(EventNumber),
}

An aggregate version.

Variants

Initial

The version of an aggregate that has not had any events applied to it.

Number(EventNumber)

The version of the last event applied to the aggregate.

Methods

impl Version[src]

pub fn new(number: u64) -> Self[src]

Creates a new Version from a number.

The number 0 gets interpreted as being Version::Initial, while any other number is interpreted as the latest event number applied.

pub fn incr(&mut self)[src]

Increments the version number to the next in sequence.

pub fn next_event(self) -> EventNumber[src]

Returns the next event number in the sequence.

pub fn get(self) -> u64[src]

Gets the version number as a raw u64.

pub fn event_number(self) -> Option<EventNumber>[src]

Gets the version number as an EventNumber, returning None if the current verison is Version::Initial.

Trait Implementations

impl Eq for Version[src]

impl Copy for Version[src]

impl PartialOrd<Version> for Version[src]

impl Default for Version[src]

impl PartialEq<Version> for Version[src]

impl From<EventNumber> for Version[src]

impl From<Version> for Precondition[src]

impl From<Version> for Since[src]

impl Clone for Version[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Ord for Version[src]

fn max(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the maximum of two values. Read more

fn min(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the minimum of two values. Read more

fn clamp(self, min: Self, max: Self) -> Self[src]

🔬 This is a nightly-only experimental API. (clamp)

Restrict a value to a certain interval. Read more

impl Display for Version[src]

impl Debug for Version[src]

impl Sub<Version> for Version[src]

type Output = i64

The resulting type after applying the - operator.

impl Hash for Version[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

Auto Trait Implementations

impl Send for Version

impl Sync for Version

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From for T[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.