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§
pub use crate::encoded_wrappers::RawPayload as SborRawPayload;
pub use crate::encoded_wrappers::RawValue as SborRawValue;
pub use crate::path::SborPath;
pub use crate::path::SborPathBuf;
pub use crate::representations;
pub use crate::value::CustomValue as SborCustomValue;
pub use crate::value::Value as SborValue;
pub use crate::versioned::CloneIntoLatest;
pub use crate::versioned::HasLatestVersion;
pub use crate::versioned::UpdateResult;
pub use crate::basic_decode;
pub use crate::basic_encode;
pub use crate::BasicCategorize;
pub use crate::BasicDecode;
pub use crate::BasicDescribe;
pub use crate::BasicEncode;
pub use crate::BasicSbor;
pub use crate::Categorize;
pub use crate::Decode;
pub use crate::Encode;
pub use crate::SborEnum;
pub use crate::SborTuple;
pub use crate::DecodeError;
pub use crate::EncodeError;
pub use crate::schema::prelude::*;
pub use crate::value_kind::*;
Modules§
- Utilities for formatting and printing
String
s. - 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 onIndexMap
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 onIndexSet
itself. - A contiguous growable array type with heap-allocated contents, written
Vec<T>
.
Macros§
- Creates a
String
using interpolation of runtime expressions. - Creates a
Vec
containing the arguments.
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 aHashMap
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 aRefCell<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.
- LazyCellExperimentalA value which is initialized on the first access.
- SyncUnsafeCellExperimental
UnsafeCell
, butSync
.
Enums§
- A clone-on-write smart pointer.
- The
Option
type. See the module level documentation for more.
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.
- 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
PartialOrd
. The behavior of this macro is described in detail here.