Trait switchboard_solana::program_id::program_pack::Pack
pub trait Pack: Sealed {
const LEN: usize;
// Provided methods
fn get_packed_len() -> usize { ... }
fn unpack(input: &[u8]) -> Result<Self, ProgramError>
where Self: IsInitialized { ... }
fn unpack_unchecked(input: &[u8]) -> Result<Self, ProgramError> { ... }
fn pack(src: Self, dst: &mut [u8]) -> Result<(), ProgramError> { ... }
}
Expand description
Safely and efficiently (de)serialize account state
Required Associated Constants§
Provided Methods§
fn get_packed_len() -> usize
fn get_packed_len() -> usize
Get the packed length
fn unpack(input: &[u8]) -> Result<Self, ProgramError>where
Self: IsInitialized,
fn unpack(input: &[u8]) -> Result<Self, ProgramError>where
Self: IsInitialized,
Unpack from slice and check if initialized
fn unpack_unchecked(input: &[u8]) -> Result<Self, ProgramError>
fn unpack_unchecked(input: &[u8]) -> Result<Self, ProgramError>
Unpack from slice without checking if initialized
fn pack(src: Self, dst: &mut [u8]) -> Result<(), ProgramError>
fn pack(src: Self, dst: &mut [u8]) -> Result<(), ProgramError>
Pack into slice
Object Safety§
This trait is not object safe.