Skip to content
This repository was archived by the owner on Oct 5, 2023. It is now read-only.

Repository files navigation

Autoincrement

It is small library for implementing autoincremental values, such as IDs or others.

[dependencies]
autoincrement = "1"

Synchronous generator example

use autoincrement::prelude::*;#[derive(Incremental,PartialEq,Eq,Debug)]structMyId(u32);letmut generator = MyId::init();assert_eq!(generator.pull(),MyId(1));assert_eq!(generator.pull(),MyId(2));assert_eq!(generator.pull(),MyId(3));

Set first value

use autoincrement::prelude::*;#[derive(Incremental,PartialEq,Eq,Debug)]structMyId(u32);letmut generator = MyId(20).init_from();assert_eq!(generator.pull(),MyId(20));assert_eq!(generator.pull(),MyId(21));assert_eq!(generator.pull(),MyId(22));

Example with using thread-safe generator

[dependencies]
autoincrement = { version = "1", features = ["derive", "async"] }
use autoincrement::prelude::*;#[derive(AsyncIncremental,PartialEq,Eq,Debug)]structMyId(u32);let generator = MyId::init();// does not need to be mutableassert_eq!(generator.pull(),MyId(1));assert_eq!(generator.pull(),MyId(2));assert_eq!(generator.pull(),MyId(3));

About

Small library for implementing autoincremental values, such as IDs or others

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages