Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.

API documentation

ModuleDescription
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 Array 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 BinaryHeap (aka priority queue) 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. It can be used as a queue, dequeue or stack.
std.container.rbtree This module implements a red-black tree container.
std.container.slist This module implements a singly-linked list container. It can be used as a stack.
std.container.util This module contains some common utilities used by containers.
std.datetime.date
Category Functions
Main date types Date DateTime
Other date types Month DayOfWeek TimeOfDay
Date checking valid validTimeUnits yearIsLeapYear isTimePoint enforceValid
Date conversion daysToDayOfWeek monthsToMonth
Time units cmpTimeUnits timeStrings
Other AllowDayOverflow DateTimeException
std.datetime.interval
Category Functions
Main types Interval Direction
Special intervals everyDayOfWeek everyMonth everyDuration
Special intervals NegInfInterval PosInfInterval
Underlying ranges IntervalRange NegInfIntervalRange PosInfIntervalRange
Flags PopFirst
std.datetime.stopwatch Module containing some basic benchmarking and timing functionality.
std.datetime.systime
Category Functions
Types Clock SysTime DosFileTime
Conversion parseRFC822DateTime DosFileTimeToSysTime FILETIMEToStdTime FILETIMEToSysTime stdTimeToFILETIME stdTimeToUnixTime SYSTEMTIMEToSysTime SysTimeToDosFileTime SysTimeToFILETIME SysTimeToSYSTEMTIME unixTimeToStdTime
std.datetime.timezone
Category Functions
Time zones TimeZone UTC LocalTime PosixTimeZone WindowsTimeZone SimpleTimeZone
Utilities clearTZEnvVar parseTZConversions setTZEnvVar TZConversions
std.digest.crc Cyclic Redundancy Check (32-bit) implementation.
std.digest.hmac This package implements the hash-based message authentication code (HMAC) algorithm as defined in RFC2104. See also the corresponding Wikipedia article.
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.murmurhash Computes MurmurHash hashes of arbitrary data. MurmurHash is a non-cryptographic hash function suitable for general hash-based lookup. It is optimized for x86 but can be used on all architectures.
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.allocator.building_blocks.affix_allocator
std.experimental.allocator.building_blocks.aligned_block_list AlignedBlockList represents a wrapper around a chain of allocators, allowing for fast deallocations and preserving a low degree of fragmentation by means of aligned allocations.
std.experimental.allocator.building_blocks.allocator_list
std.experimental.allocator.building_blocks.ascending_page_allocator
std.experimental.allocator.building_blocks.bitmapped_block
std.experimental.allocator.building_blocks.bucketizer
std.experimental.allocator.building_blocks.fallback_allocator
std.experimental.allocator.building_blocks.free_list
std.experimental.allocator.building_blocks.free_tree
std.experimental.allocator.building_blocks.kernighan_ritchie
std.experimental.allocator.building_blocks.null_allocator
std.experimental.allocator.building_blocks.quantizer
std.experimental.allocator.building_blocks.region
std.experimental.allocator.building_blocks.scoped_allocator
std.experimental.allocator.building_blocks.segregator
std.experimental.allocator.building_blocks.stats_collector Allocator that collects useful statistics about allocations, both global and per calling point. The statistics collected can be configured statically by choosing combinations of Options appropriately.
std.experimental.allocator.building_blocks

Assembling Your Own Allocator

