### fn step_by(self, step: usize) -> StepBy Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Creates an iterator starting at the same point, but stepping by the given amount at each iteration. ```APIDOC ## fn step_by(self, step: usize) -> StepBy ### Description Creates an iterator starting at the same point, but stepping by the given amount at each iteration. ### Method step_by ### Signature fn step_by(self, step: usize) -> StepBy where Self: Sized ### Parameters - **step** (usize) - The step size between iterations. ### Returns - **StepBy** - An iterator that steps by the given amount. ### Notes - Available since Rust 1.0.0. ``` -------------------------------- ### IceWriter::new Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceWriter.html Begins a new ICE archive with the specified version, compression, encryption, and Oodle settings. Returns a Result with an IceWriter or an UnsupportedVersion error. ```APIDOC ## IceWriter::new ### Description Begins a new ICE archive with the specified version, compression, encryption, and Oodle settings. ### Method new ### Signature pub fn new(version: u32, compress: bool, encrypt: bool, oodle: bool) -> Result ### Parameters - **version** (u32) - Required - The archive version. - **compress** (bool) - Required - Whether to compress the archive. - **encrypt** (bool) - Required - Whether to encrypt the archive. - **oodle** (bool) - Required - Whether to use Oodle compression. ### Returns - **Ok(IceWriter)** - A new IceWriter instance. - **Err(UnsupportedVersion)** - If the version is not supported. ``` -------------------------------- ### IceArchive::load Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceArchive.html Opens an IO source as an IceArchive, parsing the header and reading group data into memory. ```APIDOC ## load(src: R) -> Result ### Description Opens an IO source as an `IceArchive`, parsing the header from the start of the source and reading group data into local memory. ### Parameters - `src` (R) - Required - The IO source to read from, must implement `Read` and `Seek`. ### Returns - `Result` - The parsed archive or a load error. ``` -------------------------------- ### IceWriter::begin_file Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceWriter.html Begins a file within the archive. Returns an IceFileWriter that must be finished to add the file to the archive. ```APIDOC ## IceWriter::begin_file ### Description Begins a file in the archive. The returned IceFileWriter must have its `finish` method called to add the file to the archive. ### Method begin_file ### Signature pub fn begin_file<'a>(&'a mut self, name: &AsciiStr, ext: &AsciiStr, group: Group) -> IceFileWriter<'a> ### Parameters - **name** (&AsciiStr) - Required - The file name. - **ext** (&AsciiStr) - Required - The file extension. - **group** (Group) - Required - The file group. ### Returns - **IceFileWriter<'a>** - A writer for the file. ``` -------------------------------- ### by_ref Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Creates a 'by reference' adapter for this instance of Write. ```APIDOC ## by_ref ### Description Creates a “by reference” adapter for this instance of `Write`. ### Method `fn by_ref(&mut self) -> &mut Self where Self: Sized` ### Parameters None. ### Returns - `&mut Self` - A mutable reference to the writer. ``` -------------------------------- ### Writing an ICE file with IceWriter Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/ Creates a new ICE archive (version 4) and writes a single file 'hello.txt' into Group1. The writer is finished into a Vec buffer, but any Write sink is acceptable. ```rust use std::io::Write; use ages_ice_archive::{Group, IceWriter}; use ascii::AsciiStr; let mut ice_writer = IceWriter::new(4, true, true, false).unwrap(); { let mut file = ice_writer.begin_file( AsciiStr::from_ascii("hello.txt").unwrap(), AsciiStr::from_ascii("txt").unwrap(), Group::Group1, ); file.write_all(b"hello world"); file.finish(); } let mut buf = Vec::new(); // any Write sink is acceptable ice_writer.finish(&mut buf).unwrap(); ``` -------------------------------- ### Reading an ICE file with IceArchive::load and IceGroupIter Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/ Loads an ICE file from disk, decompresses both groups, and prints the names of files in each group. Requires the file path 'ice_file.ice' to exist and be a valid ICE archive. ```rust use std::fs::File; use ages_ice_archive::{Group, IceArchive, IceGroupIter}; let ice_archive = IceArchive::load( File::open("ice_file.ice").unwrap() ).unwrap(); let g1_data = ice_archive.decompress_group(Group::Group1).unwrap(); let g2_data = ice_archive.decompress_group(Group::Group2).unwrap(); println!("Group 1:"); let g1_iter = IceGroupIter::new(&g1_data[..], ice_archive.group_count(Group::Group1)).unwrap(); for f in g1_iter { println!("\t{}", f.name().unwrap()); } println!("Group 2:"); let g2_iter = IceGroupIter::new(&g2_data[..], ice_archive.group_count(Group::Group2)).unwrap(); for f in g2_iter { println!("\t{}", f.name().unwrap()); } ``` -------------------------------- ### IceArchive::load Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/ Loads an ICE archive from a readable source. This is the primary entry point for reading ICE files. ```APIDOC ## IceArchive::load ### Description Loads an ICE archive from a readable source. This is the primary entry point for reading ICE files. ### Method `IceArchive::load(reader: R) -> Result` ### Parameters - **reader** (R: Read) - Required - The source to read the ICE archive from. ### Returns - **Result** - The loaded ICE archive or an error. ### Example ```rust use std::fs::File; use ages_ice_archive::IceArchive; let ice_archive = IceArchive::load(File::open("ice_file.ice").unwrap()).unwrap(); ``` ``` -------------------------------- ### IceGroupIter::next Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/ Advances the iterator and returns the next file entry, or None if exhausted. ```APIDOC ## IceGroupIter::next ### Description Advances the iterator and returns the next file entry, or None if exhausted. ### Method `IceGroupIter::next(&mut self) -> Option` ### Returns - **Option** - The next file entry, or None if the iterator is exhausted. ### Example ```rust for f in g1_iter { println!("\t{}", f.name().unwrap()); } ``` ``` -------------------------------- ### IceFileWriter::finish Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/ Completes the file insertion into the in-progress ICE group. ```APIDOC ## IceFileWriter::finish ### Description Completes the file insertion into the in-progress ICE group. ### Method `IceFileWriter::finish(&mut self) -> Result<(), Error>` ### Returns - **Result<(), Error>** - Ok if successful, or an error. ### Example ```rust file.finish(); ``` ``` -------------------------------- ### fn advance_by(&mut self, n: usize) -> Result<(), NonZero> Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Advances the iterator by n elements. This is a nightly-only experimental API. ```APIDOC ## fn advance_by(&mut self, n: usize) -> Result<(), NonZero> ### Description Advances the iterator by `n` elements. ### Method advance_by ### Signature fn advance_by(&mut self, n: usize) -> Result<(), NonZero> ### Parameters - **n** (usize) - The number of elements to advance by. ### Returns - **Result<(), NonZero>** - Ok(()) if the iterator advanced by exactly n elements, or Err(NonZero) with the remaining number of elements if the iterator ended early. ### Notes - This is a nightly-only experimental API (`iter_advance_by`). ``` -------------------------------- ### write_all Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Attempts to write an entire buffer into this writer. This method is part of the Write trait. ```APIDOC ## write_all ### Description Attempts to write an entire buffer into this writer. This method is part of the `Write` trait. ### Method `fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>` ### Parameters - `buf` (`&[u8]`) - The buffer to write. ### Returns - `Result<(), Error>` - Returns `Ok(())` if the entire buffer was written successfully, or an `Error` otherwise. ``` -------------------------------- ### IceFileWriter::write_all Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/ Writes all bytes to the file being written. ```APIDOC ## IceFileWriter::write_all ### Description Writes all bytes to the file being written. ### Method `IceFileWriter::write_all(&mut self, buf: &[u8]) -> Result<(), Error>` ### Parameters - **buf** (&[u8]) - Required - The bytes to write. ### Returns - **Result<(), Error>** - Ok if successful, or an error. ### Example ```rust file.write_all(b"hello world"); ``` ``` -------------------------------- ### write_all_vectored Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Attempts to write multiple buffers into this writer. This is a nightly-only experimental API. ```APIDOC ## write_all_vectored ### Description Attempts to write multiple buffers into this writer. This is a nightly-only experimental API. ### Method `fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>` ### Parameters - `bufs` (`&mut [IoSlice<'_>]`) - A mutable slice of `IoSlice` buffers to write. ### Returns - `Result<(), Error>` - Returns `Ok(())` if all buffers were written successfully, or an `Error` otherwise. ### Notes - Nightly-only experimental API (`write_all_vectored`). ``` -------------------------------- ### write_fmt Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Writes a formatted string into this writer, returning any error encountered. ```APIDOC ## write_fmt ### Description Writes a formatted string into this writer, returning any error encountered. ### Method `fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>` ### Parameters - `args` (`Arguments<'_>`) - The formatted arguments to write. ### Returns - `Result<(), Error>` - Returns `Ok(())` if the formatted string was written successfully, or an `Error` otherwise. ``` -------------------------------- ### IceFile::ext Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFile.html Returns the reported ASCII extension of the file entry as a Result<&str, AsciiError>. ```APIDOC ## IceFile::ext ### Description Get the reported ASCII extension of the file entry. ### Method pub fn ext(&self) -> Result<&str, AsciiError> ### Parameters None ### Returns - `Result<&str, AsciiError>` - The ASCII extension or an AsciiError if the extension is not valid ASCII. ``` -------------------------------- ### map_windows Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Calls the given function f for each contiguous window of size N over self and returns an iterator over the outputs of f. ```APIDOC ## map_windows ### Description Calls the given function f for each contiguous window of size N over self and returns an iterator over the outputs of f. Like slice::windows(), the windows during mapping overlap as well. ### Method map_windows ### Signature fn map_windows(self, f: F) -> MapWindows where Self: Sized, F: FnMut(&[Self::Item; N]) -> R ### Parameters - **f** (F) - Required - A closure that takes a reference to an array of N items and returns R. ### Returns - **MapWindows** - An iterator over the outputs of f for each window. ### Notes - This is a nightly-only experimental API (iter_map_windows). ``` -------------------------------- ### IceGroupIter::new Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/ Creates an iterator over the file entries in a decompressed group data buffer. ```APIDOC ## IceGroupIter::new ### Description Creates an iterator over the file entries in a decompressed group data buffer. ### Method `IceGroupIter::new(data: &[u8], count: usize) -> Result` ### Parameters - **data** (&[u8]) - Required - The decompressed group data. - **count** (usize) - Required - The number of files in the group. ### Returns - **Result** - An iterator over the file entries. ### Example ```rust use ages_ice_archive::{IceGroupIter, IceArchive, Group}; let g1_iter = IceGroupIter::new(&g1_data[..], ice_archive.group_count(Group::Group1)).unwrap(); ``` ``` -------------------------------- ### write_i64 Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Writes a signed 64-bit integer to the underlying writer. Returns a Result indicating success or an I/O error. ```APIDOC ## write_i64 ### Description Writes a signed 64-bit integer to the underlying writer. ### Method write_i64 ### Signature fn write_i64(&mut self, n: i64) -> Result<(), Error> where T: ByteOrder ### Parameters - **n** (i64) - Required - The signed 64-bit integer to write. ### Return Value - **Result<(), Error>** - Ok(()) on success, or an I/O error. ``` -------------------------------- ### write_i32 Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Writes a signed 32-bit integer to the underlying writer. ```APIDOC ## write_i32 ### Description Writes a signed 32-bit integer to the underlying writer. ### Method write_i32 ### Signature fn write_i32(&mut self, n: i32) -> Result<(), Error> where T: ByteOrder ### Parameters - **n** (i32) - Required - The signed 32-bit integer to write. ### Return Value Result<(), Error> - Ok(()) on success, or an I/O error. ``` -------------------------------- ### enumerate Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Creates an iterator that yields the current iteration count along with each item. ```APIDOC ## fn enumerate(self) -> Enumerate ### Description Creates an iterator which gives the current iteration count as well as the next value. ### Method fn ### Signature fn enumerate(self) -> Enumerate ### Parameters - **self** - The iterator to enumerate. ### Returns - **Enumerate** - An iterator that yields (index, item) pairs. ### Constraints - Self: Sized ### Notes - Available since Rust 1.0.0. - Const version is unstable. ``` -------------------------------- ### IceGroupIter::new Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Creates a new IceGroupIter instance from a byte slice and a count. Returns a Result that yields the iterator or a GroupIterError on failure. ```APIDOC ## IceGroupIter::new ### Description Creates a new IceGroupIter instance from a byte slice and a count. Returns a Result that yields the iterator or a GroupIterError on failure. ### Method `pub fn new(data: &'a [u8], count: u32) -> Result, GroupIterError>` ### Parameters - **data** (`&'a [u8]`) - Required - The byte slice containing the ice group data. - **count** (`u32`) - Required - The number of ice groups to iterate over. ### Returns - **Result, GroupIterError>** - On success, returns an `IceGroupIter` instance; on failure, returns a `GroupIterError`. ### Example ```rust let data: &[u8] = ...; let count: u32 = ...; let iter = IceGroupIter::new(data, count)?; ``` ``` -------------------------------- ### fn product

