core Library Collection
- License: BSD-3-Clause
- Repository: https://github.com/odin-lang/Odin/tree/master/core
⌘K
Ctrl+K
or
/
Directories
| bufio | Wraps an io.Stream interface to provide buffered I/O. |
| bytes | Procedures for manipulation of []byte slices. |
| c | Defines the basic types used by C programs for foreign function and data structure interop. |
| libc | Declares the commonly used things in libc (C standard library). |
| compress | A collection of utilities to aid with other compression packages. |
| gzip | A small GZIP unpacker. |
| shoco | Shoco short string compression and decompression. |
| zlib | Deflate decompression of raw and ZLIB-type streams. |
| container | |
| avl | A non-intrusive and non-recursive implementation of AVL trees. |
| bit_array | A dynamically-sized array of bits. |
| intrusive/list | An intrusive doubly-linked list. |
| lru | A least-recently-used (LRU) cache. It automatically removes older entries if its capacity is reached. |
| priority_queue | A priority queue data structure. |
| queue | A dynamically resizable double-ended queue/ring-buffer. |
| rbtree | A red-black tree with the same API as our AVL tree. |
| small_array | A dynamic array-like interface on a stack-allocated, fixed-size array. |
| topological_sort | A generic O(V+E) topological sorter implementation. This is the fastest known method for topological sorting. |
| crypto | A selection of cryptography algorithms and useful helper routines. |
| aead | A generic interface to Authenticated Encryption with Associated Data (AEAD) algorithms. |
| aegis | AEGIS-128L and AEGIS-256 AEAD algorithms. |
| aes | The AES block cipher and some common modes. |
| blake2b | BLAKE2b hash algorithm. |
| blake2s | BLAKE2s hash algorithm. |
| chacha20 | ChaCha20 and XChaCha20 stream ciphers. |
| chacha20poly1305 | AEAD_CHACHA20_POLY1305 and AEAD_XChaCha20_Poly1305 algorithms. |
| deoxysii | Deoxys-II-256 Authenticated Encryption with Additional Data (AEAD) algorithm. |
| ed25519 | Ed25519 EdDSA signature algorithm. |
| hash | A generic interface to the supported hash algorithms. |
| hkdf | HKDF HMAC-based Extract-and-Expand Key Derivation Function. |
| hmac | HMAC message authentication code (MAC) algorithm. |
| kmac | KMAC message authentication code (MAC) algorithm. |
| legacy/keccak | Keccak hash algorithm family. |
| legacy/md5 | MD5 hash algorithm. |
| legacy/sha1 | SHA1 hash algorithm. |
| pbkdf2 | PBKDF2 password-based key derivation function. |
| poly1305 | Poly1305 one-time MAC algorithm. |
| ristretto255 | Ristretto255 prime-order group. |
| sha2 | SHA2 hash algorithm family. |
| sha3 | SHA3 hash algorithm family. |
| shake | SHAKE and cSHAKE XOF algorithm families. |
| sm3 | SM3 hash algorithm. |
| tuplehash | TupleHash and TupleHashXOF algorithms. |
| x25519 | X25519 (aka curve25519) Elliptic-Curve Diffie-Hellman key exchange protocol. |
| x448 | X448 (aka curve448) Elliptic-Curve Diffie-Hellman key exchange protocol. |
| debug | |
| pe | A reader for the Windows PE executable format for debug purposes. |
| trace | Stack trace library. Only works when debug symbols are enabled using -debug. |
| dynlib | Cross-platform loading of shared libraries/DLLs and their symbols. |
| encoding | |
| base32 | Base32 encoding and decoding, as specified in RFC 4648. |
| base64 | Base64 encoding and decoding. |
| cbor | Encodes and decodes types from/into RCF 8949 compatible CBOR binary. |
| csv | Reader and writer for comma-separated values (CSV) files, per RFC 4180. |
| endian | A simple translation between bytes and numbers with specific endian encodings. |
| entity | Encode and decode runes to/from a Unicode &entity;. |
| hex | Encoding and decoding of hex-encoded binary, e.g. 0x23 -> #. |
| hxa | Eskil Steenberg's HxA 3D asset interchange format. |
| ini | Reader and writer for a variant of the .ini file format with key = value entries in [sections]. |
| json | Encoding and decoding JSON in strict JSON, JSON5 and BitSquid variants. |
| uuid | Universally Unique Identifiers (UUID) according to RFC 4122, with additions from RFC 9562. |
| uuid/legacy | Versions 3 and 5 of UUID generation, both of which use legacy (MD5 + SHA1) hashes. |
| varint | LEB128 variable integer encoding and decoding, as used by DWARF & DEX files. |
| xml | A parser for a useful subset of the XML specification. |
| flags | Command-line argument parser. |
| fmt | Formatted I/O with procedures similar to C's printf and Python's format. |
| hash | crc32, crc64, adler32, djb, fnv, jenkins, murmur and other hashes. |
| xxhash | Yann Collet's xxhash. |
| image | General 2D image types and procedures to be used with other image related packages. |
| bmp | Reader and writer for Microsoft BMP images. |
| jpeg | Reader for baseline JPEG images. |
| netpbm | Readers and writers for PBM, PGM, PPM, PAM and PFM images. |
| png | Reader for PNG images. |
| qoi | Reader and writer for QOI images. |
| tga | Reader and writer for 8-bit RGB and RGBA TGA images. |
| io | Basic interfaces for generic data stream primitives. |
| log | Implementations of the context.Logger interface. |
| math | Typical trignometric and other basic math routines. |
| big | Arbitrary precision integers and rationals. |
| bits | Bit-level operations, including the ability to set or toggle individual bits in an integer. |
| cmplx | Trigonometric and other mathematic operations on complex numbers. |
| ease | Easing procedures and flux easing used for animations. |
| fixed | Fixed-point rational numbers and conversion to/from f64. |
| linalg | Linear algebra procedures useful for 3D spatial transformations. |
| linalg/glsl | GLSL-like mathematics library plus numerous other utility procedures. |
| linalg/hlsl | HLSL-like mathematics library plus numerous other utility procedures. |
| noise | OpenSimplex2 noise algorithm. |
| rand | Random number generators. |
| mem | Various allocators and provides helpers for dealing with memory, pointers and slices. |
| tlsf | Two Level Segregated Fit memory allocator. |
| virtual | A platform agnostic way to reserve/commit/decommit virtual memory. |
| net | Cross-platform Berkeley Sockets, DNS resolution and associated procedures. |
| odin | |
| ast | Abstract Syntax Tree for the Odin parser packages. |
| doc-format | The .odin-doc file format, as used by these package docs at pkg.odin-lang.org. |
| parser | The Odin file parser to be used in tooling. |
| tokenizer | The tokenizer (lexer) for Odin files, used to create tooling. |
| os | Cross-platform OS interactions like file I/O. |
| path | |
| filepath | Process paths using either forward slashes or backslashes depending on the operating system. |
| slashpath | Process paths separated by forward slashes only, e.g. paths in URLs. |
| prof | |
| spall | Profiling using the "spall" format. |
| reflect | Utility procedures and types to perform runtime type introspection/reflection (RTTI). |
| relative | Relative pointers and slices. |
| simd | Cross-platform SIMD support types and procedures. |
| x86 | SIMD intrinsics specific to the Intel x86 and AMD64 architectures. |
| slice | Utility procedures for working with slices, including sorting and searching them. |
| heap | A generic in-place max heap on a slice for any type. |
| sort | A sorting interface and algorithms. |
| strconv | Conversions to and from string representations of other data types like integers and booleans. |
| decimal | Multiple precision decimal numbers for use by the strconv package. |
| strings | A string builder, as well as procedures to manipulate UTF-8 encoded strings. |
| sync | Various synchronization primitives useful to mediate threads' access to shared memory. |
| chan | High-level and low-level channel types for thread-safe communication. |
| sys | Platform specific packages - documentation may be for a specific platform only |
| darwin | (Generated with -target:darwin_arm64, please read the source code directly) |
| darwin/CoreFoundation | (Generated with -target:darwin_arm64, please read the source code directly) |
| darwin/Foundation | (Generated with -target:darwin_arm64, please read the source code directly) |
| darwin/Security | (Generated with -target:darwin_arm64, please read the source code directly) |
| freebsd | (Generated with -target:freebsd_amd64, please read the source code directly) |
| haiku | (Generated with -target:haiku_arm64, please read the source code directly) |
| info | Gathers system information on Windows, Linux, macOS, FreeBSD & OpenBSD. |
| kqueue | (Generated with -target:darwin_arm64, please read the source code directly) |
| linux | (Generated with -target:linux_arm64, please read the source code directly) |
| orca | Bindings for the Orca platform |
| posix | Raw bindings for most POSIX APIs. |
| unix | (Generated with -target:linux_arm64, please read the source code directly) |
| valgrind | (Generated with -target:windows_amd64, please read the source code directly) |
| windows | (Generated with -target:windows_amd64, please read the source code directly) |
| terminal | Interaction with the command line interface (CLI) of the system. |
| ansi | Constant references to many widely-supported ANSI escape codes. |
| testing | The implementation of the odin test runner and procedures user tests can use for this purpose. |
| text | |
| edit | Text edit primitives to use in a text box. |
| i18n | A flexible and easy way to add translations/internationalization (i18n) to applications. |
| match | A Lua-like string match algorithm. |
| regex | A complete suite for using Regular Expressions to match and capture text. |
| regex/common | This package helps break dependency cycles for the regular expression engine. |
| regex/compiler | A bytecode compiler for the virtual machine included alongside it. |
| regex/optimizer | An optimizer for the regular expression AST. |
| regex/parser | A Pratt parser (a.k.a. Top-Down Operator Precedence parser) for parsing tokenized regular expression patterns. |
| regex/tokenizer | Tokenizes regular expressions. |
| regex/virtual_machine | A threaded virtual machine for interpreting regular expressions. |
| scanner | A scanner and tokenizer for UTF-8-encoded text. |
| table | Plain-text/markdown/HTML/custom rendering of tables. |
| thread | Multi-threading operations to spawn threads and thread pools. |
| time | Time-related procedures and types, including sleep, now, and string formatting of moments. |
| datetime | Calendrical conversions using a proleptic Gregorian calendar. |
| timezone | Timezone lookup. |
| unicode | Data and procedures to test properties of Unicode code points. |
| utf16 | Procedures and constants to support text-encoding in the UTF-16 character encoding. |
| utf8 | Procedures and constants to support text-encoding in the UTF-8 character encoding. |
| utf8/utf8string | A convenient and efficient way to index strings by Unicode code point (rune) rather than byte. |