Commit graph

752 commits

Author SHA1 Message Date
Walter Bright
e790058bf4 invariant => immutable 2010-05-05 18:25:44 +00:00
Andrei Alexandrescu
3c1d3b8943 Added client-side octal literal 2010-03-26 14:05:49 +00:00
Walter Bright
77693962d7 need cast to initialize immutable types 2010-03-02 06:46:39 +00:00
Andrei Alexandrescu
2a9a6e336c string, wstring are now bidirectional (not random) ranges
std.algorithm: defined move with one argument; levenshtein distance generalized to with all forward ranges; take now has swapped arguments
std.array: empty for arrays is now a @property; front and back for a string and wstring automatically decodes the first/last character; popFront, popBack for string and wstring obey the UTF stride
std.conv: changed the default array formatting from "[a, b, c]" to "a b c"
std.range: swapped order of arguments in take
std.stdio: added readln template
std.variant: now works with statically-sized arrays and const data
std.traits: added isNarrowString
2010-02-22 15:52:31 +00:00
Walter Bright
1afffb7a96 update use of allMembers 2010-02-10 09:33:46 +00:00
Don Clugston
75f4f5e0d8 Fix 2066 to!(string)(int) into CTFE-compatible 2010-01-18 08:57:28 +00:00
Walter Bright
9ab2214df8 wrong module prefix 2009-12-02 08:19:05 +00:00
Don Clugston
1eea3f3895 Removed all references to float.min, replaced with float.min_normal. 2009-11-06 16:02:45 +00:00
Don Clugston
0ecae3a354 Change [length] to [$] throughout Phobos. 2009-11-03 07:55:49 +00:00
Andrei Alexandrescu
9a0b778725 bugzilla 3352 2009-10-05 18:50:09 +00:00
Andrei Alexandrescu
9957da2e77 improved performance of integral-to-string conversion 2009-10-03 21:26:32 +00:00
Sean Kelly
747f3cf1e4 Changed Phobos to use the Boost license. Currently, all public domain modules and all licensed modules by Walter, Andrei, Bartosz, and Don have been changed to use this license (excepting std.c, for the moment). Ideally, all Phobos modules will eventually be distributed under this license, which means obtaining permission from a few more authors, deleting, or rewriting some modules.
Removed std.openrj.
2009-09-16 18:19:51 +00:00
Andrei Alexandrescu
06c3c8adb8 fix for bug 3288 2009-09-04 17:41:58 +00:00
Andrei Alexandrescu
0c142994d9 See changelog - bunch of bug fixes and a couple additions for release 2.032 2009-08-31 19:46:33 +00:00
Andrei Alexandrescu
5ba2e8d6de added Shin Fujishiro's code for printing and parsing enumerated values. 2009-07-04 06:52:55 +00:00
Andrei Alexandrescu
2783bdfd54 Fixed bug 2914 2009-04-30 03:00:56 +00:00
Andrei Alexandrescu
ca2a767e65 * Rewrote conversions with constrained templates.
* Added text() function that transforms everything into text.
2009-04-06 17:14:34 +00:00
Don Clugston
5ae67f23ac * Disabled pure nothrow for double & float functions, because of bug 2756
* More extensive unittests for nextUp.
Trivial tidying up:
* Changed all references to std.math.isXXX to the new names instead of the aliased old names.
* Moved license to end of std.math.
2009-03-24 08:49:38 +00:00
Sean Kelly
c4a3aab657 The std.c modules now simply wrap the corresponding core.stdc modules to expose standard C declarations. std.c.os remains unchanged thus far, but will likely be altered as well. This unfortunately eliminates the auto doc generation for the std.c modules, since the modules are now largely empty. If the user wants to know what they contain, how the functions work, etc, I suggest for now simply referring to a C library spec--the core.stdc modules conform almost exactly to the C99 library definition. 2009-03-20 18:52:45 +00:00
Walter Bright
209a765a40 2.025 2009-02-14 20:18:44 +00:00
Walter Bright
295a1633b7 fails unit tests 2009-02-14 17:47:38 +00:00
Walter Bright
8c763e5848 more osx fixes 2009-02-13 03:41:56 +00:00
Andrei Alexandrescu
50bf1a9229 minor internal improvements 2009-01-23 15:29:15 +00:00
Andrei Alexandrescu
ef85a16a14 Changed to support structs that define toString 2008-08-17 03:45:53 +00:00
Andrei Alexandrescu
ad796a88a2 Made std.to curryable. Changed std.to to throw exception when object-to-object cast fails. Eliminated some superfluous printfs. 2008-05-16 21:06:23 +00:00
Andrei Alexandrescu
1ae5300f52 * std.algorithm: Changed the map() function so that it deduces the return type
* std.contracts: Added file and line information to enforce. Added errnoEnforce that reads and formats a message according to errno. Added corresponding ErrnoException class.

* std.encoding: For now commented out std.encoding.to. 

* std.file: Fixed bug 2065

* std.format: Fixed bug in raw write for arrays

* std.getopt: Added new option stopOnFirstNonOption. Also automatically expand dubious option groups with embedded in them (useful for shebang scripts)

* std.math: improved integral powers

* std.md5: Improved signature of sum so it takes multiple arrays. Added getDigestString.

