aabel-identifier-rs

Crates.ioaabel-identifier-rs
lib.rsaabel-identifier-rs
version0.1.2
sourcesrc
created_at2024-02-16 06:25:52.391409
updated_at2024-02-22 14:23:12.972042
descriptionA crate the defines identifier behavior, such comparing them, or generating sequences of identifiers.
homepagehttps://github.com/veminovici/aabel-identifier-rs
repositoryhttps://github.com/veminovici/aabel-identifier-rs
max_upload_size
id1142129
size9,117
VLAD EMINOVICI (veminovici)

documentation

README

Simplee > Aabel > Identifier

Crates.io CI GitHub top language License:MIT GitHub code size in bytes GitHub last commit GitHub watchers

Description

A Rust crate that defines some behavior related to identifiers, such:

  • any type which implements Eq will be an Identifier.
  • any type which implements PartialOrd will be a PartialOrdIdentifier.
  • capabilities to generate sequences of identifiers.

Examples

Any type which implements the [Eq] trait will automatically be an identifier.

use aabel_identifier_rs::*;

fn test_identifier(_id: impl Identifier) {
    assert!(true);
}

let id = 10_u8;
test_identifier(id);

You can create an iterator which generates new idenfiers, given a starting point and a function which compute a new identifier value from a previous one.

use aabel_identifier_rs::*;

let id = 10_u8;
let mut iter = id.into_ids_iterator(|id| id + 1);

assert_eq!(iter.next(), Some(10));
assert_eq!(iter.next(), Some(11));

About

Code designed and written on the beautiful island of Saaremaa, Estonia.

Commit count: 0

cargo fmt