[−][src]Crate numid
This crate provide the numid!
macro for creating numerical id.
Syntax
numid!([pub] struct NAME [(TYPE)] [-> CONSTANT]);
If not indicated, TYPE=u64
and CONSTANT=0
.
Attributes
Attributes can be attached to the generated struct
by placing them
before the struct
keyword (or pub
if public).
Examples
numid!(pub struct MyId -> 10); fn main() { let id1 = MyId::new(); let id2 = MyId::new(); assert!(id2 > id1); assert_eq!(id1.value(), 11); assert_eq!(id2.value(), 12); }
See example
for documentation of code generated by numid!
.
Trait implementations
The Copy
, Clone
, PartialEq
, Eq
, PartialOrd
, Ord
, Hash
and Debug
traits automatically derived for the struct
using the derive
attribute.
Additional traits can be derived by providing an explicit derive
attribute.
The Display
and Default
traits are implemented for the struct
. When
calling default()
, the struct is initialied with a new value instead of 0
.
Methods
The following methods are defined for the generated struct
(only value
need a instance) :
new
: create a new idvalue
: get the id valuecurrent_value
: get the value of the last id or initial_value if no id createdinitial_value
: get the value defined when callingnumid!
replace_current_value
: seeexample::NumId::replace_current_value
create_lower
: seeexample::NumId::create_lower
See example::NumId
for more documentation of methods generated by numid!
.
Modules
example | This module shows an example of code generated by the macro. IT MUST NOT BE USED OUTSIDE THIS CRATE. |
Macros
numid |