* std.path: changed signatures of test functions from bool to int. Implemented rel2abs for Windows. Improved join so that it accepts multiple paths. Got rid of some gotos with the help of scope statements.

* std.process: added getenv and setenv. Improved system() so it returns the exit code correctly on Linux.

* std.random: added the dice function - a handy (possibly biased) dice.

* std.file: added support for opening large files (not yet tested)

* std.utf: added the codeLength function. Got rid of some gotos.
2008-05-06 05:08:52 +00:00
Andrei Alexandrescu
02c33de511 Used mostNegative instead of hand calculations. 2008-03-06 22:40:58 +00:00
Andrei Alexandrescu
04f4f1306c Fixed bug related to number-to-number conversion 2008-03-06 20:10:57 +00:00
Andrei Alexandrescu
29f3cc23f7 std.math: minor change in approxEqual.
std.contracts: added functions pointsTo()

std.numeric: minor unittest fixes.

std.bitmanip: fixed code bloat issue, reintroduced FloatRep and DoubleRep.

std.conv: minor simplification of implementation.

std.regexp: added reference to ECMA standard in the documentation.

std.getopt: changed return type from bool to void, error is signaled by use of exceptions.

std.functional: added unaryFun, binaryFun, adjoin.

std.string: updated documentation, changed code to compile with warnings enabled.

std.traits: changed FieldTypeTuple; added RepresentationTypeTuple, hasAliasing; fixed bug 1826; added call to flush() from within write; fixed unlisted bug in lines().

std.algorithm: added map, reduce, filter, inPlace, move, swap, overwriteAdjacent, find, findRange, findBoyerMoore, findAdjacent, findAmong, findAmongSorted, canFind, canFindAmong, canFindAmongSorted, count, equal, overlap, min, max, mismatch, EditOp, none, substitute, insert, remove, levenshteinDistance, levenshteinDistanceAndPath, copy, copyIf, iterSwap, swapRanges, reverse, rotate, SwapStrategy, Unstable, Semistable, Stable, eliminate, partition, nthElement, sort, schwartzSort, partialSort, isSorted, makeIndex, schwartzMakeIndex, lowerBound, upperBound, equalRange, canFindSorted.

std.thread: fixed so it compiles with warnings enabled.

std.file: made getSize() faster under Linux.

std.random: fixed so it compiles with warnings enabled; improved function uniform so it deduces type generated from its arguments.

std.format: added fixes to make formatting work with const data.

std.path: minor documentation changes.
2008-02-19 07:00:56 +00:00
Brad Roberts
9d10ec55c9 Fix part two to bug 1589 2007-12-10 00:57:47 +00:00
Brad Roberts
230a11e8df Remove a number of unreackable code warnings 2007-12-09 23:03:44 +00:00
Brad Roberts
09916d399a Initial merge of candidate to trunk for r459:513 2007-11-27 20:28:40 +00:00
Walter Bright
00e6ea61f7 add unittest for bugzilla 733 2007-10-31 09:48:36 +00:00
Andrei Alexandrescu
b1085b13f9 Added fix and test case for printing void[] arrays 2007-10-16 05:37:19 +00:00
Andrei Alexandrescu
16e03d7c54 Fix for write(void[]) 2007-10-16 04:15:17 +00:00
Andrei Alexandrescu
ad73ee84d5 Bunch o' bugfixes 2007-10-15 21:14:09 +00:00
Brad Roberts
26c6571ff5 merge r404:415 from candidate to trunk 2007-10-15 05:57:34 +00:00
Brad Roberts
b261c557f0 merge r397:404 from candidate to trunk
-- add static assert to writef[ln] to clean up the error message
  -- clean up null object reporting
2007-10-15 03:12:14 +00:00
Brad Roberts
a9bc53273c merge r387:397 from candidate to trunk
-- new module std.contracts
  -- migrate callers to it where appropriate
2007-10-14 23:04:19 +00:00
Brad Roberts
eec6be69ed Merge r297:387 from candidate to trunk.
-- add std.getopt
  -- add std.variant
  -- switch strings over to be invariant rather than const
  -- hopefully the last big linux makefile overhaul
  -- fix for bug 1579: write[ln] fails for obj.toString()
  -- fix negative precision handling in std.format
  -- add some file and directory iterator helpers
  -- among other little changes here and there...
2007-10-14 09:22:50 +00:00
Walter Bright
8074dada29 add credit 2007-10-05 07:27:47 +00:00
Brad Roberts
0bb659bfb2 Merge candidate branch r280:297 to trunk 2007-10-05 01:13:14 +00:00
Brad Roberts
de971890b0 phobos 2.000 2007-09-10 06:45:08 +00:00
Brad Roberts
612a051fd4 phobos 1.005 2007-09-10 06:00:54 +00:00
Brad Roberts
1a1d0c4cf3 phobos 1.00 2007-09-10 05:56:35 +00:00
Brad Roberts
7371485bf8 phobos 0.177 2007-09-10 05:36:45 +00:00
Brad Roberts
b76c21ccf9 phobos 0.161 2007-09-10 05:24:49 +00:00
Brad Roberts
164dc8159b phobos 0.153 2007-09-10 05:17:15 +00:00
Brad Roberts
110cfd9da7 phobos 0.148 2007-09-10 05:04:40 +00:00
Brad Roberts
d24439d387 phobos 0.122 2007-09-10 04:41:44 +00:00