]>
Commit | Line | Data |
---|---|---|
b4c522fa IB |
1 | Ddoc |
2 | ||
3 | $(P Phobos is the standard runtime library that comes with the D language | |
4 | compiler.) | |
5 | ||
5fee5ec3 IB |
6 | $(P Generally, the `std` namespace is used for the main modules in the |
7 | Phobos standard library. The `etc` namespace is used for external C/C++ | |
8 | library bindings. The `core` namespace is used for low-level D runtime | |
b4c522fa IB |
9 | functions.) |
10 | ||
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.) | |
15 | ||
16 | $(BOOKTABLE , | |
17 | $(TR | |
18 | $(TH Modules) | |
19 | $(TH Description) | |
20 | ) | |
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) | |
28 | ) | |
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. | |
33 | ) | |
34 | ) | |
35 | $(LEADINGROW Array manipulation) | |
36 | $(TR | |
37 | $(TDNW | |
38 | $(MREF std,array)$(BR) | |
39 | $(MREF std,algorithm)$(BR) | |
40 | ) | |
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 | |
5fee5ec3 | 44 | `std.algorithm`. |
b4c522fa IB |
45 | ) |
46 | ) | |
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) | |
55 | ) | |
56 | $(TD See $(MREF_ALTTEXT std.container.*, std,container) for an | |
57 | overview. | |
58 | ) | |
59 | ) | |
60 | $(LEADINGROW Data formats) | |
61 | $(TR | |
62 | $(TDNW $(MREF std,base64)) | |
63 | $(TD Encoding / decoding Base64 format.) | |
64 | ) | |
65 | $(TR | |
66 | $(TDNW $(MREF std,csv)) | |
67 | $(TD Read Comma Separated Values and its variants from an input range of $(CODE dchar).) | |
68 | ) | |
69 | $(TR | |
70 | $(TDNW $(MREF std,json)) | |
71 | $(TD Read/write data in JSON format.) | |
72 | ) | |
73 | $(TR | |
74 | $(TDNW $(MREF std,xml)) | |
75 | $(TD Read/write data in XML format.) | |
76 | ) | |
77 | $(TR | |
78 | $(TDNW $(MREF std,zip)) | |
79 | $(TD Read/write data in the ZIP archive format.) | |
80 | ) | |
81 | $(TR | |
82 | $(TDNW $(MREF std,zlib)) | |
83 | $(TD Compress/decompress data using the zlib library.) | |
84 | ) | |
85 | $(LEADINGROW Data integrity) | |
86 | $(TR | |
87 | $(TDNW $(MREF std,experimental,checkedint)) | |
88 | $(TD Checked integral types.) | |
89 | ) | |
90 | $(TR | |
5fee5ec3 IB |
91 | $(TDNW $(MREF std,digest)) |
92 | $(TD Compute digests such as md5, sha1 and crc32.) | |
b4c522fa IB |
93 | ) |
94 | $(TR | |
5fee5ec3 IB |
95 | $(TDNW $(MREF std,digest,crc)) |
96 | $(TD Cyclic Redundancy Check (32-bit) implementation.) | |
b4c522fa IB |
97 | ) |
98 | $(TR | |
99 | $(TDNW $(MREF std,digest,hmac)) | |
100 | $(TD Compute HMAC digests of arbitrary data.) | |
101 | ) | |
102 | $(TR | |
103 | $(TDNW $(MREF std,digest,md)) | |
104 | $(TD Compute MD5 hash of arbitrary data.) | |
105 | ) | |
106 | $(TR | |
107 | $(TDNW $(MREF std,digest,murmurhash)) | |
108 | $(TD Compute MurmurHash of arbitrary data.) | |
109 | ) | |
110 | $(TR | |
111 | $(TDNW $(MREF std,digest,ripemd)) | |
112 | $(TD Compute RIPEMD-160 hash of arbitrary data.) | |
113 | ) | |
114 | $(TR | |
115 | $(TDNW $(MREF std,digest,sha)) | |
116 | $(TD Compute SHA1 and SHA2 hashes of arbitrary data.) | |
117 | ) | |
118 | $(LEADINGROW Date & time) | |
119 | $(TR | |
120 | $(TDNW $(MREF std,datetime)) | |
121 | $(TD Provides convenient access to date and time representations.) | |
122 | ) | |
123 | $(TR | |
124 | $(TDNW $(MREF core,time)) | |
125 | $(TD Implements low-level time primitives.) | |
126 | ) | |
127 | $(LEADINGROW Exception handling) | |
128 | $(TR | |
129 | $(TDNW $(MREF std,exception)) | |
130 | $(TD Implements routines related to exceptions.) | |
131 | ) | |
132 | $(TR | |
133 | $(TDNW $(MREF core,exception)) | |
134 | $(TD Defines built-in exception types and low-level | |
135 | language hooks required by the compiler.) | |
136 | ) | |
137 | $(LEADINGROW External library bindings) | |
138 | $(TR | |
139 | $(TDNW $(MREF etc,c,curl)) | |
140 | $(TD Interface to libcurl C library.) | |
141 | ) | |
142 | $(TR | |
143 | $(TDNW $(MREF etc,c,odbc,sql)) | |
144 | $(TD Interface to ODBC C library.) | |
145 | ) | |
146 | $(TR | |
147 | $(TDNW $(MREF etc,c,odbc,sqlext)) | |
148 | ) | |
149 | $(TR | |
150 | $(TDNW $(MREF etc,c,odbc,sqltypes)) | |
151 | ) | |
152 | $(TR | |
153 | $(TDNW $(MREF etc,c,odbc,sqlucode)) | |
154 | ) | |
155 | $(TR | |
156 | $(TDNW $(MREF etc,c,sqlite3)) | |
157 | $(TD Interface to SQLite C library.) | |
158 | ) | |
159 | $(TR | |
160 | $(TDNW $(MREF etc,c,zlib)) | |
161 | $(TD Interface to zlib C library.) | |
162 | ) | |
163 | $(LEADINGROW I/O & File system) | |
164 | $(TR | |
165 | $(TDNW $(MREF std,file)) | |
166 | $(TD Manipulate files and directories.) | |
167 | ) | |
168 | $(TR | |
169 | $(TDNW $(MREF std,path)) | |
170 | $(TD Manipulate strings that represent filesystem paths.) | |
171 | ) | |
172 | $(TR | |
173 | $(TDNW $(MREF std,stdio)) | |
174 | $(TD Perform buffered I/O.) | |
175 | ) | |
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) | |
199 | ) | |
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. | |
205 | ) | |
206 | ) | |
207 | $(LEADINGROW Memory management) | |
208 | $(TR | |
209 | $(TDNW $(MREF core,memory)) | |
210 | $(TD Control the built-in garbage collector.) | |
211 | ) | |
212 | $(TR | |
213 | $(TDNW $(MREF std,typecons)) | |
214 | $(TD Build scoped variables and reference-counted types.) | |
215 | ) | |
216 | $(LEADINGROW Metaprogramming) | |
217 | $(TR | |
218 | $(TDNW $(MREF core,attribute)) | |
219 | $(TD Definitions of special attributes recognized by the compiler.) | |
220 | ) | |
221 | $(TR | |
222 | $(TDNW $(MREF core,demangle)) | |
223 | $(TD Convert $(I mangled) D symbol identifiers to source representation.) | |
224 | ) | |
225 | $(TR | |
226 | $(TDNW $(MREF std,demangle)) | |
227 | $(TD A simple wrapper around core.demangle.) | |
228 | ) | |
229 | $(TR | |
230 | $(TDNW $(MREF std,meta)) | |
231 | $(TD Construct and manipulate template argument lists (aka type lists).) | |
232 | ) | |
233 | $(TR | |
234 | $(TDNW $(MREF std,traits)) | |
235 | $(TD Extract information about types and symbols at compile time.) | |
236 | ) | |
237 | $(TR | |
238 | $(TDNW $(MREF std,typecons)) | |
239 | $(TD Construct new, useful general purpose types.) | |
240 | ) | |
241 | $(LEADINGROW Multitasking) | |
242 | $(TR | |
243 | $(TDNW $(MREF std,concurrency)) | |
244 | $(TD Low level messaging API for threads.) | |
245 | ) | |
246 | $(TR | |
247 | $(TDNW $(MREF std,parallelism)) | |
248 | $(TD High level primitives for SMP parallelism.) | |
249 | ) | |
250 | $(TR | |
251 | $(TDNW $(MREF std,process)) | |
252 | $(TD Starting and manipulating processes.) | |
253 | ) | |
254 | $(TR | |
255 | $(TDNW $(MREF core,atomic)) | |
256 | $(TD Basic support for lock-free concurrent programming.) | |
257 | ) | |
258 | $(TR | |
259 | $(TDNW $(MREF core,sync,barrier)) | |
260 | $(TD Synchronize the progress of a group of threads.) | |
261 | ) | |
262 | $(TR | |
263 | $(TDNW $(MREF core,sync,condition)) | |
264 | $(TD Synchronized condition checking.) | |
265 | ) | |
266 | $(TR | |
267 | $(TDNW $(MREF core,sync,exception)) | |
268 | $(TD Base class for synchronization exceptions.) | |
269 | ) | |
270 | $(TR | |
271 | $(TDNW $(MREF core,sync,mutex)) | |
272 | $(TD Mutex for mutually exclusive access.) | |
273 | ) | |
274 | $(TR | |
275 | $(TDNW $(MREF core,sync,rwmutex)) | |
276 | $(TD Shared read access and mutually exclusive write access.) | |
277 | ) | |
278 | $(TR | |
279 | $(TDNW $(MREF core,sync,semaphore)) | |
280 | $(TD General use synchronization semaphore.) | |
281 | ) | |
282 | $(TR | |
283 | $(TDNW $(MREF core,thread)) | |
284 | $(TD Thread creation and management.) | |
285 | ) | |
286 | $(LEADINGROW Networking) | |
287 | $(TR | |
288 | $(TDNW $(MREF std,socket)) | |
289 | $(TD Socket primitives.) | |
290 | ) | |
291 | $(TR | |
292 | $(TDNW $(MREF std,net,curl)) | |
293 | $(TD Networking client functionality as provided by libcurl.) | |
294 | ) | |
295 | $(TR | |
296 | $(TDNW $(MREF std,net,isemail)) | |
297 | $(TD Validates an email address according to RFCs 5321, 5322 and others.) | |
298 | ) | |
299 | $(TR | |
300 | $(TDNW $(MREF std,uri)) | |
301 | $(TD Encode and decode Uniform Resource Identifiers (URIs).) | |
302 | ) | |
303 | $(TR | |
304 | $(TDNW $(MREF std,uuid)) | |
305 | $(TD Universally-unique identifiers for resources in distributed | |
306 | systems.) | |
307 | ) | |
308 | $(LEADINGROW Numeric) | |
309 | $(TR | |
310 | $(TDNW $(MREF std,bigint)) | |
311 | $(TD An arbitrary-precision integer type.) | |
312 | ) | |
313 | $(TR | |
314 | $(TDNW $(MREF std,complex)) | |
315 | $(TD A complex number type.) | |
316 | ) | |
317 | $(TR | |
318 | $(TDNW $(MREF std,math)) | |
319 | $(TD Elementary mathematical functions (powers, roots, trigonometry).) | |
320 | ) | |
321 | $(TR | |
322 | $(TDNW $(MREF std,mathspecial)) | |
323 | $(TD Families of transcendental functions.) | |
324 | ) | |
325 | $(TR | |
326 | $(TDNW $(MREF std,numeric)) | |
327 | $(TD Floating point numerics functions.) | |
328 | ) | |
329 | $(TR | |
330 | $(TDNW $(MREF std,random)) | |
331 | $(TD Pseudo-random number generators.) | |
332 | ) | |
333 | $(TR | |
334 | $(TDNW $(MREF core,checkedint)) | |
335 | $(TD Range-checking integral arithmetic primitives.) | |
336 | ) | |
337 | $(TR | |
338 | $(TDNW $(MREF core,math)) | |
339 | $(TD Built-in mathematical intrinsics.) | |
340 | ) | |
341 | $(LEADINGROW Paradigms) | |
342 | $(TR | |
343 | $(TDNW $(MREF std,functional)) | |
344 | $(TD Functions that manipulate other functions.) | |
345 | ) | |
346 | $(TR | |
347 | $(TDNW $(MREF std,algorithm)) | |
348 | $(TD Generic algorithms for processing sequences.) | |
349 | ) | |
350 | $(TR | |
351 | $(TDNW $(MREF std,signals)) | |
352 | $(TD Signal-and-slots framework for event-driven programming.) | |
353 | ) | |
354 | $(LEADINGROW Runtime utilities) | |
355 | $(TR | |
356 | $(TDNW $(MREF1 object)) | |
357 | $(TD Core language definitions. Automatically imported.) | |
358 | ) | |
359 | $(TR | |
360 | $(TDNW $(MREF std,getopt)) | |
361 | $(TD Parsing of command-line arguments.) | |
362 | ) | |
363 | $(TR | |
364 | $(TDNW $(MREF std,compiler)) | |
365 | $(TD Host compiler vendor string and language version.) | |
366 | ) | |
367 | $(TR | |
368 | $(TDNW $(MREF std,system)) | |
369 | $(TD Runtime environment, such as OS type and endianness.) | |
370 | ) | |
371 | $(TR | |
372 | $(TDNW $(MREF core,cpuid)) | |
373 | $(TD Capabilities of the CPU the program is running on.) | |
374 | ) | |
375 | $(TR | |
376 | $(TDNW $(MREF core,memory)) | |
377 | $(TD Control the built-in garbage collector.) | |
378 | ) | |
379 | $(TR | |
380 | $(TDNW $(MREF core,runtime)) | |
381 | $(TD Control and configure the D runtime.) | |
382 | ) | |
383 | $(LEADINGROW String manipulation) | |
384 | $(TR | |
385 | $(TDNW $(MREF std,string)) | |
386 | $(TD Algorithms that work specifically with strings.) | |
387 | ) | |
388 | $(TR | |
389 | $(TDNW $(MREF std,array)) | |
390 | $(TD Manipulate builtin arrays.) | |
391 | ) | |
392 | $(TR | |
393 | $(TDNW $(MREF std,algorithm)) | |
394 | $(TD Generic algorithms for processing sequences.) | |
395 | ) | |
396 | $(TR | |
397 | $(TDNW $(MREF std,uni)) | |
398 | $(TD Fundamental Unicode algorithms and data structures.) | |
399 | ) | |
400 | $(TR | |
401 | $(TDNW $(MREF std,utf)) | |
402 | $(TD Encode and decode UTF-8, UTF-16 and UTF-32 strings.) | |
403 | ) | |
404 | $(TR | |
405 | $(TDNW $(MREF std,format)) | |
406 | $(TD Format data into strings.) | |
407 | ) | |
408 | $(TR | |
409 | $(TDNW $(MREF std,path)) | |
410 | $(TD Manipulate strings that represent filesystem paths.) | |
411 | ) | |
412 | $(TR | |
413 | $(TDNW $(MREF std,regex)) | |
414 | $(TD Regular expressions.) | |
415 | ) | |
416 | $(TR | |
417 | $(TDNW $(MREF std,ascii)) | |
418 | $(TD Routines specific to the ASCII subset of Unicode.) | |
419 | ) | |
420 | $(TR | |
421 | $(TDNW $(MREF std,encoding)) | |
422 | $(TD Handle and transcode between various text encodings.) | |
423 | ) | |
424 | $(TR | |
425 | $(TDNW $(MREF std,windows,charset)) | |
426 | $(TD Windows specific character set support.) | |
427 | ) | |
428 | $(TR | |
429 | $(TDNW $(MREF std,outbuffer)) | |
430 | $(TD Serialize data to $(CODE ubyte) arrays.) | |
431 | ) | |
432 | $(LEADINGROW Type manipulations) | |
433 | $(TR | |
434 | $(TDNW $(MREF std,conv)) | |
435 | $(TD Convert types from one type to another.) | |
436 | ) | |
437 | $(TR | |
438 | $(TDNW $(MREF std,typecons)) | |
439 | $(TD Type constructors for scoped variables, ref counted types, etc.) | |
440 | ) | |
441 | $(TR | |
442 | $(TDNW $(MREF std,bitmanip)) | |
443 | $(TD High level bit level manipulation, bit arrays, bit fields.) | |
444 | ) | |
445 | $(TR | |
446 | $(TDNW $(MREF std,variant)) | |
5fee5ec3 | 447 | $(TD Dynamically-typed variable that can hold a value of any type.) |
b4c522fa IB |
448 | ) |
449 | $(TR | |
450 | $(TDNW $(MREF core,bitop)) | |
451 | $(TD Low level bit manipulation.) | |
452 | ) | |
5fee5ec3 IB |
453 | $(TR |
454 | $(TDNW $(MREF std,sumtype)) | |
455 | $(TD Type-safe discriminated union.) | |
456 | ) | |
b4c522fa IB |
457 | $(LEADINGROW Vector programming) |
458 | $(TR | |
459 | $(TDNW $(MREF core,simd)) | |
460 | $(TD SIMD intrinsics) | |
461 | ) | |
462 | ||
463 | $(COMMENT | |
464 | $(LEADINGROW Undocumented modules (intentionally omitted).) | |
465 | $(TR | |
466 | $(TDNW | |
467 | $(MREF core,sync,config)$(BR) | |
468 | $(MREF std,container,util)$(BR) | |
469 | $(MREF std,regex,internal,backtracking)$(BR) | |
470 | $(MREF std,regex,internal,generator)$(BR) | |
471 | $(MREF std,regex,internal,ir)$(BR) | |
472 | $(MREF std,regex,internal,kickstart)$(BR) | |
473 | $(MREF std,regex,internal,parser)$(BR) | |
474 | $(MREF std,regex,internal,tests)$(BR) | |
475 | $(MREF std,regex,internal,thompson)$(BR) | |
476 | ) | |
477 | $(TD | |
478 | Internal modules. | |
479 | ) | |
480 | ) | |
481 | $(TR | |
482 | $(TDNW | |
483 | $(MREF core,vararg)$(BR) | |
484 | $(MREF std,c,fenv)$(BR) | |
485 | $(MREF std,c,linux,linux)$(BR) | |
486 | $(MREF std,c,linux,socket)$(BR) | |
487 | $(MREF std,c,locale)$(BR) | |
488 | $(MREF std,c,math)$(BR) | |
489 | $(MREF std,c,process)$(BR) | |
490 | $(MREF std,c,stdarg)$(BR) | |
491 | $(MREF std,c,stddef)$(BR) | |
492 | $(MREF std,c,stdio)$(BR) | |
493 | $(MREF std,c,stdlib)$(BR) | |
494 | $(MREF std,c,string)$(BR) | |
495 | $(MREF std,c,time)$(BR) | |
496 | $(MREF std,c,wcharh)$(BR) | |
497 | $(MREF std,stdint)$(BR) | |
498 | ) | |
499 | $(TDN | |
500 | Redirect modules. | |
501 | ) | |
502 | ) | |
503 | $(TR | |
504 | $(TDNW | |
505 | $(MREF std,mmfile)$(BR) | |
506 | $(MREF std,typetuple)$(BR) | |
507 | ) | |
508 | $(TD | |
509 | Deprecated modules. | |
510 | ) | |
511 | ) | |
512 | $(TR | |
513 | $(TDNW | |
514 | $(MREF std,experimental,logger)$(BR) | |
515 | $(MREF std,experimental,logger,core)$(BR) | |
516 | $(MREF std,experimental,logger,filelogger)$(BR) | |
517 | $(MREF std,experimental,logger,multilogger)$(BR) | |
518 | $(MREF std,experimental,logger,nulllogger)$(BR) | |
519 | ) | |
520 | $(TD | |
521 | Experimental modules. | |
522 | ) | |
523 | ) | |
524 | ) | |
525 | ) | |
526 | ||
527 | Macros: | |
528 | TITLE=Phobos Runtime Library | |
529 | DDOC_BLANKLINE= | |
530 | _= |