pub trait Encode {
// Required method
fn encode<E>(&self, encoder: &mut E) -> Result<(), EncodeError>
where E: Encoder;
}Expand description
Any source that can be encoded. This trait should be implemented for all types that you want to be able to use with any of the encode_with methods.
This trait will be automatically implemented if you enable the derive feature and add #[derive(bincode::Encode)] to your trait.
§Implementing this trait manually
If you want to implement this trait for your type, the easiest way is to add a #[derive(bincode::Encode)], build and check your target/generated/bincode/ folder. This should generate a <Struct name>_Encode.rs file.
For this struct:
struct Entity {
pub x: f32,
pub y: f32,
}It will look something like:
impl bincode::Encode for Entity {
fn encode<E: bincode::enc::Encoder>(
&self,
encoder: &mut E,
) -> core::result::Result<(), bincode::error::EncodeError> {
bincode::Encode::encode(&self.x, encoder)?;
bincode::Encode::encode(&self.y, encoder)?;
Ok(())
}
}From here you can add/remove fields, or add custom logic.
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl Encode for SocketAddr
impl Encode for SocketAddr
Source§impl Encode for SocketAddrV4
impl Encode for SocketAddrV4
Source§impl Encode for SocketAddrV6
impl Encode for SocketAddrV6
Source§impl Encode for AtomicBool
Available on target_has_atomic=8 only.
impl Encode for AtomicBool
Available on
target_has_atomic=8 only.Source§impl Encode for AtomicIsize
Available on target_has_atomic=ptr only.
impl Encode for AtomicIsize
Available on
target_has_atomic=ptr only.Source§impl Encode for AtomicUsize
Available on target_has_atomic=ptr only.
impl Encode for AtomicUsize
Available on
target_has_atomic=ptr only.Source§impl Encode for SystemTime
impl Encode for SystemTime
Source§impl<A, B, C, D> Encode for (A, B, C, D)
impl<A, B, C, D> Encode for (A, B, C, D)
Source§impl<A, B, C, D, E> Encode for (A, B, C, D, E)
impl<A, B, C, D, E> Encode for (A, B, C, D, E)
Source§impl<A, B, C, D, E, F> Encode for (A, B, C, D, E, F)
impl<A, B, C, D, E, F> Encode for (A, B, C, D, E, F)
Source§impl<A, B, C, D, E, F, G> Encode for (A, B, C, D, E, F, G)
impl<A, B, C, D, E, F, G> Encode for (A, B, C, D, E, F, G)
Source§impl<A, B, C, D, E, F, G, H> Encode for (A, B, C, D, E, F, G, H)
impl<A, B, C, D, E, F, G, H> Encode for (A, B, C, D, E, F, G, H)
Source§impl<A, B, C, D, E, F, G, H, I> Encode for (A, B, C, D, E, F, G, H, I)
impl<A, B, C, D, E, F, G, H, I> Encode for (A, B, C, D, E, F, G, H, I)
Source§impl<A, B, C, D, E, F, G, H, I, J> Encode for (A, B, C, D, E, F, G, H, I, J)
impl<A, B, C, D, E, F, G, H, I, J> Encode for (A, B, C, D, E, F, G, H, I, J)
Source§impl<A, B, C, D, E, F, G, H, I, J, K> Encode for (A, B, C, D, E, F, G, H, I, J, K)
impl<A, B, C, D, E, F, G, H, I, J, K> Encode for (A, B, C, D, E, F, G, H, I, J, K)
Source§impl<A, B, C, D, E, F, G, H, I, J, K, L> Encode for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<A, B, C, D, E, F, G, H, I, J, K, L> Encode for (A, B, C, D, E, F, G, H, I, J, K, L)
Source§impl<A, B, C, D, E, F, G, H, I, J, K, L, M> Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M)
impl<A, B, C, D, E, F, G, H, I, J, K, L, M> Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M)
Source§impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
Source§impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
Source§impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> Encode for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
Source§impl<T> Encode for BinaryHeap<T>
impl<T> Encode for BinaryHeap<T>
Source§impl<T> Encode for PhantomData<T>
impl<T> Encode for PhantomData<T>
Source§impl<T> Encode for RangeInclusive<T>where
T: Encode,
impl<T> Encode for RangeInclusive<T>where
T: Encode,
Implementors§
impl Encode for AddressWitness
impl Encode for PlatformAddress
impl Encode for AddressFundsFeeStrategyStep
impl Encode for AssetLockValue
impl Encode for BlockAwareCreditOperation
impl Encode for CreditOperation
impl Encode for ExtendedBlockInfo
impl Encode for ExtendedEpochInfo
impl Encode for FinalizedEpochInfo
impl Encode for ValidatorSet
impl Encode for TokenConfiguration
impl Encode for TokenConfigurationPresetFeatures
impl Encode for TokenConfigurationConvention
impl Encode for TokenConfigurationChangeItem
impl Encode for TokenConfigurationLocalization
impl Encode for TokenDistributionInfo
impl Encode for TokenDistributionType
impl Encode for TokenDistributionTypeWithResolvedRecipient
impl Encode for TokenDistributionRules
impl Encode for TokenKeepsHistoryRules
impl Encode for TokenMarketplaceRules
impl Encode for TokenTradeMode
impl Encode for DistributionFunction
impl Encode for TokenDistributionRecipient
impl Encode for TokenDistributionResolvedRecipient
impl Encode for TokenPerpetualDistribution
impl Encode for RewardDistributionMoment
impl Encode for RewardDistributionType
impl Encode for TokenPreProgrammedDistribution
impl Encode for AuthorizedActionTakers
impl Encode for ChangeControlRules
impl Encode for DataContractConfig
impl Encode for CreatedDataContractInSerializationFormat
impl Encode for CreationRestrictionMode
impl Encode for DataContractError
impl Encode for dpp::data_contract::errors::JsonSchemaError
impl Encode for Group
impl Encode for DataContractInSerializationFormat
impl Encode for StorageKeyRequirements
impl Encode for BasicError
impl Encode for ConsensusError
impl Encode for FeeError
impl Encode for SignatureError
impl Encode for DataTriggerError
impl Encode for TokenConfigurationIdentityContext
impl Encode for StateError
impl Encode for GroupActionEvent
impl Encode for GroupStateTransitionInfoStatus
impl Encode for GroupAction
impl Encode for Identity
impl Encode for MergeIdentityNonceResult
impl Encode for ContractBounds
impl Encode for IdentityPublicKey
impl Encode for KeyType
impl Encode for Purpose
impl Encode for SecurityLevel
impl Encode for AssetLockProof
impl Encode for StateTransition
impl Encode for StateTransitionType
impl Encode for AddressCreditWithdrawalTransition
impl Encode for AddressFundingFromAssetLockTransition
impl Encode for AddressFundsTransferTransition
impl Encode for DocumentTransition
impl Encode for BatchedTransition
impl Encode for DocumentPurchaseTransition
impl Encode for DocumentTransferTransition
impl Encode for DocumentUpdatePriceTransition
impl Encode for TokenTransition
impl Encode for DocumentBaseTransition
impl Encode for BatchTransition
impl Encode for DocumentCreateTransition
impl Encode for DocumentDeleteTransition
impl Encode for DocumentReplaceTransition
impl Encode for TokenBurnTransition
impl Encode for TokenClaimTransition
impl Encode for TokenConfigUpdateTransition
impl Encode for TokenDestroyFrozenFundsTransition
impl Encode for TokenDirectPurchaseTransition
impl Encode for TokenEmergencyActionTransition
impl Encode for TokenFreezeTransition
impl Encode for TokenMintTransition
impl Encode for TokenSetPriceForDirectPurchaseTransition
impl Encode for TokenTransferTransition
impl Encode for TokenUnfreezeTransition
impl Encode for TokenBaseTransition
impl Encode for DataContractCreateTransition
impl Encode for DataContractUpdateTransition
impl Encode for IdentityCreateFromAddressesTransition
impl Encode for IdentityCreateTransition
impl Encode for IdentityCreditTransferToAddressesTransition
impl Encode for IdentityCreditTransferTransition
impl Encode for IdentityCreditWithdrawalTransition
impl Encode for IdentityTopUpFromAddressesTransition
impl Encode for IdentityTopUpTransition
impl Encode for IdentityUpdateTransition
impl Encode for MasternodeVoteTransition
impl Encode for IdentityPublicKeyInCreation
impl Encode for ShieldFromAssetLockTransition
impl Encode for ShieldTransition
impl Encode for ShieldedTransferTransition
impl Encode for ShieldedWithdrawalTransition
impl Encode for UnshieldTransition
impl Encode for TokenContractInfo
impl Encode for TokenEmergencyAction
impl Encode for GasFeesPaidBy
impl Encode for IdentityTokenInfo
impl Encode for TokenStatus
impl Encode for TokenEvent
impl Encode for TokenPaymentInfo
impl Encode for TokenPricingSchedule
impl Encode for ContenderWithSerializedDocument
impl Encode for ResourceVoteChoice
impl Encode for YesNoAbstainVoteChoice
impl Encode for ContestedDocumentVotePollStatus
impl Encode for ContestedDocumentVotePollStoredInfo
impl Encode for ContestedDocumentVotePollWinnerInfo
impl Encode for VotePoll
impl Encode for Vote
impl Encode for ResourceVote
impl Encode for Pooling
impl Encode for TotalSingleTokenBalance
impl Encode for BlockInfo
impl Encode for Epoch
impl Encode for ExtendedBlockInfoV0
impl Encode for ExtendedEpochInfoV0
impl Encode for FinalizedEpochInfoV0
impl Encode for ValidatorV0
Available on crate feature
core-types-serialization only.impl Encode for ValidatorSetV0
Available on crate feature
core-types-serialization only.