API documentation
Module | Description |
---|---|
std.algorithm.comparison | This is a submodule of std.algorithm. It contains generic comparison algorithms. |
std.algorithm.iteration | This is a submodule of std.algorithm. It contains generic iteration algorithms. |
std.algorithm.mutation | This is a submodule of std.algorithm. It contains generic mutation algorithms. |
std.algorithm.searching | This is a submodule of std.algorithm. It contains generic searching algorithms. |
std.algorithm.setops | This is a submodule of std.algorithm. It contains generic algorithms that implement set operations. |
std.algorithm.sorting | This is a submodule of std.algorithm. It contains generic sorting algorithms. |
std.container.array |
This module provides an type with deterministic memory usage not
reliant on the GC, as an alternative to the built-in arrays.
|
std.container.binaryheap |
This module provides a adaptor that makes a binary heap out of
any user-provided random-access range.
|
std.container.dlist | This module implements a generic doubly-linked list container. |
std.container.rbtree | This module implements a red-black tree container. |
std.container.slist | This module implements a singly-linked list container. |
std.container.util | This module contains some common utilities used by containers. |
std.digest.crc | Cyclic Redundancy Check (32-bit) implementation. |
std.digest.digest | This module describes the digest APIs used in Phobos. All digests follow these APIs. Additionally, this module contains useful helper methods which can be used with every digest type. |
std.digest.md |
Computes MD5 hashes of arbitrary data. MD5 hashes are 16 byte quantities that are like a
checksum or CRC, but are more robust.
|
std.digest.ripemd | Computes RIPEMD-160 hashes of arbitrary data. RIPEMD-160 hashes are 20 byte quantities that are like a checksum or CRC, but are more robust. |
std.digest.sha |
Computes SHA1 and SHA2 hashes of arbitrary data. SHA hashes are 20 to 64 byte
quantities (depending on the SHA algorithm) that are like a checksum or CRC,
but are more robust.
|
std.experimental.logger | Implements logging facilities. |
std.net.curl | Networking client functionality as provided by libcurl. The libcurl library must be installed on the system in order to use this module. |
std.net.isemail | Validates an email address according to RFCs 5321, 5322 and others. |
std.range.interfaces | This module is a submodule of std.range. |
std.range.primitives | This module is a submodule of std.range. |
std.algorithm | This package implements generic algorithms oriented towards the processing of sequences. Sequences processed by these functions define range-based interfaces. See also Reference on ranges and tutorial on ranges. |
std.array | Functions and types that manipulate built-in arrays and associative arrays. |
std.ascii | Functions which operate on ASCII characters. |
std.base64 |
Encoding / Decoding Base64 format.
|
std.bigint | Arbitrary-precision ('bignum') arithmetic. |
std.bitmanip | Bit-level manipulation facilities. |
std.compiler | Identify the compiler used and its various features. |
std.complex |
This module contains the Complex type, which is used to represent
complex numbers, along with related mathematical operations and functions.
|
std.concurrency |
This is a low-level messaging API upon which more structured or restrictive
APIs may be built. The general idea is that every messageable entity is
represented by a common handle type called a Tid , which allows messages to
be sent to logical threads that are executing in both the current process
and in external processes using the same interface. This is an important
aspect of scalability because it allows the components of a program to be
spread across available resources with few to no changes to the actual
implementation.
|
std.container | This module defines generic containers. |
std.conv |
A one-stop shop for converting values from one type to another.
|
std.csv |
Implements functionality to read Comma Separated Values and its variants
from a input range of dchar .
|
std.datetime |
Module containing Date /Time functionality.
|
std.demangle | Demangle D mangled names. |
std.encoding | Classes and functions for handling and transcoding between various encodings. |
std.exception | This module defines functions related to exceptions and general error handling. It also defines functions intended to aid in unit testing. |
std.file |
Utilities for manipulating files and scanning directories. Functions
in this module handle files as a unit, e.g., read or write one file
at a time. For opening files and manipulating them via handles refer
to module .
|
std.functional | Functions that manipulate other functions. |
std.getopt | Processing of command line options. |
std.json | JavaScript Object Notation |
std.math |
Contains the elementary mathematical functions (powers, roots,
and trigonometric functions), and low-level floating-point operations.
Mathematical special functions are available in .
|
std.mathspecial | Mathematical Special Functions |
std.meta | Templates to manipulate template argument lists (also known as type lists). |
std.mmfile | Read and write memory mapped files. |
std.numeric | This module is a port of a growing fragment of the numeric header in Alexander Stepanov's Standard Template Library, with a few additions. |
std.outbuffer |
Serialize data to ubyte arrays.
|
std.parallelism |
std.parallelism implements high-level primitives for SMP parallelism.
These include parallel foreach, parallel reduce, parallel eager map, pipelining
and future/promise parallelism. std.parallelism is recommended when the
same operation is to be executed in parallel on different data, or when a
function is to be executed in a background thread and its result returned to a
well-defined main thread. For communication between arbitrary threads, see
.
|
std.path | This module is used to manipulate path strings. |
std.process |
Functions for starting and interacting with other processes, and for
working with the current process' execution environment .
|
std.random | Facilities for random number generation. |
std.range | This module defines the notion of a range. Ranges generalize the concept of arrays, lists, or anything that involves sequential access. This abstraction enables the same set of algorithms (see std.algorithm) to be used with a vast variety of different concrete types. For example, a linear search algorithm such as std.algorithm.find works not just for arrays, but for linked-lists, input files, incoming network data, etc. |
std.regex |
Regular expressions are a commonly used method of pattern matching
on strings, with regex being a catchy word for a pattern in this domain
specific language. Typical problems usually solved by regular expressions
include validation of user input and the ubiquitous find & replace
in text processing utilities.
|
std.signals |
Signals and Slots are an implementation of the Observer Pattern.
Essentially, when a Signal is emitted, a list of connected Observers
(called slots) are called.
|
std.socket |
Socket primitives.
|
std.stdint | D constrains integral types to specific sizes. But efficiency of different sizes varies from machine to machine, pointer sizes vary, and the maximum integer size varies. stdint offers a portable way of trading off size vs efficiency, in a manner compatible with the stdint.h definitions in C. |
std.stdio |
Standard I/O functions that extend core.stdc.stdio . core.stdc.stdio
is publically imported when importing std.stdio .
|
std.stdiobase |
The only purpose of this module is to do the static construction for
std.stdio , to eliminate cyclic construction errors.
|
std.string | String handling functions. |
std.syserror | Convert Win32 error code to string |
std.system | Information about the target operating system, environment, and CPU. |
std.traits | Templates which extract information about types and symbols at compile time. |
std.typecons | This module implements a variety of type constructors, i.e., templates that allow construction of new, useful general-purpose types. |
std.typetuple |
This module was renamed to disambiguate the term tuple, use std.meta instead.
|
std.uni |
The |
std.uri |
Encode and decode Uniform Resource Identifiers (URIs).
URIs are used in internet transfer protocols.
Valid URI characters consist of letters, digits,
and the characters ;/?:@&=+$,-_.!~*'()
Reserved URI characters are ;/?:@&=+$
Escape sequences consist of % followed by two hex digits.
|
std.utf |
Encode and decode UTF-8, UTF-16 and UTF-32 strings.
|
std.uuid |
A UUID , or
Universally unique identifier,
is intended to uniquely identify information in a distributed environment
without significant central coordination. It can be
used to tag objects with very short lifetimes, or to reliably identify very
persistent objects across a network.
|
std.variant | This module implements a discriminated union type (a.k.a. tagged union, algebraic type). Such types are useful for type-uniform binary interfaces, interfacing with scripting languages, and comfortable exploratory programming. |
std.xml | Warning: This module is considered out-dated and not up to Phobos' current standards. It will remain until we have a suitable replacement, but be aware that it will not remain long term. |
std.zip | Read/write data in the zip archive format. Makes use of the etc.c.zlib compression library. |
std.zlib |
Compress /decompress data using the zlib library.
|
core.sync.barrier | The barrier module provides a primitive for synchronizing the progress of a group of threads. |
core.sync.condition | The condition module provides a primitive for synchronized condition checking. |
core.sync.config | The config module contains utility routines and configuration information specific to this package. |
core.sync.exception | Define base class for synchronization exceptions. |
core.sync.mutex | The mutex module provides a primitive for maintaining mutually exclusive access. |
core.sync.rwmutex | The read/write mutex module provides a primitive for maintaining shared read access and mutually exclusive write access. |
core.sync.semaphore | The semaphore module provides a general use semaphore for synchronization. |
core.atomic | The atomic module provides basic support for lock-free concurrent programming. |
core.bitop | This module contains a collection of bit-level operations. |
core.checkedint | This module implements integral arithmetic primitives that check for out-of-range results. |
core.cpuid | Identify the characteristics of the host CPU, providing information about cache sizes and assembly optimisation hints. This module is provided primarily for assembly language programmers. |
core.demangle |
The demangle module converts mangled D symbols to a representation similar
to what would have existed in code.
|
core.exception | The exception module defines all system-level exceptions and provides a mechanism to alter system-level error handling. |
core.math | Builtin mathematical intrinsics |
core.memory | This module provides an interface to the garbage collector used by applications written in the D programming language. It allows the garbage collector in the runtime to be swapped without affecting binary compatibility of applications. |
core.runtime | The runtime module exposes information specific to the D runtime code. |
core.simd | Builtin SIMD intrinsics |
core.thread | The thread module provides support for thread creation and management. |
core.time |
Module containing core time functionality, such as Duration (which
represents a duration of time) or MonoTime (which represents a
timestamp of the system's monotonic clock).
|
core.vararg | The vararg module is intended to facilitate vararg manipulation in D. It should be interface compatible with the C module "stdarg," and the two modules may share a common implementation if possible (as is done here). |
etc.c.odbc.sql | Declarations for interfacing with the ODBC library. |
etc.c.odbc.sqlext | Declarations for interfacing with the ODBC library. |
etc.c.odbc.sqltypes | Declarations for interfacing with the ODBC library. |
etc.c.odbc.sqlucode | Declarations for interfacing with the ODBC library. |
etc.c.curl | This is an interface to the libcurl library. |
object |
Forms the symbols available to all D programs. Includes Object , which is
the root of the class object hierarchy. This module is implicitly
imported.
|
Access to plattform libraries is supported by specific D header files.
D header files | |
---|---|
C99 | core.stdc.complex core.stdc.ctype core.stdc.errno core.stdc.fenv core.stdc.float_ core.stdc.inttypes core.stdc.limits core.stdc.locale core.stdc.math core.stdc.signal core.stdc.stdarg core.stdc.stddef core.stdc.stdint core.stdc.stdio core.stdc.stdlib core.stdc.string core.stdc.tgmath core.stdc.time core.stdc.wchar_ core.stdc.wctype |
Posix | |
Windows | |
GNU/Linux | |
FreeBSD | |
OSX | |
Solaris |
Deprecated D header files.
D header files | |
---|---|
C |