Update LOCAL_PATCHES after libsanitizer merge.
[official-gcc.git] / libphobos / src / index.d
blob2792b7b0326418ed21547959469172a368179182
1 Ddoc
3 $(P Phobos is the standard runtime library that comes with the D language
4 compiler.)
6 $(P Generally, the $(D std) namespace is used for the main modules in the
7 Phobos standard library. The $(D etc) namespace is used for external C/C++
8 library bindings. The $(D core) namespace is used for low-level D runtime
9 functions.)
11 $(P The following table is a quick reference guide for which Phobos modules to
12 use for a given category of functionality. Note that some modules may appear in
13 more than one category, as some Phobos modules are quite generic and can be
14 applied in a variety of situations.)
16 $(BOOKTABLE ,
17 $(TR
18 $(TH Modules)
19 $(TH Description)
21 $(LEADINGROW Algorithms & ranges)
22 $(TR
23 $(TDNW
24 $(MREF std,algorithm)$(BR)
25 $(MREF std,range)$(BR)
26 $(MREF std,range,primitives)$(BR)
27 $(MREF std,range,interfaces)$(BR)
29 $(TD Generic algorithms that work with $(MREF_ALTTEXT ranges, std,range)
30 of any type, including strings, arrays, and other kinds of
31 sequentially-accessed data. Algorithms include searching,
32 comparison, iteration, sorting, set operations, and mutation.
35 $(LEADINGROW Array manipulation)
36 $(TR
37 $(TDNW
38 $(MREF std,array)$(BR)
39 $(MREF std,algorithm)$(BR)
41 $(TD Convenient operations commonly used with built-in arrays.
42 Note that many common array operations are subsets of more generic
43 algorithms that work with arbitrary ranges, so they are found in
44 $(D std.algorithm).
47 $(LEADINGROW Containers)
48 $(TR
49 $(TDNW
50 $(MREF std,container,array)$(BR)
51 $(MREF std,container,binaryheap)$(BR)
52 $(MREF std,container,dlist)$(BR)
53 $(MREF std,container,rbtree)$(BR)
54 $(MREF std,container,slist)$(BR)
56 $(TD See $(MREF_ALTTEXT std.container.*, std,container) for an
57 overview.
60 $(LEADINGROW Data formats)
61 $(TR
62 $(TDNW $(MREF std,base64))
63 $(TD Encoding / decoding Base64 format.)
65 $(TR
66 $(TDNW $(MREF std,csv))
67 $(TD Read Comma Separated Values and its variants from an input range of $(CODE dchar).)
69 $(TR
70 $(TDNW $(MREF std,json))
71 $(TD Read/write data in JSON format.)
73 $(TR
74 $(TDNW $(MREF std,xml))
75 $(TD Read/write data in XML format.)
77 $(TR
78 $(TDNW $(MREF std,zip))
79 $(TD Read/write data in the ZIP archive format.)
81 $(TR
82 $(TDNW $(MREF std,zlib))
83 $(TD Compress/decompress data using the zlib library.)
85 $(LEADINGROW Data integrity)
86 $(TR
87 $(TDNW $(MREF std,experimental,checkedint))
88 $(TD Checked integral types.)
90 $(TR
91 $(TDNW $(MREF std,digest,crc))
92 $(TD Cyclic Redundancy Check (32-bit) implementation.)
94 $(TR
95 $(TDNW $(MREF std,digest,digest))
96 $(TD Compute digests such as md5, sha1 and crc32.)
98 $(TR
99 $(TDNW $(MREF std,digest,hmac))
100 $(TD Compute HMAC digests of arbitrary data.)
102 $(TR
103 $(TDNW $(MREF std,digest,md))
104 $(TD Compute MD5 hash of arbitrary data.)
106 $(TR
107 $(TDNW $(MREF std,digest,murmurhash))
108 $(TD Compute MurmurHash of arbitrary data.)
110 $(TR
111 $(TDNW $(MREF std,digest,ripemd))
112 $(TD Compute RIPEMD-160 hash of arbitrary data.)
114 $(TR
115 $(TDNW $(MREF std,digest,sha))
116 $(TD Compute SHA1 and SHA2 hashes of arbitrary data.)
118 $(LEADINGROW Date & time)
119 $(TR
120 $(TDNW $(MREF std,datetime))
121 $(TD Provides convenient access to date and time representations.)
123 $(TR
124 $(TDNW $(MREF core,time))
125 $(TD Implements low-level time primitives.)
127 $(LEADINGROW Exception handling)
128 $(TR
129 $(TDNW $(MREF std,exception))
130 $(TD Implements routines related to exceptions.)
132 $(TR
133 $(TDNW $(MREF core,exception))
134 $(TD Defines built-in exception types and low-level
135 language hooks required by the compiler.)
137 $(LEADINGROW External library bindings)
138 $(TR
139 $(TDNW $(MREF etc,c,curl))
140 $(TD Interface to libcurl C library.)
142 $(TR
143 $(TDNW $(MREF etc,c,odbc,sql))
144 $(TD Interface to ODBC C library.)
146 $(TR
147 $(TDNW $(MREF etc,c,odbc,sqlext))
149 $(TR
150 $(TDNW $(MREF etc,c,odbc,sqltypes))
152 $(TR
153 $(TDNW $(MREF etc,c,odbc,sqlucode))
155 $(TR
156 $(TDNW $(MREF etc,c,sqlite3))
157 $(TD Interface to SQLite C library.)
159 $(TR
160 $(TDNW $(MREF etc,c,zlib))
161 $(TD Interface to zlib C library.)
163 $(LEADINGROW I/O & File system)
164 $(TR
165 $(TDNW $(MREF std,file))
166 $(TD Manipulate files and directories.)
168 $(TR
169 $(TDNW $(MREF std,path))
170 $(TD Manipulate strings that represent filesystem paths.)
172 $(TR
173 $(TDNW $(MREF std,stdio))
174 $(TD Perform buffered I/O.)
176 $(LEADINGROW Interoperability)
177 $(TR
178 $(TDNW
179 $(MREF core,stdc,complex)$(BR)
180 $(MREF core,stdc,ctype)$(BR)
181 $(MREF core,stdc,errno)$(BR)
182 $(MREF core,stdc,fenv)$(BR)
183 $(MREF core,stdc,float_)$(BR)
184 $(MREF core,stdc,inttypes)$(BR)
185 $(MREF core,stdc,limits)$(BR)
186 $(MREF core,stdc,locale)$(BR)
187 $(MREF core,stdc,math)$(BR)
188 $(MREF core,stdc,signal)$(BR)
189 $(MREF core,stdc,stdarg)$(BR)
190 $(MREF core,stdc,stddef)$(BR)
191 $(MREF core,stdc,stdint)$(BR)
192 $(MREF core,stdc,stdio)$(BR)
193 $(MREF core,stdc,stdlib)$(BR)
194 $(MREF core,stdc,string)$(BR)
195 $(MREF core,stdc,tgmath)$(BR)
196 $(MREF core,stdc,time)$(BR)
197 $(MREF core,stdc,wchar_)$(BR)
198 $(MREF core,stdc,wctype)$(BR)
200 $(TD
201 D bindings for standard C headers.$(BR)$(BR)
202 These are mostly undocumented, as documentation
203 for the functions these declarations provide
204 bindings to can be found on external resources.
207 $(LEADINGROW Memory management)
208 $(TR
209 $(TDNW $(MREF core,memory))
210 $(TD Control the built-in garbage collector.)
212 $(TR
213 $(TDNW $(MREF std,typecons))
214 $(TD Build scoped variables and reference-counted types.)
216 $(LEADINGROW Metaprogramming)
217 $(TR
218 $(TDNW $(MREF core,attribute))
219 $(TD Definitions of special attributes recognized by the compiler.)
221 $(TR
222 $(TDNW $(MREF core,demangle))
223 $(TD Convert $(I mangled) D symbol identifiers to source representation.)
225 $(TR
226 $(TDNW $(MREF std,demangle))
227 $(TD A simple wrapper around core.demangle.)
229 $(TR
230 $(TDNW $(MREF std,meta))
231 $(TD Construct and manipulate template argument lists (aka type lists).)
233 $(TR
234 $(TDNW $(MREF std,traits))
235 $(TD Extract information about types and symbols at compile time.)
237 $(TR
238 $(TDNW $(MREF std,typecons))
239 $(TD Construct new, useful general purpose types.)
241 $(LEADINGROW Multitasking)
242 $(TR
243 $(TDNW $(MREF std,concurrency))
244 $(TD Low level messaging API for threads.)
246 $(TR
247 $(TDNW $(MREF std,parallelism))
248 $(TD High level primitives for SMP parallelism.)
250 $(TR
251 $(TDNW $(MREF std,process))
252 $(TD Starting and manipulating processes.)
254 $(TR
255 $(TDNW $(MREF core,atomic))
256 $(TD Basic support for lock-free concurrent programming.)
258 $(TR
259 $(TDNW $(MREF core,sync,barrier))
260 $(TD Synchronize the progress of a group of threads.)
262 $(TR
263 $(TDNW $(MREF core,sync,condition))
264 $(TD Synchronized condition checking.)
266 $(TR
267 $(TDNW $(MREF core,sync,exception))
268 $(TD Base class for synchronization exceptions.)
270 $(TR
271 $(TDNW $(MREF core,sync,mutex))
272 $(TD Mutex for mutually exclusive access.)
274 $(TR
275 $(TDNW $(MREF core,sync,rwmutex))
276 $(TD Shared read access and mutually exclusive write access.)
278 $(TR
279 $(TDNW $(MREF core,sync,semaphore))
280 $(TD General use synchronization semaphore.)
282 $(TR
283 $(TDNW $(MREF core,thread))
284 $(TD Thread creation and management.)
286 $(LEADINGROW Networking)
287 $(TR
288 $(TDNW $(MREF std,socket))
289 $(TD Socket primitives.)
291 $(TR
292 $(TDNW $(MREF std,net,curl))
293 $(TD Networking client functionality as provided by libcurl.)
295 $(TR
296 $(TDNW $(MREF std,net,isemail))
297 $(TD Validates an email address according to RFCs 5321, 5322 and others.)
299 $(TR
300 $(TDNW $(MREF std,uri))
301 $(TD Encode and decode Uniform Resource Identifiers (URIs).)
303 $(TR
304 $(TDNW $(MREF std,uuid))
305 $(TD Universally-unique identifiers for resources in distributed
306 systems.)
308 $(LEADINGROW Numeric)
309 $(TR
310 $(TDNW $(MREF std,bigint))
311 $(TD An arbitrary-precision integer type.)
313 $(TR
314 $(TDNW $(MREF std,complex))
315 $(TD A complex number type.)
317 $(TR
318 $(TDNW $(MREF std,math))
319 $(TD Elementary mathematical functions (powers, roots, trigonometry).)
321 $(TR
322 $(TDNW $(MREF std,mathspecial))
323 $(TD Families of transcendental functions.)
325 $(TR
326 $(TDNW $(MREF std,numeric))
327 $(TD Floating point numerics functions.)
329 $(TR
330 $(TDNW $(MREF std,random))
331 $(TD Pseudo-random number generators.)
333 $(TR
334 $(TDNW $(MREF core,checkedint))
335 $(TD Range-checking integral arithmetic primitives.)
337 $(TR
338 $(TDNW $(MREF core,math))
339 $(TD Built-in mathematical intrinsics.)
341 $(LEADINGROW Paradigms)
342 $(TR
343 $(TDNW $(MREF std,functional))
344 $(TD Functions that manipulate other functions.)
346 $(TR
347 $(TDNW $(MREF std,algorithm))
348 $(TD Generic algorithms for processing sequences.)
350 $(TR
351 $(TDNW $(MREF std,signals))
352 $(TD Signal-and-slots framework for event-driven programming.)
354 $(LEADINGROW Runtime utilities)
355 $(TR
356 $(TDNW $(MREF1 object))
357 $(TD Core language definitions. Automatically imported.)
359 $(TR
360 $(TDNW $(MREF std,getopt))
361 $(TD Parsing of command-line arguments.)
363 $(TR
364 $(TDNW $(MREF std,compiler))
365 $(TD Host compiler vendor string and language version.)
367 $(TR
368 $(TDNW $(MREF std,system))
369 $(TD Runtime environment, such as OS type and endianness.)
371 $(TR
372 $(TDNW $(MREF core,cpuid))
373 $(TD Capabilities of the CPU the program is running on.)
375 $(TR
376 $(TDNW $(MREF core,memory))
377 $(TD Control the built-in garbage collector.)
379 $(TR
380 $(TDNW $(MREF core,runtime))
381 $(TD Control and configure the D runtime.)
383 $(LEADINGROW String manipulation)
384 $(TR
385 $(TDNW $(MREF std,string))
386 $(TD Algorithms that work specifically with strings.)
388 $(TR
389 $(TDNW $(MREF std,array))
390 $(TD Manipulate builtin arrays.)
392 $(TR
393 $(TDNW $(MREF std,algorithm))
394 $(TD Generic algorithms for processing sequences.)
396 $(TR
397 $(TDNW $(MREF std,uni))
398 $(TD Fundamental Unicode algorithms and data structures.)
400 $(TR
401 $(TDNW $(MREF std,utf))
402 $(TD Encode and decode UTF-8, UTF-16 and UTF-32 strings.)
404 $(TR
405 $(TDNW $(MREF std,format))
406 $(TD Format data into strings.)
408 $(TR
409 $(TDNW $(MREF std,path))
410 $(TD Manipulate strings that represent filesystem paths.)
412 $(TR
413 $(TDNW $(MREF std,regex))
414 $(TD Regular expressions.)
416 $(TR
417 $(TDNW $(MREF std,ascii))
418 $(TD Routines specific to the ASCII subset of Unicode.)
420 $(TR
421 $(TDNW $(MREF std,encoding))
422 $(TD Handle and transcode between various text encodings.)
424 $(TR
425 $(TDNW $(MREF std,windows,charset))
426 $(TD Windows specific character set support.)
428 $(TR
429 $(TDNW $(MREF std,outbuffer))
430 $(TD Serialize data to $(CODE ubyte) arrays.)
432 $(LEADINGROW Type manipulations)
433 $(TR
434 $(TDNW $(MREF std,conv))
435 $(TD Convert types from one type to another.)
437 $(TR
438 $(TDNW $(MREF std,typecons))
439 $(TD Type constructors for scoped variables, ref counted types, etc.)
441 $(TR
442 $(TDNW $(MREF std,bitmanip))
443 $(TD High level bit level manipulation, bit arrays, bit fields.)
445 $(TR
446 $(TDNW $(MREF std,variant))
447 $(TD Discriminated unions and algebraic types.)
449 $(TR
450 $(TDNW $(MREF core,bitop))
451 $(TD Low level bit manipulation.)
453 $(LEADINGROW Vector programming)
454 $(TR
455 $(TDNW $(MREF core,simd))
456 $(TD SIMD intrinsics)
459 $(COMMENT
460 $(LEADINGROW Undocumented modules (intentionally omitted).)
461 $(TR
462 $(TDNW
463 $(MREF core,sync,config)$(BR)
464 $(MREF std,container,util)$(BR)
465 $(MREF std,regex,internal,backtracking)$(BR)
466 $(MREF std,regex,internal,generator)$(BR)
467 $(MREF std,regex,internal,ir)$(BR)
468 $(MREF std,regex,internal,kickstart)$(BR)
469 $(MREF std,regex,internal,parser)$(BR)
470 $(MREF std,regex,internal,tests)$(BR)
471 $(MREF std,regex,internal,thompson)$(BR)
473 $(TD
474 Internal modules.
477 $(TR
478 $(TDNW
479 $(MREF core,vararg)$(BR)
480 $(MREF std,c,fenv)$(BR)
481 $(MREF std,c,linux,linux)$(BR)
482 $(MREF std,c,linux,socket)$(BR)
483 $(MREF std,c,locale)$(BR)
484 $(MREF std,c,math)$(BR)
485 $(MREF std,c,process)$(BR)
486 $(MREF std,c,stdarg)$(BR)
487 $(MREF std,c,stddef)$(BR)
488 $(MREF std,c,stdio)$(BR)
489 $(MREF std,c,stdlib)$(BR)
490 $(MREF std,c,string)$(BR)
491 $(MREF std,c,time)$(BR)
492 $(MREF std,c,wcharh)$(BR)
493 $(MREF std,stdint)$(BR)
495 $(TDN
496 Redirect modules.
499 $(TR
500 $(TDNW
501 $(MREF std,mmfile)$(BR)
502 $(MREF std,typetuple)$(BR)
504 $(TD
505 Deprecated modules.
508 $(TR
509 $(TDNW
510 $(MREF std,experimental,logger)$(BR)
511 $(MREF std,experimental,logger,core)$(BR)
512 $(MREF std,experimental,logger,filelogger)$(BR)
513 $(MREF std,experimental,logger,multilogger)$(BR)
514 $(MREF std,experimental,logger,nulllogger)$(BR)
516 $(TD
517 Experimental modules.
523 Macros:
524 TITLE=Phobos Runtime Library
525 DDOC_BLANKLINE=