(self) -> P Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Iterates over the entire iterator, multiplying all the elements. This method is part of the Iterator trait implementation for IceGroupIter. ```APIDOC ## fn product

(self) -> P ### Description Iterates over the entire iterator, multiplying all the elements. ### Method product ### Signature fn product

(self) -> P where Self: Sized, P: Product ### Parameters - **self** - The iterator to multiply. ### Returns - **P** - The product of all elements. ### Example ```rust let product: i32 = vec![1, 2, 3].into_iter().product(); ``` ``` -------------------------------- ### fn nth(&mut self, n: usize) -> Option Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Returns the nth element of the iterator. ```APIDOC ## fn nth(&mut self, n: usize) -> Option ### Description Returns the `n`th element of the iterator. ### Method nth ### Signature fn nth(&mut self, n: usize) -> Option ### Parameters - **n** (usize) - The index of the element to return (0-based). ### Returns - **Option** - The nth element, or None if n is out of bounds. ### Notes - Available since Rust 1.28.0. ``` -------------------------------- ### IceArchive::version Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceArchive.html Returns the version of the ICE archive. ```APIDOC ## version(&self) -> u32 ### Description The version of this ICE archive. ### Returns - `u32` - The version number. ``` -------------------------------- ### fold Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Folds every element into an accumulator by applying an operation, returning the final result. ```APIDOC ## fold ### Description Folds every element into an accumulator by applying an operation, returning the final result. ### Method `fn fold(self, init: B, f: F) -> B` ### Parameters - **init** (B) - The initial accumulator value. - **f** (F) - A closure that takes the accumulator and an item, returning a new accumulator. ### Returns - **B** - The final accumulator value. ### Constraints - `Self: Sized` - `F: FnMut(B, Self::Item) -> B` ``` -------------------------------- ### write_i24 Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Writes a signed 24-bit integer to the underlying writer. ```APIDOC ## write_i24 ### Description Writes a signed 24-bit integer to the underlying writer. ### Method write_i24 ### Signature fn write_i24(&mut self, n: i32) -> Result<(), Error> where T: ByteOrder ### Parameters - **n** (i32) - Required - The signed 24-bit integer to write. ### Return Value Result<(), Error> - Ok(()) on success, or an I/O error. ``` -------------------------------- ### impl PartialEq for Group Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/enum.Group.html Provides equality and inequality comparison methods for the Group enum. ```APIDOC ## impl PartialEq for Group ### Description Provides equality and inequality comparison methods for the Group enum. ### Methods #### fn eq(&self, other: &Self) -> bool Equality operator `==`. #### fn ne(&self, other: &Rhs) -> bool Inequality operator `!=`. ### Parameters - `other` (&Self or &Rhs) - The value to compare against. ### Returns - `bool` - `true` if the comparison holds, `false` otherwise. ``` -------------------------------- ### take Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Creates an iterator that yields the first n elements, or fewer if the underlying iterator ends sooner. This method is part of the Iterator trait and is available on IceGroupIter. ```APIDOC ## take ### Description Creates an iterator that yields the first `n` elements, or fewer if the underlying iterator ends sooner. ### Method take ### Signature fn take(self, n: usize) -> Take where Self: Sized ### Parameters - **n** (usize) - Required - The number of elements to take. ### Returns - **Take** - An iterator adapter that yields the first n elements. ### Notes - Available since Rust 1.0.0 (const: unstable). ``` -------------------------------- ### write_i16 Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Writes a signed 16-bit integer to the underlying writer. ```APIDOC ## write_i16 ### Description Writes a signed 16-bit integer to the underlying writer. ### Method write_i16 ### Signature fn write_i16(&mut self, n: i16) -> Result<(), Error> ### Parameters - **n** (i16) - Required - The signed 16-bit integer to write. - **T** (ByteOrder) - Required - The byte order to use. ### Return Value - **Result<(), Error>** - Ok(()) on success, or an I/O error. ``` -------------------------------- ### fn try_reduce(&mut self, f: impl FnMut(Self::Item, Self::Item) -> R) -> <::Residual as Residual::Output>>>::TryType Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Reduces the elements to a single one by repeatedly applying a reducing operation. If the closure returns a failure, the failure is propagated back to the caller immediately. This is a nightly-only experimental API. ```APIDOC ## fn try_reduce(&mut self, f: impl FnMut(Self::Item, Self::Item) -> R) -> <::Residual as Residual::Output>>>::TryType ### Description Reduces the elements to a single one by repeatedly applying a reducing operation. If the closure returns a failure, the failure is propagated back to the caller immediately. ### Signature ```rust fn try_reduce( &mut self, f: impl FnMut(Self::Item, Self::Item) -> R, ) -> <::Residual as Residual::Output>>>::TryType where Self: Sized, R: Try, ::Residual: Residual>, ``` ### Parameters - **f** (impl FnMut(Self::Item, Self::Item) -> R) - Required - A closure that takes two items and returns a value that implements Try. ### Return Value - **<::Residual as Residual::Output>>>::TryType** - The reduced value or a failure. ### Note This is a nightly-only experimental API. (`iterator_try_reduce`) ### Example ```rust let result = iter.try_reduce(|a, b| if a + b > 100 { Err("overflow") } else { Ok(a + b) }); ``` ``` -------------------------------- ### copied Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Creates an iterator which copies all of its elements. ```APIDOC ## copied ### Description Creates an iterator which copies all of its elements. ### Signature ```rust fn copied<'a, T>(self) -> Copied where T: Copy + 'a, Self: Sized + Iterator, ``` ### Return Value - **Copied** - An iterator that yields copies of the original elements. ### Notes - Available since Rust 1.0.0. - Const evaluation is unstable. ``` -------------------------------- ### write_u64 Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Writes an unsigned 64-bit integer to the underlying writer. Returns a Result indicating success or an I/O error. ```APIDOC ## write_u64 ### Description Writes an unsigned 64-bit integer to the underlying writer. ### Method write_u64 ### Signature fn write_u64(&mut self, n: u64) -> Result<(), Error> where T: ByteOrder ### Parameters - **n** (u64) - Required - The unsigned 64-bit integer to write. ### Return Value - **Result<(), Error>** - Ok(()) on success, or an I/O error. ``` -------------------------------- ### map Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Takes a closure and creates an iterator which calls that closure on each element. ```APIDOC ## map ### Description Takes a closure and creates an iterator which calls that closure on each element. ### Method map ### Signature ```rust fn map(self, f: F) -> Map where Self: Sized, F: FnMut(Self::Item) -> B, ``` ### Parameters - **f** (F) - Required - The closure to call on each element. ### Return Value Returns a `Map` iterator adapter. ### Notes - Available since Rust 1.21.0. - Const evaluation is unstable. ``` -------------------------------- ### fn last(self) -> Option Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Consumes the iterator, returning the last element. ```APIDOC ## fn last(self) -> Option ### Description Consumes the iterator, returning the last element. ### Method last ### Signature fn last(self) -> Option where Self: Sized ### Parameters - **self** - The iterator to consume. ### Returns - **Option** - The last element, or None if the iterator is empty. ### Notes - Available since Rust 1.0.0. ``` -------------------------------- ### partial_cmp_by Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Lexicographically compares the elements of this Iterator with those of another with respect to the specified comparison function. This is a nightly-only experimental API. ```APIDOC ## partial_cmp_by ### Description Lexicographically compares the elements of this Iterator with those of another with respect to the specified comparison function. This is a nightly-only experimental API. ### Signature ```rust fn partial_cmp_by(self, other: I, partial_cmp: F) -> Option where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, ::Item) -> Option, ``` ### Parameters - **other** (I) - The iterator to compare against. - **partial_cmp** (F) - A comparison function that returns an Option. ### Return Value - **Option** - The result of the lexicographic comparison. ### Availability - Nightly-only experimental API (`iter_order_by`) - Version 1.5.0 (const: unstable) ``` -------------------------------- ### write_i8 Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Writes a signed 8-bit integer to the underlying writer. ```APIDOC ## write_i8 ### Description Writes a signed 8-bit integer to the underlying writer. ### Method write_i8 ### Signature fn write_i8(&mut self, n: i8) -> Result<(), Error> ### Parameters - **n** (i8) - Required - The signed 8-bit integer to write. ### Return Value - **Result<(), Error>** - Ok(()) on success, or an I/O error. ``` -------------------------------- ### fn count(self) -> usize Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Consumes the iterator, counting the number of iterations and returning it. ```APIDOC ## fn count(self) -> usize ### Description Consumes the iterator, counting the number of iterations and returning it. ### Method count ### Signature fn count(self) -> usize where Self: Sized ### Parameters - **self** - The iterator to consume. ### Returns - **usize** - The number of iterations. ### Notes - Available since Rust 1.0.0. - Const unstable (tracking issue #92476). ``` -------------------------------- ### write_i48 Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Writes a signed 48-bit integer to the underlying writer. Returns a Result indicating success or an I/O error. ```APIDOC ## write_i48 ### Description Writes a signed 48-bit integer to the underlying writer. ### Method write_i48 ### Signature fn write_i48(&mut self, n: i64) -> Result<(), Error> where T: ByteOrder ### Parameters - **n** (i64) - Required - The signed 48-bit integer to write. ### Return Value - **Result<(), Error>** - Ok(()) on success, or an I/O error. ``` -------------------------------- ### Iterator::partition Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Consumes an iterator, creating two collections from it based on a predicate. ```APIDOC ## partition ### Description Consumes an iterator, creating two collections from it. ### Method partition ### Signature fn partition(self, f: F) -> (B, B) where Self: Sized, B: Default + Extend, F: FnMut(&Self::Item) -> bool ### Parameters - **f** (F) - Required - A predicate function that determines which collection each item goes into. ### Returns - **(B, B)** - A tuple of two collections: the first contains items for which the predicate returned true, the second contains the rest. ``` -------------------------------- ### cloned Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Creates an iterator which clones all of its elements. ```APIDOC ## cloned ### Description Creates an iterator which clones all of its elements. ### Signature ```rust fn cloned<'a, T>(self) -> Cloned where T: Clone + 'a, Self: Sized + Iterator, ``` ### Return Value - **Cloned** - An iterator that yields clones of the original elements. ### Notes - Available since Rust 1.0.0. - Const evaluation is unstable. ``` -------------------------------- ### write_u32 Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Writes an unsigned 32-bit integer to the underlying writer. ```APIDOC ## write_u32 ### Description Writes an unsigned 32-bit integer to the underlying writer. ### Method write_u32 ### Signature fn write_u32(&mut self, n: u32) -> Result<(), Error> where T: ByteOrder ### Parameters - **n** (u32) - Required - The unsigned 32-bit integer to write. ### Return Value Result<(), Error> - Ok(()) on success, or an I/O error. ``` -------------------------------- ### scan Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html An iterator adapter that holds internal state and produces a new iterator, similar to fold but yielding an iterator. ```APIDOC ## scan ### Description An iterator adapter which, like fold, holds internal state, but unlike fold, produces a new iterator. ### Method scan ### Signature fn scan(self, initial_state: St, f: F) -> Scan where Self: Sized, F: FnMut(&mut St, Self::Item) -> Option ### Parameters - **initial_state** (St) - Required - The initial state for the scan. - **f** (F) - Required - A closure that takes a mutable reference to the state and an item, returning an Option. ### Returns - **Scan** - An iterator adapter that yields the results of the closure. ### Notes - Available since Rust 1.0.0. - Const evaluation is unstable. ``` -------------------------------- ### unzip Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Converts an iterator of pairs into a pair of containers. ```APIDOC ## unzip ### Description Converts an iterator of pairs into a pair of containers. ### Signature ```rust fn unzip(self) -> (FromA, FromB) where FromA: Default + Extend, FromB: Default + Extend, Self: Sized + Iterator, ``` ### Return Value - **(FromA, FromB)** - A pair of containers containing the first and second elements of each pair. ### Notes - Available since Rust 1.36.0. - Const evaluation is unstable. ``` -------------------------------- ### fn find_map(&mut self, f: F) -> Option Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Applies a function to the elements of the iterator and returns the first non-none result. This method consumes the iterator and returns the first Some value produced by the function, or None if all results are None. ```APIDOC ## fn find_map(&mut self, f: F) -> Option ### Description Applies function to the elements of iterator and returns the first non-none result. ### Method find_map ### Signature fn find_map(&mut self, f: F) -> Option where Self: Sized, F: FnMut(Self::Item) -> Option ### Parameters - **f** (F) - Required - A function that takes an item and returns an Option. ### Returns - **Option** - Returns the first non-None result, or None if all results are None. ### Notes - This method is available since Rust 1.30.0. ``` -------------------------------- ### cmp_by Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Lexicographically compares the elements of this Iterator with those of another using a specified comparison function. This is a nightly-only experimental API. ```APIDOC ## cmp_by ### Description Lexicographically compares the elements of this Iterator with those of another with respect to the specified comparison function. ### Method cmp_by ### Signature fn cmp_by(self, other: I, cmp: F) -> Ordering where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, ::Item) -> Ordering ### Parameters - **other** (I) - Required - The iterator to compare against. - **cmp** (F) - Required - The comparison function that takes two items and returns an Ordering. ### Return Value - **Ordering** - The result of the lexicographic comparison. ### Notes - This is a nightly-only experimental API (`iter_order_by`). - Available since 1.5.0 (const: unstable). ``` -------------------------------- ### fn by_ref(&mut self) -> &mut Self Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Creates a “by reference” adapter for this instance of Iterator. This method is part of the Iterator trait implementation for IceGroupIter. ```APIDOC ## fn by_ref(&mut self) -> &mut Self ### Description Creates a “by reference” adapter for this instance of `Iterator`. ### Method `by_ref` ### Signature ```rust fn by_ref(&mut self) -> &mut Self where Self: Sized, ``` ### Parameters - `self` - A mutable reference to the iterator. ### Returns - `&mut Self` - A mutable reference to the iterator, allowing chaining of iterator methods. ### Notes - Available since Rust 1.0.0. - Const evaluation is currently unstable. ``` -------------------------------- ### fn try_find(&mut self, f: F) -> Result, R::Error> Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Applies a function to the elements of the iterator and returns the first true result or the first error. This method consumes the iterator and returns the first element for which the function returns Ok(true), or the first error encountered. ```APIDOC ## fn try_find(&mut self, f: F) -> Result, R::Error> ### Description Applies function to the elements of iterator and returns the first true result or the first error. ### Method try_find ### Signature fn try_find(&mut self, f: F) -> Result, R::Error> where Self: Sized, F: FnMut(&Self::Item) -> R, R: Try + Residual ### Parameters - **f** (F) - Required - A function that takes a reference to an item and returns a Try type (e.g., Result). ### Returns - **Result, R::Error>** - Returns Ok(Some(item)) if the function returns Ok(true) for an item, Ok(None) if no item satisfies, or Err(error) if the function returns an error. ### Notes - This method is available since Rust 1.27.0. ``` -------------------------------- ### fn zip(self, other: U) -> Zip Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Zips up two iterators into a single iterator of pairs. This method is part of the Iterator trait implementation for IceGroupIter. ```APIDOC ## fn zip(self, other: U) -> Zip ### Description 'Zips up' two iterators into a single iterator of pairs. ### Method zip ### Signature fn zip(self, other: U) -> Zip where Self: Sized, U: IntoIterator ### Parameters - **other** (U) - Required - The iterator to zip with self. ### Return Value - **Zip** - An iterator of pairs (self item, other item). ### Notes - This method is part of the Iterator trait and is available on IceGroupIter. ``` -------------------------------- ### ToString::to_string Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/enum.Group.html Converts the given value to a String. This is the standard ToString trait implementation. ```APIDOC ## ToString::to_string ### Description Converts the given value to a String. This is the standard ToString trait implementation. ### Method `fn to_string(&self) -> String` ### Parameters - `&self` (Group) - The value to convert. ### Returns - `String` - The string representation of the value. ``` -------------------------------- ### take_while Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Creates an iterator that yields elements while a predicate is true. ```APIDOC ## fn take_while