std.experimental.allocator.common Utility and ancillary artifacts of std.experimental.allocator. This module shouldn't be used directly; its functionality will be migrated into more appropriate parts of std.
std.experimental.allocator.gc_allocator D's built-in garbage-collected allocator.
std.experimental.allocator.mallocator The C heap allocator.
std.experimental.allocator.mmap_allocator
std.experimental.allocator.showcase Collection of typical and useful prebuilt allocators using the given components. User code would typically import this module and use its facilities, or import individual heap building blocks and assemble them.
std.experimental.allocator.typed This module defines TypedAllocator, a statically-typed allocator that aggregates multiple untyped allocators and uses them depending on the static properties of the types allocated. For example, distinct allocators may be used for thread-local vs. thread-shared data, or for fixed-size data (struct, class objects) vs. resizable data (arrays).
std.experimental.logger.core
std.experimental.logger.filelogger
std.experimental.logger.multilogger
std.experimental.logger.nulllogger
std.experimental.allocator High-level interface for allocators. Implements bundled allocation/creation and destruction/deallocation of data including structs and classes, and also array primitives related to allocation. This module is the entry point for both making use of allocators and for their documentation.
std.experimental.checkedint
std.experimental.logger Implements logging facilities.
std.experimental.typecons This module implements experimental additions/modifications to std.typecons.
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.windows.charset Support UTF-8 on Windows 95, 98 and ME systems.
std.windows.syserror Convert Win32 error code to string.
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 Support for Base64 encoding and decoding.
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 an input range of dchar.
std.datetime
std.demangle Demangle D mangled names.
std.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.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.format This module implements the formatting functionality for strings and I/O. It's comparable to C99's vsprintf() and uses a similar format encoding scheme.
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.
std.mathspecial Mathematical Special Functions
std.meta Templates to manipulate template parameter sequences (also known as alias sequences).
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.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 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.string String handling functions.
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.uni

