Module sbor::prelude

source ·
Expand description

Each module should have its own prelude, which:

  • Adds preludes of upstream crates
  • Exports types with specific-enough names which mean they can safely be used downstream.

The idea is that we can just include the current crate’s prelude and avoid messing around with tons of includes. This makes refactors easier, and makes integration into the node less painful.

Feel free to add more types to the prelude

Re-exports§

Modules§

  • Utilities for formatting and printing Strings.
  • The methods and macros provided directly in this index_map module (new, with_capacity) work in both std and no-std modes - unlike the corresponding methods on IndexMap itself.
  • The methods and macros provided directly in this index_set module (new, with_capacity) work in both std and no-std modes - unlike the corresponding methods on IndexSet itself.
  • A contiguous growable array type with heap-allocated contents, written Vec<T>.

Macros§

Structs§

  • An ordered map based on a B-Tree.
  • An ordered set based on a B-Tree.
  • An error returned by RefCell::try_borrow.
  • An error returned by RefCell::try_borrow_mut.
  • A pointer type that uniquely owns a heap allocation of type T.
  • A mutable memory location.
  • A doubly-linked list with owned nodes.
  • A thin wrapper around a HashMap, which guarantees that a HashMap usage will not result in a non-deterministic execution (simply by disallowing the iteration over its elements).
  • A cell which can be written to only once.
  • Zero-sized type used to mark things that “act like” they own a T.
  • A single-threaded reference-counting pointer. ‘Rc’ stands for ‘Reference Counted’.
  • Wraps a borrowed reference to a value in a RefCell box. A wrapper type for an immutably borrowed value from a RefCell<T>.
  • A mutable memory location with dynamically checked borrow rules
  • A wrapper type for a mutably borrowed value from a RefCell<T>.
  • A UTF-8–encoded, growable string.
  • The core primitive for interior mutability in Rust.
  • A contiguous growable array type, written as Vec<T>, short for ‘vector’.
  • A double-ended queue implemented with a growable ring buffer.
  • LazyCellExperimental
    A value which is initialized on the first access.
  • SyncUnsafeCellExperimental

Enums§

Traits§

  • Used to do a cheap mutable-to-mutable reference conversion.
  • Used to do a cheap reference-to-reference conversion.
  • A common trait for the ability to explicitly duplicate an object.
  • This trait is used where context is required to correctly display a value.
  • This trait is used where context is required to correctly serialize a value.
  • Types whose values can be duplicated simply by copying bits.
  • ? formatting.
  • A trait for giving a type a useful default value.
  • Format trait for an empty format, {}.
  • An iterator able to yield elements from both ends.
  • Custom code within the destructor.
  • Trait for comparisons corresponding to equivalence relations.
  • An iterator that knows its exact length.
  • Extend a collection with the contents of an iterator.
  • The version of the call operator that takes an immutable receiver.
  • The version of the call operator that takes a mutable receiver.
  • The version of the call operator that takes a by-value receiver.
  • Used to do value-to-value conversions while consuming the input value. It is the reciprocal of Into.
  • Conversion from an Iterator.
  • Parse a value from a string
  • A value-to-value conversion that consumes the input value. The opposite of From.
  • Conversion into an Iterator.
  • A trait for dealing with iterators.
  • Trait for types that form a total order.
  • Trait for comparisons using the equality operator.
  • Trait for types that form a partial order.
  • Types that can be transferred across thread boundaries.
  • Types with a constant size known at compile time.
  • Types for which it is safe to share references between threads.
  • A generalization of Clone to borrowed data.
  • A trait for converting a value to a String.
  • Simple and safe type conversions that may fail in a controlled way under some circumstances. It is the reciprocal of TryInto.
  • An attempted conversion that consumes self, which may or may not be expensive.
  • Types that do not require any pinning guarantees.

Functions§

  • Combines a u8 with a u8 slice.
  • Copies a slice to a fixed-sized array.
  • Disposes of a value.
  • Creates an empty map with capacity 0 and default Hasher
  • Creates an empty map with given capacity and default Hasher
  • Creates an empty set with capacity 0 and default Hasher
  • Creates an empty set with given capacity and default Hasher
  • This is safe for std and no-std use cases (unlike IndexMap::new which disappears when std is not in the toolchain - see this article for deep technical reasons)
  • This is safe for std and no-std use cases (unlike IndexMap::with_capacity which disappears when std is not in the toolchain - see this article for deep technical reasons)
  • This is safe for std and no-std use cases (unlike IndexSet::new which disappears when std is not in the toolchain - see this article for deep technical reasons)
  • This is safe for std and no-std use cases (unlike IndexSet::with_capacity which disappears when std is not in the toolchain - see this article for deep technical reasons)

Type Aliases§

Derive Macros§

  • Derive code that returns the value kind - specifically for Basic SBOR.
  • Derive code that decodes this data structure from a byte array - specifically for Basic SBOR.
  • Derive code that describes the type - specifically for Basic SBOR.
  • Derive code that encodes this data structure - specifically for Basic SBOR.
  • A shortcut for BasicCategorize, BasicEncode, BasicDecode, and BasicDescribe derives.
  • Derive code that returns the value kind.
  • Derive macro generating an impl of the trait Clone.
  • Derive macro generating an impl of the trait Copy.
  • Derive macro generating an impl of the trait Debug.
  • Derive code that decodes this data structure from a byte array.
  • Derive macro generating an impl of the trait Default.
  • Derive code that encodes this data structure
  • Derive macro generating an impl of the trait Eq.
  • Derive macro generating an impl of the trait Ord. The behavior of this macro is described in detail here.
  • Derive macro generating an impl of the trait PartialEq. The behavior of this macro is described in detail here.
  • Derive macro generating an impl of the trait PartialOrd. The behavior of this macro is described in detail here.
  • A shortcut for Categorize, Encode, Decode, and Describe derives.