mirror of
https://github.com/dlang/phobos.git
synced 2025-04-25 20:50:58 +03:00
527 lines
15 KiB
Text
527 lines
15 KiB
Text
Ddoc
|
|
|
|
$(P Phobos is the standard runtime library that comes with the D language
|
|
compiler.)
|
|
|
|
$(P Generally, the `std` namespace is used for the main modules in the
|
|
Phobos standard library. The `etc` namespace is used for external C/C++
|
|
library bindings. The `core` namespace is used for low-level D runtime
|
|
functions.)
|
|
|
|
$(P The following table is a quick reference guide for which Phobos modules to
|
|
use for a given category of functionality. Note that some modules may appear in
|
|
more than one category, as some Phobos modules are quite generic and can be
|
|
applied in a variety of situations.)
|
|
|
|
$(BOOKTABLE ,
|
|
$(TR
|
|
$(TH Modules)
|
|
$(TH Description)
|
|
)
|
|
$(LEADINGROW Algorithms & ranges)
|
|
$(TR
|
|
$(TDNW
|
|
$(MREF std,algorithm)$(BR)
|
|
$(MREF std,range)$(BR)
|
|
$(MREF std,range,primitives)$(BR)
|
|
$(MREF std,range,interfaces)$(BR)
|
|
)
|
|
$(TD Generic algorithms that work with $(MREF_ALTTEXT ranges, std,range)
|
|
of any type, including strings, arrays, and other kinds of
|
|
sequentially-accessed data. Algorithms include searching,
|
|
comparison, iteration, sorting, set operations, and mutation.
|
|
)
|
|
)
|
|
$(LEADINGROW Array manipulation)
|
|
$(TR
|
|
$(TDNW
|
|
$(MREF std,array)$(BR)
|
|
$(MREF std,algorithm)$(BR)
|
|
)
|
|
$(TD Convenient operations commonly used with built-in arrays.
|
|
Note that many common array operations are subsets of more generic
|
|
algorithms that work with arbitrary ranges, so they are found in
|
|
`std.algorithm`.
|
|
)
|
|
)
|
|
$(LEADINGROW Containers)
|
|
$(TR
|
|
$(TDNW
|
|
$(MREF std,container,array)$(BR)
|
|
$(MREF std,container,binaryheap)$(BR)
|
|
$(MREF std,container,dlist)$(BR)
|
|
$(MREF std,container,rbtree)$(BR)
|
|
$(MREF std,container,slist)$(BR)
|
|
)
|
|
$(TD See $(MREF_ALTTEXT std.container.*, std,container) for an
|
|
overview.
|
|
)
|
|
)
|
|
$(LEADINGROW Data formats)
|
|
$(TR
|
|
$(TDNW $(MREF std,base64))
|
|
$(TD Encoding / decoding Base64 format.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,csv))
|
|
$(TD Read Comma Separated Values and its variants from an input range of $(CODE dchar).)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,json))
|
|
$(TD Read/write data in JSON format.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,zip))
|
|
$(TD Read/write data in the ZIP archive format.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,zlib))
|
|
$(TD Compress/decompress data using the zlib library.)
|
|
)
|
|
$(LEADINGROW Data integrity)
|
|
$(TR
|
|
$(TDNW $(MREF std,checkedint))
|
|
$(TD Checked integral types.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,digest))
|
|
$(TD Compute digests such as md5, sha1 and crc32.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,digest,crc))
|
|
$(TD Cyclic Redundancy Check (32-bit) implementation.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,digest,hmac))
|
|
$(TD Compute HMAC digests of arbitrary data.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,digest,md))
|
|
$(TD Compute MD5 hash of arbitrary data.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,digest,murmurhash))
|
|
$(TD Compute MurmurHash of arbitrary data.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,digest,ripemd))
|
|
$(TD Compute RIPEMD-160 hash of arbitrary data.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,digest,sha))
|
|
$(TD Compute SHA1 and SHA2 hashes of arbitrary data.)
|
|
)
|
|
$(LEADINGROW Date & time)
|
|
$(TR
|
|
$(TDNW $(MREF std,datetime))
|
|
$(TD Provides convenient access to date and time representations.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,time))
|
|
$(TD Implements low-level time primitives.)
|
|
)
|
|
$(LEADINGROW Exception handling)
|
|
$(TR
|
|
$(TDNW $(MREF std,exception))
|
|
$(TD Implements routines related to exceptions.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,exception))
|
|
$(TD Defines built-in exception types and low-level
|
|
language hooks required by the compiler.)
|
|
)
|
|
$(LEADINGROW External library bindings)
|
|
$(TR
|
|
$(TDNW $(MREF etc,c,curl))
|
|
$(TD Interface to libcurl C library.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF etc,c,odbc,sql))
|
|
$(TD Interface to ODBC C library.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF etc,c,odbc,sqlext))
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF etc,c,odbc,sqltypes))
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF etc,c,odbc,sqlucode))
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF etc,c,sqlite3))
|
|
$(TD Interface to SQLite C library.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF etc,c,zlib))
|
|
$(TD Interface to zlib C library.)
|
|
)
|
|
$(LEADINGROW I/O & File system)
|
|
$(TR
|
|
$(TDNW $(MREF std,file))
|
|
$(TD Manipulate files and directories.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,path))
|
|
$(TD Manipulate strings that represent filesystem paths.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,stdio))
|
|
$(TD Perform buffered I/O.)
|
|
)
|
|
$(LEADINGROW Interoperability)
|
|
$(TR
|
|
$(TDNW
|
|
$(MREF core,stdc,complex)$(BR)
|
|
$(MREF core,stdc,ctype)$(BR)
|
|
$(MREF core,stdc,errno)$(BR)
|
|
$(MREF core,stdc,fenv)$(BR)
|
|
$(MREF core,stdc,float_)$(BR)
|
|
$(MREF core,stdc,inttypes)$(BR)
|
|
$(MREF core,stdc,limits)$(BR)
|
|
$(MREF core,stdc,locale)$(BR)
|
|
$(MREF core,stdc,math)$(BR)
|
|
$(MREF core,stdc,signal)$(BR)
|
|
$(MREF core,stdc,stdarg)$(BR)
|
|
$(MREF core,stdc,stddef)$(BR)
|
|
$(MREF core,stdc,stdint)$(BR)
|
|
$(MREF core,stdc,stdio)$(BR)
|
|
$(MREF core,stdc,stdlib)$(BR)
|
|
$(MREF core,stdc,string)$(BR)
|
|
$(MREF core,stdc,tgmath)$(BR)
|
|
$(MREF core,stdc,time)$(BR)
|
|
$(MREF core,stdc,wchar_)$(BR)
|
|
$(MREF core,stdc,wctype)$(BR)
|
|
)
|
|
$(TD
|
|
D bindings for standard C headers.$(BR)$(BR)
|
|
These are mostly undocumented, as documentation
|
|
for the functions these declarations provide
|
|
bindings to can be found on external resources.
|
|
)
|
|
)
|
|
$(LEADINGROW Memory management)
|
|
$(TR
|
|
$(TDNW $(MREF core,memory))
|
|
$(TD Control the built-in garbage collector.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,typecons))
|
|
$(TD Build scoped variables and reference-counted types.)
|
|
)
|
|
$(LEADINGROW Metaprogramming)
|
|
$(TR
|
|
$(TDNW $(MREF core,attribute))
|
|
$(TD Definitions of special attributes recognized by the compiler.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,demangle))
|
|
$(TD Convert $(I mangled) D symbol identifiers to source representation.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,demangle))
|
|
$(TD A simple wrapper around core.demangle.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,meta))
|
|
$(TD Construct and manipulate template argument lists (aka type lists).)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,traits))
|
|
$(TD Extract information about types and symbols at compile time.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,typecons))
|
|
$(TD Construct new, useful general purpose types.)
|
|
)
|
|
$(LEADINGROW Multitasking)
|
|
$(TR
|
|
$(TDNW $(MREF std,concurrency))
|
|
$(TD Low level messaging API for threads.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,parallelism))
|
|
$(TD High level primitives for SMP parallelism.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,process))
|
|
$(TD Starting and manipulating processes.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,atomic))
|
|
$(TD Basic support for lock-free concurrent programming.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,sync,barrier))
|
|
$(TD Synchronize the progress of a group of threads.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,sync,condition))
|
|
$(TD Synchronized condition checking.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,sync,exception))
|
|
$(TD Base class for synchronization exceptions.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,sync,mutex))
|
|
$(TD Mutex for mutually exclusive access.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,sync,rwmutex))
|
|
$(TD Shared read access and mutually exclusive write access.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,sync,semaphore))
|
|
$(TD General use synchronization semaphore.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,thread))
|
|
$(TD Thread creation and management.)
|
|
)
|
|
$(LEADINGROW Networking)
|
|
$(TR
|
|
$(TDNW $(MREF std,socket))
|
|
$(TD Socket primitives.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,net,curl))
|
|
$(TD Networking client functionality as provided by libcurl.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,net,isemail))
|
|
$(TD Validates an email address according to RFCs 5321, 5322 and others.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,uri))
|
|
$(TD Encode and decode Uniform Resource Identifiers (URIs).)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,uuid))
|
|
$(TD Universally-unique identifiers for resources in distributed
|
|
systems.)
|
|
)
|
|
$(LEADINGROW Numeric)
|
|
$(TR
|
|
$(TDNW $(MREF std,bigint))
|
|
$(TD An arbitrary-precision integer type.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,complex))
|
|
$(TD A complex number type.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,math))
|
|
$(TD Elementary mathematical functions (powers, roots, trigonometry).)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,mathspecial))
|
|
$(TD Families of transcendental functions.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,numeric))
|
|
$(TD Floating point numerics functions.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,random))
|
|
$(TD Pseudo-random number generators.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,checkedint))
|
|
$(TD Range-checking integral arithmetic primitives.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,math))
|
|
$(TD Built-in mathematical intrinsics.)
|
|
)
|
|
$(LEADINGROW Paradigms)
|
|
$(TR
|
|
$(TDNW $(MREF std,functional))
|
|
$(TD Functions that manipulate other functions.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,algorithm))
|
|
$(TD Generic algorithms for processing sequences.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,signals))
|
|
$(TD Signal-and-slots framework for event-driven programming.)
|
|
)
|
|
$(LEADINGROW Runtime utilities)
|
|
$(TR
|
|
$(TDNW $(MREF1 object))
|
|
$(TD Core language definitions. Automatically imported.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,getopt))
|
|
$(TD Parsing of command-line arguments.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,compiler))
|
|
$(TD Host compiler vendor string and language version.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,system))
|
|
$(TD Runtime environment, such as OS type and endianness.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,cpuid))
|
|
$(TD Capabilities of the CPU the program is running on.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,memory))
|
|
$(TD Control the built-in garbage collector.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,runtime))
|
|
$(TD Control and configure the D runtime.)
|
|
)
|
|
$(LEADINGROW String manipulation)
|
|
$(TR
|
|
$(TDNW $(MREF std,string))
|
|
$(TD Algorithms that work specifically with strings.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,array))
|
|
$(TD Manipulate builtin arrays.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,algorithm))
|
|
$(TD Generic algorithms for processing sequences.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,uni))
|
|
$(TD Fundamental Unicode algorithms and data structures.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,utf))
|
|
$(TD Encode and decode UTF-8, UTF-16 and UTF-32 strings.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,format))
|
|
$(TD Format data into strings.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,path))
|
|
$(TD Manipulate strings that represent filesystem paths.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,regex))
|
|
$(TD Regular expressions.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,ascii))
|
|
$(TD Routines specific to the ASCII subset of Unicode.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,encoding))
|
|
$(TD Handle and transcode between various text encodings.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,windows,charset))
|
|
$(TD Windows specific character set support.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,outbuffer))
|
|
$(TD Serialize data to $(CODE ubyte) arrays.)
|
|
)
|
|
$(LEADINGROW Type manipulations)
|
|
$(TR
|
|
$(TDNW $(MREF std,conv))
|
|
$(TD Convert types from one type to another.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,typecons))
|
|
$(TD Type constructors for scoped variables, ref counted types, etc.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,bitmanip))
|
|
$(TD High level bit level manipulation, bit arrays, bit fields.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,variant))
|
|
$(TD Dynamically-typed variable that can hold a value of any type.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF core,bitop))
|
|
$(TD Low level bit manipulation.)
|
|
)
|
|
$(TR
|
|
$(TDNW $(MREF std,sumtype))
|
|
$(TD Type-safe discriminated union.)
|
|
)
|
|
$(LEADINGROW Vector programming)
|
|
$(TR
|
|
$(TDNW $(MREF core,simd))
|
|
$(TD SIMD intrinsics)
|
|
)
|
|
$(LEADINGROW Logging)
|
|
$(TR
|
|
$(TDNW
|
|
$(MREF std,logger)$(BR)
|
|
$(MREF std,logger,core)$(BR)
|
|
$(MREF std,logger,filelogger)$(BR)
|
|
$(MREF std,logger,multilogger)$(BR)
|
|
$(MREF std,logger,nulllogger)$(BR)
|
|
)
|
|
$(TD
|
|
Logging.
|
|
)
|
|
)
|
|
|
|
$(COMMENT
|
|
$(LEADINGROW Undocumented modules (intentionally omitted).)
|
|
$(TR
|
|
$(TDNW
|
|
$(MREF core,sync,config)$(BR)
|
|
$(MREF std,container,util)$(BR)
|
|
$(MREF std,regex,internal,backtracking)$(BR)
|
|
$(MREF std,regex,internal,generator)$(BR)
|
|
$(MREF std,regex,internal,ir)$(BR)
|
|
$(MREF std,regex,internal,kickstart)$(BR)
|
|
$(MREF std,regex,internal,parser)$(BR)
|
|
$(MREF std,regex,internal,tests)$(BR)
|
|
$(MREF std,regex,internal,thompson)$(BR)
|
|
)
|
|
$(TD
|
|
Internal modules.
|
|
)
|
|
)
|
|
$(TR
|
|
$(TDNW
|
|
$(MREF core,vararg)$(BR)
|
|
$(MREF std,c,fenv)$(BR)
|
|
$(MREF std,c,linux,linux)$(BR)
|
|
$(MREF std,c,linux,socket)$(BR)
|
|
$(MREF std,c,locale)$(BR)
|
|
$(MREF std,c,math)$(BR)
|
|
$(MREF std,c,process)$(BR)
|
|
$(MREF std,c,stdarg)$(BR)
|
|
$(MREF std,c,stddef)$(BR)
|
|
$(MREF std,c,stdio)$(BR)
|
|
$(MREF std,c,stdlib)$(BR)
|
|
$(MREF std,c,string)$(BR)
|
|
$(MREF std,c,time)$(BR)
|
|
$(MREF std,c,wcharh)$(BR)
|
|
$(MREF std,stdint)$(BR)
|
|
)
|
|
$(TDN
|
|
Redirect modules.
|
|
)
|
|
)
|
|
$(TR
|
|
$(TDNW
|
|
$(MREF std,mmfile)$(BR)
|
|
$(MREF std,typetuple)$(BR)
|
|
)
|
|
$(TD
|
|
Deprecated modules.
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
Macros:
|
|
TITLE=Phobos Runtime Library
|
|
DDOC_BLANKLINE=
|
|
_=
|