Struct savefile::AbiRemoved
source · pub struct AbiRemoved<T, D = DefaultValueConstructor<T>>where
D: ValueConstructor<T>,{ /* private fields */ }
Expand description
Helper struct which represents a field which has been removed. This, in contrast to ‘AbiRemoved’,
Implementations§
source§impl<T: Default, D: ValueConstructor<T>> AbiRemoved<T, D>
impl<T: Default, D: ValueConstructor<T>> AbiRemoved<T, D>
sourcepub fn new() -> AbiRemoved<T, D>
pub fn new() -> AbiRemoved<T, D>
Helper to create an instance of Removed<T>
. Removed<T>
has no data.
Trait Implementations§
source§impl<T: Clone, D> Clone for AbiRemoved<T, D>where
D: ValueConstructor<T> + Clone,
impl<T: Clone, D> Clone for AbiRemoved<T, D>where
D: ValueConstructor<T> + Clone,
source§fn clone(&self) -> AbiRemoved<T, D>
fn clone(&self) -> AbiRemoved<T, D>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<T: Debug, D> Debug for AbiRemoved<T, D>where
D: ValueConstructor<T> + Debug,
impl<T: Debug, D> Debug for AbiRemoved<T, D>where
D: ValueConstructor<T> + Debug,
source§impl<T: Default, D> Default for AbiRemoved<T, D>where
D: ValueConstructor<T> + Default,
impl<T: Default, D> Default for AbiRemoved<T, D>where
D: ValueConstructor<T> + Default,
source§fn default() -> AbiRemoved<T, D>
fn default() -> AbiRemoved<T, D>
Returns the “default value” for a type. Read more
source§impl<T: WithSchema + Deserialize, D: ValueConstructor<T>> Deserialize for AbiRemoved<T, D>
impl<T: WithSchema + Deserialize, D: ValueConstructor<T>> Deserialize for AbiRemoved<T, D>
source§fn deserialize(
deserializer: &mut Deserializer<'_, impl Read>
) -> Result<Self, SavefileError>
fn deserialize( deserializer: &mut Deserializer<'_, impl Read> ) -> Result<Self, SavefileError>
Deserialize and return an instance of Self from the given deserializer.
source§impl<T: Hash, D> Hash for AbiRemoved<T, D>where
D: ValueConstructor<T> + Hash,
impl<T: Hash, D> Hash for AbiRemoved<T, D>where
D: ValueConstructor<T> + Hash,
source§impl<T: Introspect, D: ValueConstructor<T>> Introspect for AbiRemoved<T, D>
impl<T: Introspect, D: ValueConstructor<T>> Introspect for AbiRemoved<T, D>
source§fn introspect_value(&self) -> String
fn introspect_value(&self) -> String
Returns the value of the object, excluding children, as a string.
Exactly what the value returned here is depends on the type.
For some types, like a plain array, there isn’t much of a value,
the entire information of object resides in the children.
For other cases, like a department in an organisation, it might
make sense to have the value be the name, and have all the other properties
as children.
source§fn introspect_child(
&self,
_index: usize
) -> Option<Box<dyn IntrospectItem<'_> + '_>>
fn introspect_child( &self, _index: usize ) -> Option<Box<dyn IntrospectItem<'_> + '_>>
Returns an the name and &dyn Introspect for the child with the given index,
or if no child with that index exists, None.
All the children should be indexed consecutively starting at 0 with no gaps,
all though there isn’t really anything stopping the user of the trait to have
any arbitrary index strategy, consecutive numbering 0, 1, 2, … etc is strongly
encouraged.
source§fn introspect_len(&self) -> usize
fn introspect_len(&self) -> usize
Returns the total number of children.
The default implementation calculates this by simply calling introspect_child with
higher and higher indexes until it returns None.
It gives up if the count reaches 10000. If your type can be bigger
and you want to be able to introspect it, override this method.
source§impl<T: Ord, D> Ord for AbiRemoved<T, D>where
D: ValueConstructor<T> + Ord,
impl<T: Ord, D> Ord for AbiRemoved<T, D>where
D: ValueConstructor<T> + Ord,
source§fn cmp(&self, other: &AbiRemoved<T, D>) -> Ordering
fn cmp(&self, other: &AbiRemoved<T, D>) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl<T, D: ValueConstructor<T>> Packed for AbiRemoved<T, D>
impl<T, D: ValueConstructor<T>> Packed for AbiRemoved<T, D>
source§unsafe fn repr_c_optimization_safe(_version: u32) -> IsPacked
unsafe fn repr_c_optimization_safe(_version: u32) -> IsPacked
This method returns true if the optimization is allowed
for the protocol version given as an argument.
This may return true if and only if the given protocol version
has a serialized format identical to the memory layout of the given protocol version.
Note, the only memory layout existing is that of the most recent version, so
Packed-optimization only works when disk-format is identical to memory version. Read more
source§impl<T: PartialEq, D> PartialEq for AbiRemoved<T, D>where
D: ValueConstructor<T> + PartialEq,
impl<T: PartialEq, D> PartialEq for AbiRemoved<T, D>where
D: ValueConstructor<T> + PartialEq,
source§fn eq(&self, other: &AbiRemoved<T, D>) -> bool
fn eq(&self, other: &AbiRemoved<T, D>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<T: PartialOrd, D> PartialOrd for AbiRemoved<T, D>where
D: ValueConstructor<T> + PartialOrd,
impl<T: PartialOrd, D> PartialOrd for AbiRemoved<T, D>where
D: ValueConstructor<T> + PartialOrd,
source§fn partial_cmp(&self, other: &AbiRemoved<T, D>) -> Option<Ordering>
fn partial_cmp(&self, other: &AbiRemoved<T, D>) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl<T: WithSchema + Serialize + Default, D: ValueConstructor<T>> Serialize for AbiRemoved<T, D>
impl<T: WithSchema + Serialize + Default, D: ValueConstructor<T>> Serialize for AbiRemoved<T, D>
source§fn serialize(
&self,
serializer: &mut Serializer<'_, impl Write>
) -> Result<(), SavefileError>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write> ) -> Result<(), SavefileError>
Serialize self into the given serializer.
In versions prior to 0.15, ‘Serializer’ did not accept a type parameter.
It now requires a type parameter with the type of writer expected.
source§impl<T: WithSchema, D: ValueConstructor<T>> WithSchema for AbiRemoved<T, D>
impl<T: WithSchema, D: ValueConstructor<T>> WithSchema for AbiRemoved<T, D>
impl<T: Copy, D> Copy for AbiRemoved<T, D>where
D: ValueConstructor<T> + Copy,
impl<T: Eq, D> Eq for AbiRemoved<T, D>where
D: ValueConstructor<T> + Eq,
impl<T, D: ValueConstructor<T>> Send for AbiRemoved<T, D>
Removed is a zero-sized type. It contains a PhantomData<*const T>, which means it doesn’t implement Send or Sync per default. However, implementing these is actually safe, so implement it manually.
impl<T, D> StructuralPartialEq for AbiRemoved<T, D>where
D: ValueConstructor<T>,
impl<T, D: ValueConstructor<T>> Sync for AbiRemoved<T, D>
Removed is a zero-sized type. It contains a PhantomData<*const T>, which means it doesn’t implement Send or Sync per default. However, implementing these is actually safe, so implement it manually.
Auto Trait Implementations§
impl<T, D> Freeze for AbiRemoved<T, D>
impl<T, D> RefUnwindSafe for AbiRemoved<T, D>where
T: RefUnwindSafe,
D: RefUnwindSafe,
impl<T, D> Unpin for AbiRemoved<T, D>
impl<T, D> UnwindSafe for AbiRemoved<T, D>where
T: RefUnwindSafe,
D: RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.