Crate width_counters

Source
Expand description

Atomic, thread-safe counters of differing integer widths

§Comes with

These counters support

  • Incrementing/decrementing by default (1) or specified amounts,
  • Using per-operation atomic orderings, (see this also)
  • Instantiation with default offset (0) and default atomic ordering ( sequentially consistent ),
  • Instantiation with custom offset, custom ordering or both,
  • Instantiation with custom enum-flag-based counting behaviors (monotonic, nonmonotonic, incrementing, decrementing, cyclic, acyclic)
  • PartialEq, Eq, Hash, PartialOrd, Ord, Clone, Debug, Display
  • Send, Sync

§Optional features

  • serde: serialization and deserialization support
  • iterators: iterator support

Modules§

behavior
Counter behavioral elements

Structs§

CounterI8
An atomic counter using AtomicI8 / (core::i8).
CounterI16
An atomic counter using AtomicI16 / (core::i16).
CounterI32
An atomic counter using AtomicI32 / (core::i32).
CounterI64
An atomic counter using AtomicI64 / (core::i64).
CounterIsize
An atomic counter using AtomicIsize / (core::isize).
CounterU8
An atomic counter using AtomicU8 / (core::u8).
CounterU16
An atomic counter using AtomicU16 / (core::u16).
CounterU32
An atomic counter using AtomicU32 / (core::u32).
CounterU64
An atomic counter using AtomicU64 / (core::u64).
CounterUsize
An atomic counter using AtomicUsize / (core::usize).
CountingBehaviorConflictIter
An iterator over the variants of Self

Enums§

CountingBehavior
Counting behaviors
CountingBehaviorConflict
A conflict between counting behaviors

Traits§

CountsNonmotonically
Something that can counts up or down
HasCountingBehavior
Something that has counting behaviors
IsCounter
Something that is a counter

Type Aliases§

AllCountingBehaviorConflicts