The std.uni module provides an implementation of fundamental Unicode algorithms and data structures. This doesn't include UTF encoding and decoding primitives, see decode and encode in std.utf for this functionality.

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.gc.config Contains the garbage collector configuration.
core.gc.gcinterface Contains the internal GC interface.
core.gc.registry Contains a registry for GC factories.
core.stdcpp.allocator D binding to C++ std::allocator.
core.stdcpp.array D header file for interaction with C++ std::array.
core.stdcpp.exception Interface to C++
core.stdcpp.new_ D binding to C++
core.stdcpp.string D header file for interaction with C++ std::string.
core.stdcpp.string_view D header file for interaction with C++ std::string_view.
core.stdcpp.type_traits D header file for interaction with C++ std::type_traits.
core.stdcpp.typeinfo Interface to C++
core.stdcpp.vector D header file for interaction with C++ std::vector.
core.stdcpp.xutility D header file for interaction with Microsoft C++
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.event The event module provides a primitive for lightweight signaling of other threads (emulating Windows events on Posix)
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.attribute This module contains UDA's (User Defined Attributes) either used in the runtime or special UDA's recognized by compiler.
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).
dmd.backend.aarray Compiler implementation of the D programming language.
dmd.backend.backconfig Compiler implementation of the D programming language.
dmd.backend.barray Compiler implementation of the D programming language.
dmd.backend.bcomplex Compiler implementation of the D programming language.
dmd.backend.cc Compiler implementation of the D programming language.
dmd.backend.cdef Compiler implementation of the D programming language.
dmd.backend.cg Various global symbols.
dmd.backend.cg87 Compiler implementation of the D programming language.
dmd.backend.cgcod Compiler implementation of the D programming language.
dmd.backend.cgcs Compiler implementation of the D programming language.
dmd.backend.cgcse Compiler implementation of the D programming language.
dmd.backend.cgcv Compiler implementation of the D programming language.
dmd.backend.cgelem Compiler implementation of the D programming language.
dmd.backend.cgen Compiler implementation of the D programming language.
dmd.backend.cgobj Compiler implementation of the D programming language.
dmd.backend.cgreg Compiler implementation of the D programming language.
dmd.backend.cgsched Compiler implementation of the D programming language.
dmd.backend.cgxmm Compiler implementation of the D programming language.
dmd.backend.cod1 Compiler implementation of the D programming language.
dmd.backend.cod2 Compiler implementation of the D programming language.
dmd.backend.cod3 Compiler implementation of the D programming language.
dmd.backend.cod4 Compiler implementation of the D programming language.
dmd.backend.cod5 Compiler implementation of the D programming language.
dmd.backend.code Compiler implementation of the D programming language.
dmd.backend.code_x86 Compiler implementation of the D programming language.
dmd.backend.codebuilder Compiler implementation of the D programming language.
dmd.backend.cv4 Codeview 4 stuff See "Microsoft Symbol and Type OMF" document
dmd.backend.cv8 Compiler implementation of the D programming language.
dmd.backend.dcgcv Compiler implementation of the D programming language.
dmd.backend.dcode Compiler implementation of the D programming language.
dmd.backend.debugprint Compiler implementation of the D programming language.
dmd.backend.dlist Interface to the C linked list type.
dmd.backend.dout Compiler implementation of the D programming language.
dmd.backend.drtlsym Compiler implementation of the D programming language.
dmd.backend.dt Compiler implementation of the D programming language.
dmd.backend.dtype Compiler implementation of the D programming language.
dmd.backend.dvarstats Compiler implementation of the D programming language.
dmd.backend.dvec Compiler implementation of the D programming language.
dmd.backend.dwarfdbginf Compiler implementation of the D programming language.
dmd.backend.dwarfeh Compiler implementation of the D programming language. Implements LSDA (Language Specific Data Area) table generation for Dwarf Exception Handling.
dmd.backend.ee Compiler implementation of the D programming language.
dmd.backend.el Compiler implementation of the D programming language.
dmd.backend.elem Compiler implementation of the D programming language.
dmd.backend.elfobj Compiler implementation of the D programming language.
dmd.backend.elpicpie Generate elems for fixed, PIC, and PIE code generation.
dmd.backend.errors Compiler implementation of the D programming language.
dmd.backend.evalu8 Compiler implementation of the D programming language.
dmd.backend.exh Compiler implementation of the D programming language.
dmd.backend.fp Compiler implementation of the D programming language.
dmd.backend.gdag Compiler implementation of the D programming language.
dmd.backend.gflow Compiler implementation of the D programming language.
dmd.backend.global Compiler implementation of the D programming language.
dmd.backend.glocal Compiler implementation of the D programming language.
dmd.backend.gloop Compiler implementation of the D programming language.
dmd.backend.go Compiler implementation of the D programming language.
dmd.backend.goh Compiler implementation of the D programming language.
dmd.backend.gother Compiler implementation of the D programming language.
dmd.backend.gsroa Compiler implementation of the D programming language.
dmd.backend.iasm Compiler implementation of the D programming language.
dmd.backend.machobj Compiler implementation of the D programming language.
dmd.backend.md5
dmd.backend.melf Compiler implementation of the D programming language.
dmd.backend.mem Compiler implementation of the D programming language.
dmd.backend.mscoff Microsoft COFF object file format
dmd.backend.mscoffobj Compiler implementation of the D programming language.
dmd.backend.newman Compiler implementation of the D programming language.
dmd.backend.nteh Compiler implementation of the D programming language.
dmd.backend.obj Compiler implementation of the D programming language.
dmd.backend.oper Compiler implementation of the D programming language.
dmd.backend.outbuf Compiler implementation of the D programming language.
dmd.backend.pdata Compiler implementation of the D programming language.
dmd.backend.ph2 Compiler implementation of the D programming language.
dmd.backend.ptrntab Compiler implementation of the D programming language.
dmd.backend.rtlsym Compiler implementation of the D programming language.
dmd.backend.symbol Compiler implementation of the D programming language.
dmd.backend.ty Compiler implementation of the D programming language.
dmd.backend.type Compiler implementation of the D programming language.
dmd.backend.util2 Compiler implementation of the D programming language.
dmd.backend.var Compiler implementation of the D programming language.
dmd.backend.varstats Compiler implementation of the D programming language.
dmd.backend.xmm Compiler implementation of the D programming language.
dmd.root.aav Compiler implementation of the D programming language
dmd.root.array Compiler implementation of the D programming language.
dmd.root.ctfloat Compiler implementation of the D programming language.
dmd.root.file Compiler implementation of the D programming language
dmd.root.filename Compiler implementation of the D programming language
dmd.root.hash Compiler implementation of the D programming language
dmd.root.man Compiler implementation of the D programming language
dmd.root.outbuffer Compiler implementation of the D programming language
dmd.root.port Compiler implementation of the D programming language
dmd.root.response Compiler implementation of the D programming language
dmd.root.rmem Compiler implementation of the D programming language
dmd.root.rootobject Compiler implementation of the D programming language
dmd.root.speller Compiler implementation of the D programming language
dmd.root.string This module contains various string related functions.
dmd.root.stringtable Compiler implementation of the D programming language
dmd.root.strtold Compiler implementation of the D programming language.
dmd.access Compiler implementation of the D programming language.
dmd.aggregate Compiler implementation of the D programming language.
dmd.aliasthis Compiler implementation of the D programming language.
dmd.apply Compiler implementation of the D programming language.
dmd.argtypes Compiler implementation of the D programming language.
dmd.argtypes_sysv_x64 Compiler implementation of the D programming language.
dmd.arrayop Compiler implementation of the D programming language.
dmd.arraytypes Compiler implementation of the D programming language.
dmd.ast_node Compiler implementation of the D programming language.
dmd.asttypename Part of the Compiler implementation of the D programming language
dmd.attrib Compiler implementation of the D programming language.
dmd.blockexit Compiler implementation of the D programming language.
dmd.builtin Compiler implementation of the D programming language.
dmd.canthrow Compiler implementation of the D programming language.
dmd.cli Compiler implementation of the D programming language.
dmd.clone Compiler implementation of the D programming language.
dmd.compiler Compiler implementation of the D programming language.
dmd.complex Compiler implementation of the D programming language.
dmd.cond Compiler implementation of the D programming language.
dmd.console Compiler implementation of the D programming language.
dmd.constfold Compiler implementation of the D programming language.
dmd.cppmangle Compiler implementation of the D programming language
dmd.cppmanglewin Compiler implementation of the D programming language
dmd.ctfeexpr Compiler implementation of the D programming language.
dmd.ctorflow Compiler implementation of the D programming language.
dmd.dcast Compiler implementation of the D programming language.
dmd.dclass Compiler implementation of the D programming language.
dmd.declaration Compiler implementation of the D programming language.
dmd.delegatize Compiler implementation of the D programming language.
dmd.denum Handle enums.
dmd.dimport Compiler implementation of the D programming language.
dmd.dinifile Compiler implementation of the D programming language.
dmd.dinterpret Compiler implementation of the D programming language.
dmd.dmacro Compiler implementation of the D programming language.
dmd.dmangle Compiler implementation of the D programming language
dmd.dmodule Compiler implementation of the D programming language.
dmd.dmsc Compiler implementation of the D programming language.
dmd.doc Compiler implementation of the D programming language.
dmd.dscope Compiler implementation of the D programming language.
dmd.dstruct Compiler implementation of the D programming language.
dmd.dsymbol Compiler implementation of the D programming language.
dmd.dsymbolsem Compiler implementation of the D programming language.
dmd.dtemplate Compiler implementation of the D programming language.
dmd.dversion Compiler implementation of the D programming language.
dmd.e2ir Compiler implementation of the D programming language.
dmd.eh Compiler implementation of the D programming language.
dmd.entity Compiler implementation of the D programming language.
dmd.errors Compiler implementation of the D programming language.
dmd.escape Most of the logic to implement scoped pointers and scoped references is here.
dmd.expression Compiler implementation of the D programming language.
dmd.expressionsem Compiler implementation of the D programming language.
dmd.filecache Compiler implementation of the D programming language.
dmd.frontend Compiler implementation of the D programming language.
dmd.func Compiler implementation of the D programming language.
dmd.globals Compiler implementation of the D programming language.
dmd.glue Compiler implementation of the D programming language.
dmd.gluelayer Compiler implementation of the D programming language.
dmd.hdrgen Compiler implementation of the D programming language.
dmd.iasm Compiler implementation of the D programming language.
dmd.iasmdmd Inline assembler implementation for DMD.
dmd.iasmgcc Compiler implementation of the D programming language.
dmd.id Compiler implementation of the D programming language.
dmd.identifier Compiler implementation of the D programming language.
dmd.impcnvtab Compiler implementation of the D programming language.
dmd.imphint Compiler implementation of the D programming language.
dmd.init Compiler implementation of the D programming language.
dmd.initsem Compiler implementation of the D programming language.
dmd.inline Compiler implementation of the D programming language.
dmd.inlinecost Compiler implementation of the D programming language.
dmd.intrange Compiler implementation of the D programming language.
dmd.irstate Compiler implementation of the D programming language.
dmd.json Compiler implementation of the D programming language.
dmd.lambdacomp Compiler implementation of the D programming language.
dmd.lexer Compiler implementation of the D programming language.
dmd.lib Compiler implementation of the D programming language.
dmd.libelf Compiler implementation of the D programming language.
dmd.libomf Compiler implementation of the D programming language.
dmd.link Compiler implementation of the D programming language.
dmd.mars Compiler implementation of the D programming language. Entry point for DMD.
dmd.mtype Compiler implementation of the D programming language.
dmd.nogc Compiler implementation of the D programming language.
dmd.nspace Compiler implementation of the D programming language.
dmd.objc Compiler implementation of the D programming language.
dmd.objc_glue Compiler implementation of the D programming language.
dmd.opover Compiler implementation of the D programming language.
dmd.optimize Compiler implementation of the D programming language.
dmd.parse Compiler implementation of the D programming language.
dmd.parsetimevisitor
dmd.permissivevisitor
dmd.printast Compiler implementation of the D programming language.
dmd.s2ir Compiler implementation of the D programming language.
dmd.safe Compiler implementation of the D programming language.
dmd.sapply Compiler implementation of the D programming language.
dmd.scanelf Compiler implementation of the D programming language.
dmd.scanomf Compiler implementation of the D programming language.
dmd.semantic2 Compiler implementation of the D programming language.
dmd.semantic3 Compiler implementation of the D programming language.
dmd.sideeffect Compiler implementation of the D programming language.
dmd.statement Compiler implementation of the D programming language.
dmd.statement_rewrite_walker Compiler implementation of the D programming language.
dmd.statementsem Compiler implementation of the D programming language.
dmd.staticassert Compiler implementation of the D programming language.
dmd.staticcond Compiler implementation of the D programming language.
dmd.strictvisitor
dmd.target Compiler implementation of the D programming language.
dmd.templateparamsem Compiler implementation of the D programming language.
dmd.tocsym Compiler implementation of the D programming language.
dmd.toctype Compiler implementation of the D programming language.
dmd.tocvdebug Compiler implementation of the D programming language.
dmd.todt Compiler implementation of the D programming language.
dmd.toir Compiler implementation of the D programming language.
dmd.tokens Compiler implementation of the D programming language.
dmd.toobj Compiler implementation of the D programming language.
dmd.traits Compiler implementation of the D programming language.
dmd.transitivevisitor
dmd.typesem Compiler implementation of the D programming language.
dmd.typinf Compiler implementation of the D programming language.
dmd.utf Compiler implementation of the D programming language.
dmd.utils Compiler implementation of the D programming language. Utility functions for DMD.
dmd.visitor Compiler implementation of the D programming language.
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.
gc.impl.conservative.gc Contains the garbage collector implementation.
gc.impl.manual.gc This module contains a minimal garbage collector implementation according to published requirements. This library is mostly intended to serve as an example, but it is usable in applications which do not rely on a garbage collector to clean up memory (ie. when dynamic array resizing is not used, and all memory allocated with 'new' is freed deterministically with 'delete').
gc.bits Contains a bitfield used by the GC.
gc.os Contains OS-level routines needed by the garbage collector.
gc.pooltable A sorted array to quickly lookup pools.
gc.proxy Contains the external GC interface.
rt.backtrace.dwarf This code handles backtrace generation using DWARF debug_line section in ELF and Mach-O files for Posix.
rt.backtrace.elf This code reads ELF files and sections using memory mapped IO.
rt.backtrace.macho This module extracts debug info from the currently running Mach-O executable.
rt.typeinfo.ti_Acdouble TypeInfo support code.
rt.typeinfo.ti_Acfloat TypeInfo support code.
rt.typeinfo.ti_Acreal TypeInfo support code.
rt.typeinfo.ti_Adouble TypeInfo support code.
rt.typeinfo.ti_Afloat TypeInfo support code.
rt.typeinfo.ti_Ag TypeInfo support code.
rt.typeinfo.ti_Aint TypeInfo support code.
rt.typeinfo.ti_Along TypeInfo support code.
rt.typeinfo.ti_Areal TypeInfo support code.
rt.typeinfo.ti_Ashort TypeInfo support code.
rt.typeinfo.ti_byte TypeInfo support code.
rt.typeinfo.ti_C TypeInfo support code.
rt.typeinfo.ti_cdouble TypeInfo support code.
rt.typeinfo.ti_cent TypeInfo support code.
rt.typeinfo.ti_cfloat TypeInfo support code.
rt.typeinfo.ti_char TypeInfo support code.
rt.typeinfo.ti_creal TypeInfo support code.
rt.typeinfo.ti_dchar TypeInfo support code.
rt.typeinfo.ti_delegate TypeInfo support code.
rt.typeinfo.ti_double TypeInfo support code.
rt.typeinfo.ti_float TypeInfo support code.
rt.typeinfo.ti_idouble TypeInfo support code.
rt.typeinfo.ti_ifloat TypeInfo support code.
rt.typeinfo.ti_int TypeInfo support code.
rt.typeinfo.ti_ireal TypeInfo support code.
rt.typeinfo.ti_long TypeInfo support code.
rt.typeinfo.ti_n TypeInfo support code.
rt.typeinfo.ti_ptr TypeInfo support code.
rt.typeinfo.ti_real TypeInfo support code.
rt.typeinfo.ti_short TypeInfo support code.
rt.typeinfo.ti_ubyte TypeInfo support code.
rt.typeinfo.ti_ucent TypeInfo support code.
rt.typeinfo.ti_uint TypeInfo support code.
rt.typeinfo.ti_ulong TypeInfo support code.
rt.typeinfo.ti_ushort TypeInfo support code.
rt.typeinfo.ti_void TypeInfo support code.
rt.typeinfo.ti_wchar TypeInfo support code.
rt.util.container.array Array container for internal usage.
rt.util.container.common Common code for writing containers.
rt.util.container.hashtab HashTab container for internal usage.
rt.util.container.treap Treap container for internal usage.
rt.util.random Random number generators for internal usage.
rt.util.typeinfo This module contains utilities for TypeInfo implementation.
rt.util.utility Contains various utility functions used by the runtime implementation.
rt.aaA Implementation of associative arrays.
rt.aApply This code handles decoding UTF strings for foreach loops. There are 6 combinations of conversions between char, wchar, and dchar, and 2 of each of those.
rt.aApplyR This code handles decoding UTF strings for foreach_reverse loops. There are 6 combinations of conversions between char, wchar, and dchar, and 2 of each of those.
rt.adi Implementation of dynamic array property support routines.
rt.alloca Implementation of alloca() standard C routine.
rt.arrayassign Implementation of array assignment support routines.
rt.arraycat Implementation of array copy support routines.
rt.cast_ Implementation of array assignment support routines.
rt.cmath2 Runtime support for complex arithmetic code generation (for Posix).
rt.config Configuration options for druntime.
rt.cover Implementation of code coverage analyzer.
rt.critical_ Implementation of support routines for synchronized blocks.
rt.deh Implementation of exception handling support routines.
rt.deh_win32 Implementation of exception handling support routines for Win32.
rt.deh_win64_posix Written in the D programming language. Implementation of exception handling support routines for Posix and Win64.
rt.dmain2 Contains druntime startup and shutdown routines.
rt.dwarfeh Exception handling support for Dwarf-style portable exceptions.
rt.ehalloc Exception allocation, cloning, and release compiler support routines.
rt.lifetime This module contains all functions related to an object's lifetime: allocation, resizing, deallocation, and finalization.
rt.llmath Support for 64-bit longs.
rt.memory This module tells the garbage collector about the static data and bss segments, so the GC can scan them for roots. It does not deal with thread local static data.
rt.memset Contains a memset implementation used by compiler-generated code.
rt.minfo Written in the D programming language. Module initialization routines.
rt.monitor_ Contains the implementation for object monitors.
rt.qsort This is a public domain version of qsort.d. All it does is call C's qsort().
rt.sections
rt.sections_android Written in the D programming language. This module provides bionic-specific support for sections.
rt.sections_elf_shared Written in the D programming language. This module provides ELF-specific support for sections with shared libraries.
rt.sections_osx_x86 Written in the D programming language. This module provides OS X x86 specific support for sections.
rt.sections_osx_x86_64 Written in the D programming language. This module provides OS X x86-64 specific support for sections.
rt.sections_solaris Written in the D programming language. This module provides Solaris-specific support for sections.
rt.sections_win32 Written in the D programming language. This module provides Win32-specific support for sections.
rt.sections_win64 Written in the D programming language. This module provides Win32-specific support for sections.
rt.tlsgc
rt.trace Contains support code for code profiling.
rt.tracegc Contains implementations of functions called when the -profile=gc switch is thrown.
rt.unwind Written in the D programming language. Equivalent to unwind.h
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.
std Convenience file that allows to import entire Phobos in one import.

Access to plattform libraries is supported by specific D header files.

D header files
C99 core.stdc.assert_ 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