[][src]Crate pui

A set of process unique identifiers that can be used to identify values with minimal overhead within a single process

see the Identifier trait for details

features

  • std (default) - if you have the std feature on, it will supercede the alloc feature. This allows you to use:

    • std types to implement various traits, for example Box<I> will implemnt Identifier I
    • thread_local types (from the *_tl)
    • make_global_reuse (this requires internal locking using a Mutex)
  • alloc - this allows you to use without pulling in all of std:

    • alloc types to implement various traits, for example Box<I> will implemnt Identifier I
  • nightly - this allows you to use:

    • atomics on no_std targets that don't support 64-bit atomics

Modules

runtime

A runtime checked identifier

scoped

Use lifetimes to guarantee unique identifiers.

typeid

A type based identifier that uses a unique type parameter to assert uniqueness

typeid_tlstd

A type based identifier that uses a unique type parameter to assert uniqueness

Macros

make_anon_typeid

Create a new typeid::Type that is guaranteed to be unique

make_global_id_alloc

Create a new type that implements IdAlloc that can be used with Runtime

make_global_id_alloc_tlstd

Create a new type that implements IdAlloc that can be used with Runtime which is implemented using a thread-local count

make_global_pool

Create a new type that implements Pool and PoolMut that can be used with Runtime

make_scoped

Create a new scoped identifier with the provided name

make_typeid

Create a new type that can be used with typeid::Type

make_typeid_tlstd

Create a new type that can be used with typeid_tl::Type

Traits

Handle

A handle to an Identifier.

Identifier

An Identifier is a process unique identifier

Scalar

a type that can be used as the backing type in make_global_id_alloc an make_global_id_alloc_tl

Trivial

a type that has no safety (library) invariants