Struct scale_info::TypeDefBitSequence
source · pub struct TypeDefBitSequence<T: Form = MetaForm> {
pub bit_store_type: T::Type,
pub bit_order_type: T::Type,
}
Expand description
Type describing a [bitvec::vec::BitVec
].
Note
This can only be constructed for TypeInfo
in the MetaForm
with the bit-vec
feature
enabled, but can be decoded or deserialized into the PortableForm
without this feature.
Fields§
§bit_store_type: T::Type
The type implementing [bitvec::store::BitStore
].
bit_order_type: T::Type
The type implementing [bitvec::order::BitOrder
].
Implementations§
source§impl<T> TypeDefBitSequence<T>where
T: Form,
impl<T> TypeDefBitSequence<T>where
T: Form,
sourcepub fn bit_order_type(&self) -> &T::Type
👎Deprecated since 2.5.0: Prefer to access the fields directly; this getter will be removed in the next major version
pub fn bit_order_type(&self) -> &T::Type
Returns the type of the bit ordering of the [::bitvec::vec::BitVec
].
sourcepub fn bit_store_type(&self) -> &T::Type
👎Deprecated since 2.5.0: Prefer to access the fields directly; this getter will be removed in the next major version
pub fn bit_store_type(&self) -> &T::Type
Returns underlying type used to store the [::bitvec::vec::BitVec
].
source§impl TypeDefBitSequence
impl TypeDefBitSequence
sourcepub fn new<Store, Order>() -> Selfwhere
Store: TypeInfo + 'static,
Order: TypeInfo + 'static,
pub fn new<Store, Order>() -> Selfwhere
Store: TypeInfo + 'static,
Order: TypeInfo + 'static,
Creates a new TypeDefBitSequence
for the supplied bit order and bit store types.
With the bit-vec
feature enabled, the expected usage is to provide either
bitvec::order::Lsb0
or bitvec::order::Msb0
as the order type, and then something
like u8, u8, or u32 as the store type. Without the bit-vec
feature enabled, it’s
recommended that your types have identical TypeInfo
to those.
source§impl TypeDefBitSequence<PortableForm>
impl TypeDefBitSequence<PortableForm>
sourcepub fn new_portable(
bit_store_type: <PortableForm as Form>::Type,
bit_order_type: <PortableForm as Form>::Type
) -> Self
pub fn new_portable(
bit_store_type: <PortableForm as Form>::Type,
bit_order_type: <PortableForm as Form>::Type
) -> Self
Creates a new TypeDefBitSequence
for the supplied bit order and bit store types.
Trait Implementations§
source§impl<T: Clone + Form> Clone for TypeDefBitSequence<T>where
T::Type: Clone,
impl<T: Clone + Form> Clone for TypeDefBitSequence<T>where
T::Type: Clone,
source§fn clone(&self) -> TypeDefBitSequence<T>
fn clone(&self) -> TypeDefBitSequence<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<T: Form> Decode for TypeDefBitSequence<T>where
T::Type: Decode,
impl<T: Form> Decode for TypeDefBitSequence<T>where
T::Type: Decode,
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,
source§impl<'de, T: Form> Deserialize<'de> for TypeDefBitSequence<T>where
T::Type: Deserialize<'de>,
impl<'de, T: Form> Deserialize<'de> for TypeDefBitSequence<T>where
T::Type: Deserialize<'de>,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl<T: Form> Encode for TypeDefBitSequence<T>where
T::Type: Encode,
impl<T: Form> Encode for TypeDefBitSequence<T>where
T::Type: Encode,
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
source§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
source§impl<F: Form> From<TypeDefBitSequence<F>> for Type<F>
impl<F: Form> From<TypeDefBitSequence<F>> for Type<F>
source§fn from(item: TypeDefBitSequence<F>) -> Self
fn from(item: TypeDefBitSequence<F>) -> Self
source§impl<F: Form> From<TypeDefBitSequence<F>> for TypeDef<F>
impl<F: Form> From<TypeDefBitSequence<F>> for TypeDef<F>
source§fn from(x: TypeDefBitSequence<F>) -> Self
fn from(x: TypeDefBitSequence<F>) -> Self
source§impl IntoPortable for TypeDefBitSequence
impl IntoPortable for TypeDefBitSequence
§type Output = TypeDefBitSequence<PortableForm>
type Output = TypeDefBitSequence<PortableForm>
Self
.source§fn into_portable(self, registry: &mut Registry) -> Self::Output
fn into_portable(self, registry: &mut Registry) -> Self::Output
self
to the portable form by using the registry for caching.source§impl<T: Ord + Form> Ord for TypeDefBitSequence<T>where
T::Type: Ord,
impl<T: Ord + Form> Ord for TypeDefBitSequence<T>where
T::Type: Ord,
source§fn cmp(&self, other: &TypeDefBitSequence<T>) -> Ordering
fn cmp(&self, other: &TypeDefBitSequence<T>) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl<T: PartialEq + Form> PartialEq<TypeDefBitSequence<T>> for TypeDefBitSequence<T>where
T::Type: PartialEq,
impl<T: PartialEq + Form> PartialEq<TypeDefBitSequence<T>> for TypeDefBitSequence<T>where
T::Type: PartialEq,
source§fn eq(&self, other: &TypeDefBitSequence<T>) -> bool
fn eq(&self, other: &TypeDefBitSequence<T>) -> bool
source§impl<T: PartialOrd + Form> PartialOrd<TypeDefBitSequence<T>> for TypeDefBitSequence<T>where
T::Type: PartialOrd,
impl<T: PartialOrd + Form> PartialOrd<TypeDefBitSequence<T>> for TypeDefBitSequence<T>where
T::Type: PartialOrd,
source§fn partial_cmp(&self, other: &TypeDefBitSequence<T>) -> Option<Ordering>
fn partial_cmp(&self, other: &TypeDefBitSequence<T>) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more