#identifier #iterator #partial-ord #generate #behavior #defines #sequences

aabel-identifier-rs

A crate the defines identifier behavior, such comparing them, or generating sequences of identifiers

3 releases

0.1.2 Feb 22, 2024
0.1.1 Feb 16, 2024
0.1.0 Feb 16, 2024

#559 in Data structures

MIT/Apache

9KB
155 lines

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.

No runtime deps