API documentation

Module Description
std.net.isemail Validates an email address according to RFCs 5321, 5322 and others.
std.array Functions and types that manipulate built-in 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 Cid in this implementation), which allows messages to be sent to in-process threads, on-host processes, and foreign-host 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 Defines generic containers.
std.conv A one-stop shop for converting values from one type to another.
std.cstream 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.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.stdio.
std.functional Functions that manipulate other functions.
std.getopt Processing of command line options.
std.json JavaScript Object Notation
std.math Elementary mathematical functions
std.mathspecial Mathematical Special Functions
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.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.concurrency.
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.


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.socketstream 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.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 std.c.stdio. std.c.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.stream 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.string String handling functions. Objects of types string, wstring, and dstring are value types and cannot be mutated element-by-element. For using mutation during building strings, use char[], wchar[], or dchar[]. The *string types are preferable because they don't exhibit undesired aliasing, thus making code more robust.
std.syserror Convert Win32 error code to string
std.system Information about the target operating system, environment, and CPU.
std.traits Templates with which to 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.typelist This module defines a list of types TypeList and operations on TypeLists. Together they define a compile-time functional programming framework, complete with lambdas, higher-order functions, and arbitrary data structures
std.typetuple Templates with which to manipulate type tuples (also known as type lists).


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.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).
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.curl This is an interface to the libcurl library.
etc.linux.memoryerror Handle page protection errors using D errors (exceptions). NullPointerError is thrown when dereferencing null pointers. A system-dependent error is thrown in other cases.
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.config 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 core.sys.posix.arpa.inet core.sys.posix.net.if_ core.sys.posix.netinet.in_ core.sys.posix.netinet.tcp core.sys.posix.sys.ioctl core.sys.posix.sys.ipc core.sys.posix.sys.mman core.sys.posix.sys.resource core.sys.posix.sys.select core.sys.posix.sys.shm core.sys.posix.sys.socket core.sys.posix.sys.stat core.sys.posix.sys.statvfs core.sys.posix.sys.time core.sys.posix.sys.types core.sys.posix.sys.uio core.sys.posix.sys.un core.sys.posix.sys.wait core.sys.posix.config core.sys.posix.dirent core.sys.posix.dlfcn core.sys.posix.fcntl core.sys.posix.grp core.sys.posix.inttypes core.sys.posix.netdb core.sys.posix.poll core.sys.posix.pthread core.sys.posix.pwd core.sys.posix.sched core.sys.posix.semaphore core.sys.posix.setjmp core.sys.posix.signal core.sys.posix.stdio core.sys.posix.stdlib core.sys.posix.syslog core.sys.posix.termios core.sys.posix.time core.sys.posix.ucontext core.sys.posix.unistd core.sys.posix.utime
Windows core.sys.windows.dbghelp core.sys.windows.dll core.sys.windows.stacktrace core.sys.windows.threadaux core.sys.windows.windows
GNU/Linux core.sys.linux.sys.inotify core.sys.linux.sys.mman core.sys.linux.sys.signalfd core.sys.linux.sys.xattr core.sys.linux.config core.sys.linux.dlfcn core.sys.linux.elf core.sys.linux.epoll core.sys.linux.errno core.sys.linux.execinfo core.sys.linux.link core.sys.linux.termios
FreeBSD core.sys.freebsd.sys.elf core.sys.freebsd.sys.elf32 core.sys.freebsd.sys.elf64 core.sys.freebsd.sys.elf_common core.sys.freebsd.sys.event core.sys.freebsd.sys.link_elf core.sys.freebsd.dlfcn core.sys.freebsd.execinfo
OSX core.sys.osx.mach.dyld core.sys.osx.mach.getsect core.sys.osx.mach.kern_return core.sys.osx.mach.loader core.sys.osx.mach.port core.sys.osx.mach.semaphore core.sys.osx.mach.thread_act core.sys.osx.execinfo core.sys.osx.pthread

Deprecated D header files.

D header files
C std.c.linux.tipc std.c.fenv std.c.locale std.c.math std.c.process std.c.stdarg std.c.stddef std.c.stdio std.c.stdlib std.c.string std.c.time std.c.wcharh