I/O, Compression and Storage Components

Streams, files, directories, compression, ZIP, hashing, storage and isolated storage.

6 physical componentsSource 6d429559

Targets in this family

ComponentKindProduction dependenciesRepresentative header
IOstaticCore.Base, Uri, TimeZone (private)System/BinaryData.hpp
IO.CompressionstaticBuffers, Core.Base, IOSystem/IO/Compression/CompressionArgumentValidation.hpp
IO.Compression.ZipstaticIO, Core.Base (private)System/IO/Compression/CompressionLevel.hpp
IO.HashingstaticCore.Base, IOSystem/IO/Hashing/Adler32.hpp
StoragestaticSharpRuntime/Storage/StoragePaths.hpp
IO.IsolatedStoragestaticCore.Base, IO, Storage (private)System/IO/IsolatedStorage/IsolatedStorage.hpp

Streams and files

IO owns Stream, MemoryStream and file/directory/path surfaces plus readers, writers and filesystem-related helpers. Capability queries, disposal and argument validation have been heavily audited; use virtual capability members instead of assuming every stream supports read/write/seek.

Compression and ZIP

IO.Compression privately finds ZLIB and owns streaming compression behavior. IO.Compression.Zip privately embeds miniz for archive operations. These are separate physical components so selecting ZIP or compression is explicit.

Hashing

IO.Hashing provides non-cryptographic hashing/checksum types including Adler32 and related algorithms. Do not treat this namespace as a replacement for cryptographic hashing or authentication.

Storage

Storage resolves platform storage paths and can consume a parent-provided SDL3 target on Android. IO.IsolatedStorage builds confinement semantics over I/O and storage paths; it is not a security sandbox against an adversarial process.

Lifecycle first

Use RAII and keep streams/resources scoped. Compatibility-shaped Dispose calls do not remove normal C++ ownership responsibilities.

Complete catalogue

See all 41 physical components for external dependencies, ownership and direct graph details.