(self, predicate: P) -> TakeWhile ### Description Creates an iterator that yields elements while a predicate is true. ### Method fn ### Signature fn take_while

(self, predicate: P) -> TakeWhile ### Parameters - **self** - The iterator to take elements from. - **predicate** (P) - A closure that takes a reference to an item and returns a bool. If true, the element is yielded. ### Returns - **TakeWhile** - An iterator that yields elements while the predicate returns true. ### Constraints - Self: Sized - P: FnMut(&Self::Item) -> bool ### Notes - Available since Rust 1.0.0. - Const version is unstable. ``` -------------------------------- ### IteratorRandom::choose_multiple_fill Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Collects values at random from the iterator into a supplied buffer until that buffer is filled. ```APIDOC ## choose_multiple_fill(self, rng: &mut R, buf: &mut [Self::Item]) -> usize ### Description Collects values at random from the iterator into a supplied buffer until that buffer is filled. ### Method choose_multiple_fill ### Parameters - **rng** (&mut R) - Required - A mutable reference to a random number generator. - **buf** (&mut [Self::Item]) - Required - The buffer to fill with randomly chosen items. ### Returns - **usize** - The number of items placed into the buffer. ### Constraints - R: Rng + ?Sized ``` -------------------------------- ### write_u48 Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Writes an unsigned 48-bit integer to the underlying writer. ```APIDOC ## write_u48 ### Description Writes an unsigned 48-bit integer to the underlying writer. ### Method write_u48 ### Signature fn write_u48(&mut self, n: u64) -> Result<(), Error> where T: ByteOrder ### Parameters - **n** (u64) - Required - The unsigned 48-bit integer to write. ### Return Value Result<(), Error> - Ok(()) on success, or an I/O error. ``` -------------------------------- ### fn any(&mut self, f: F) -> bool Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Tests if any element of the iterator matches a predicate. This method consumes the iterator and returns true if the predicate returns true for at least one element, otherwise false. ```APIDOC ## fn any(&mut self, f: F) -> bool ### Description Tests if any element of the iterator matches a predicate. ### Method any ### Signature fn any(&mut self, f: F) -> bool where Self: Sized, F: FnMut(Self::Item) -> bool ### Parameters - **f** (F) - Required - A predicate function that takes an item and returns a boolean. ### Returns - **bool** - Returns true if the predicate returns true for any element, otherwise false. ### Notes - This method is available since Rust 1.0.0. - Const evaluation is unstable (tracking issue #92476). ``` -------------------------------- ### fn all(&mut self, f: F) -> bool Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Tests if every element of the iterator matches a predicate. This method consumes the iterator and returns true if the predicate returns true for all elements, otherwise false. ```APIDOC ## fn all(&mut self, f: F) -> bool ### Description Tests if every element of the iterator matches a predicate. ### Method all ### Signature fn all(&mut self, f: F) -> bool where Self: Sized, F: FnMut(Self::Item) -> bool ### Parameters - **f** (F) - Required - A predicate function that takes an item and returns a boolean. ### Returns - **bool** - Returns true if the predicate returns true for all elements, otherwise false. ### Notes - This method is available since Rust 1.0.0. - Const evaluation is unstable (tracking issue #92476). ``` -------------------------------- ### write_u16 Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Writes an unsigned 16-bit integer to the underlying writer. ```APIDOC ## write_u16 ### Description Writes an unsigned 16-bit integer to the underlying writer. ### Method write_u16 ### Signature fn write_u16(&mut self, n: u16) -> Result<(), Error> ### Parameters - **n** (u16) - Required - The unsigned 16-bit integer to write. - **T** (ByteOrder) - Required - The byte order to use. ### Return Value - **Result<(), Error>** - Ok(()) on success, or an I/O error. ``` -------------------------------- ### write_uint Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Writes an unsigned n-bytes integer to the underlying writer. ```APIDOC ## write_uint ### Description Writes an unsigned n-bytes integer to the underlying writer. ### Method write_uint ### Signature fn write_uint(&mut self, n: u64, nbytes: usize) -> Result<(), Error> where T: ByteOrder ### Parameters - **n** (u64) - Required - The unsigned integer value to write. - **nbytes** (usize) - Required - The number of bytes to write. ### Type Parameters - **T** (ByteOrder) - Required - The byte order to use for writing. ### Return Value - **Result<(), Error>** - Ok(()) on success, or an I/O error. ``` -------------------------------- ### IceFileWriter::finish Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceFileWriter.html Consumes the IceFileWriter, adding the file to the referenced IceWriter. This method should be called after writing all bytes to the file. ```APIDOC ## IceFileWriter::finish ### Description Consumes the IceFileWriter, adding the file to the referenced IceWriter. ### Method finish(self) ### Parameters - self - The IceFileWriter instance to consume. ### Returns None ``` -------------------------------- ### fn inspect(self, f: F) -> Inspect Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Does something with each element of an iterator, passing the value on. This method is part of the Iterator trait implementation for IceGroupIter. ```APIDOC ## fn inspect(self, f: F) -> Inspect ### Description Does something with each element of an iterator, passing the value on. ### Method `inspect` ### Signature ```rust fn inspect(self, f: F) -> Inspect where Self: Sized, F: FnMut(&Self::Item), ``` ### Parameters - `self` - The iterator to inspect. - `f` - A closure that takes a reference to each item and performs side effects. ### Returns - `Inspect` - An iterator adapter that calls `f` on each item before yielding it. ### Notes - Available since Rust 1.0.0. - Const evaluation is currently unstable. ``` -------------------------------- ### Iterator::collect_into Source: https://docs.rs/ages-ice-archive/latest/ages_ice_archive/struct.IceGroupIter.html Collects all items from the iterator into a collection. This is a nightly-only experimental API. ```APIDOC ## collect_into ### Description Collects all the items from an iterator into a collection. ### Method collect_into ### Signature fn collect_into(self, collection: &mut E) -> &mut E where E: Extend, Self: Sized ### Parameters - **collection** (&mut E) - Required - The collection to extend with the iterator's items. ### Returns - **&mut E** - The collection after extension. ### Notes - Nightly-only experimental API (`iter_collect_into`). ```