summaryrefslogtreecommitdiff
path: root/bzipper_macros/src/impls/serialise_struct.rs
AgeCommit message (Collapse)Author
10 daysRename 'FixedString' to 'SizedStr'; Implement 'PartialEq<String>' and ↵0.8.0Gabriel Bjørnager Jensen
'PartialOrd<String>' for 'SizedStr'; Add constructors 'from_utf8' and 'from_utf8_unchecked' to 'SizedStr'; Remove 'pop', 'push_str', and 'push' from 'SizedStr'; Implement 'FromIterator<char>' for 'SizedStr'; Rename 'Serialise' to 'Encode'; Rename 'Deserialise' to 'Decode'; Remove 'Sized' requirement for 'Encode'; Add benchmarks; Update package metadata; Rename 'Sstream' to 'OStream'; Rename 'Dstream' to 'IStream'; Update readme; Refactor code; Update lints; Implement 'Encode' and 'Decode' for 'IpAddr', 'Ipv4Addr', 'Ipv6Addr', 'Mutex', 'Box', 'RwLock', 'Rc', 'Arc', 'Wrapping', 'Saturating', 'AtomicBool', 'AtomicU8', 'AtomicU16', 'AtomicU32', 'AtomicU64', 'AtomicI8', 'AtomicI16', 'AtomicI32', 'AtomicI64', 'AtomicUsize', 'AtomicIsize', 'SocketAddrV4', 'SocketAddrV6', 'SocketAddr', 'Range', 'RangeFrom', 'RangeFull', 'RangeInclusive', 'RangeTo', 'RangeToInclusive', 'Bound', 'RefCell', 'String', and 'Vec'; Update docs; Add 'SizedSlice' type; Add 'SizedIter' type; Rename 'Buffer' type to 'Buf'; Remove 'Add' and 'AddAssign' implementations from 'SizedStr'; Add *Features* section to readme; Honour explicit enumeration discriminants; Encode enumeration discriminants as 'isize'; Add 'SizedEncode' trait; Outsource 'MAX_SERIALISED_SIZE' to 'SizedEncode' as 'MAX_ENCODED_SIZE'; Implement 'Iterator', 'ExactSizeIterator', 'FusedIterator', and 'DoubleEndedIterator' for 'SizedIter'; Implement 'AsRef<[T]>' and 'AsMut<[T]>' for 'SizedIter<T, ..>'; Implement 'Clone' for 'SizedIter'; Add 'as_slice' and 'as_mut_slice' methods to 'SizedIter'; Add 'from_raw_parts' constructor and 'into_raw_parts' destructor to 'SizedSlice'; Add 'set_len' method to 'SizedSlice'; Add 'len', 'is_empty', 'is_full', and 'capacity' methods to 'SizedSlice'; Add 'as_slice' and 'as_mut_slice' methods to 'SizedSlice'; Add 'as_ptr' and 'as_mut_ptr' methods to 'SizedSlice'; Implement 'AsMut<[T]>' and 'AsRef<[T]>' for 'SizedSlice<T, ..>'; Implement 'Borrow<[T]>' and 'BorrowMut<[T]>' for 'SizedSlice<T, ..>'; Implement 'Deref<[T]>' and 'DerefMut<[T]>' for 'SizedSlice<T, ..>'; Implement 'Debug' for 'SizedSlice'; Implement 'Default' for 'SizedSlice'; Implement 'Clone' for 'SizedSlice'; Implement 'Encode', 'Decode', and 'SizedEncode' for 'SizedSlice'; Implement 'Eq' and 'PartialEq' for 'SizedSlice'; Implement 'Ord' and 'PartialOrd' for 'SizedSlice'; Implement 'From<[T; N]>' for 'SizedSlice<T, N>'; Implement 'Hash' for 'SizedSlice'; Implement 'Index' and 'IndexMut' for 'SizedSlice'; Implement 'IntoIterator' for 'SizedSlice' (including references hereto); Implement 'TryFrom<&[T]>' for 'SizedSlice<T, ..>'; Implement 'From<SizedSlice<T, ..>>' for 'Vec<[T]>'; Implement 'From<SizedSlice<T, ..>>' for 'Box<[T]>'; Add 'into_boxed_slice' and 'into_vec' destructors to 'SizedSlice'; Add 'into_boxed_str' and 'into_string' destructors to 'SizedStr'; Bump Rust version to '1.83' for 'bzipper'; Mark 'SizedStr::as_mut_ptr' as const; Implement 'FromIterator<T>' for 'SizedSlice<T, ..>'; Make 'SizedStr::new' take a '&str' object; Add 'is_empty' and 'is_full' methods to 'Buf'; Disallow non-empty single-line functions; Add 'SAFETY' comments; Implement 'PartialEq<&mut [u8]>' and 'PartialEq<[u8]>' for 'Buf'; Implement 'Index' and 'IndexMut' for 'Buf'; Add 'from_raw_parts' constructor and 'into_raw_parts' destructor to 'Buf'; Add *Documentation* and *Contribution* sections to readme; Add *Copyright & Licence* section to readme; Add Clippy configuration file; Add more unit tests; Add debug assertions; Remove 'as_ptr' and 'as_slice' methods from 'IStream' and 'OStream'; Remove 'len', 'is_empty', and 'is_full' methods from 'IStream' and 'OStream'; Unimplement all manually-implemented traits from 'IStream' and 'OStream'; Mark 'new' and 'write' in 'OStream' as const; Mark the 'read' method in 'IStream' as const; Add 'close' destructor to 'OStream' and 'IStream'; Implement 'Encode' for '[T]' and 'str'; Encode 'usize' and 'isize' as 'u16' and 'i16' again; Split 'Error' type into 'EncodeError', 'DecodeError', 'Utf8Error', 'Utf16Error', 'SizeError', and 'StringError'; Remove 'Result' type; Add 'error' module; Make 'IStream::read' and 'OSream::write' panic on error; Update logo; Add more examples to docs; Unmark all functions in 'Buf' as const; Implement 'From<SizedStr>' for 'Box<str>'; Always implement 'Freeze', 'RefUnwindSafe', 'Send', 'Sync', 'Unpin', and 'UnwindSafe' for 'Buf'; Add *Examples* section to readme; Implement 'SizedEncode' for all previous 'Encode' types; Bump dependency versions;
2024-08-31Make 'alloc' and 'std' default features; Make serialisations variably sized ↵7.0.0Gabriel Bjørnager Jensen
again; Refactor derive implementations; Completely rework streams; Fix tuple deserialisation; Encode 'FixedString' in UTF-8; Remove methods 'from_chars' and 'set_len' from 'FixedString'; Rename 'as_slice' and 'as_mut_slice' methods in 'FixedString' to 'as_st' and 'as_mut_str'; Add methods 'as_bytes', 'push_str', 'chars', 'capacity', and 'char_indices' to 'FixedString'; Rework 'FixedString' traits; Remove 'FixedIter'; Update lints; Add methods 'set_len' and 'set_len_unchecked' to 'Buffer'; Elaborate docs; Update readme; Do not require 'Serialise' for 'Deserialise'; Rename 'SERIALISED_SIZE' in 'Serialise' to 'MAX_SERIALISED_SIZE'; Use streams in 'Serialise' and 'Deserialise'; Drop 'Serialise' requirement for 'Buffer'; Add methods 'with_capacity' and 'capacity' to 'Buffer';
2024-08-21Bump minor version; Add macros crate; Add derive macros; Update package ↵0.5.0Gabriel Bjørnager Jensen
metadata; Update readme; Expand docs; Require fixed size (de)serialisations; Add more error variants; Require 'bzipper::Error' for (de)serialisation; Reworks streams; Remove 'Buffer'; Rework 'FixedString'; Serialise 'usize' and 'isize' as 'u32' and 'i32', respectively; Rework arrays (de)serialisation; Fix 'Result' serialisations; Add new logo; Add features 'alloc' and 'std'; Specify rustc version; Rename 'FixedStringIter' to 'FixedIter'; Implement 'Serialise' and 'Deserialise' for single tuples and 'PhantomData';