Commit graph

48 commits

Author SHA1 Message Date
jmdavis
2735d30f4e Remove all uses of std.metastrings.Format. 2013-02-24 18:42:46 -08:00
k-hara
2897ca8807 fix Issue 9062 - AddrExp should distinguish the existence of property resolution 2012-11-23 14:25:24 +09:00
k-hara
3ae3fe6d38 fix Issue 5358 - std.functional.binaryReverseArgs missing from documentation 2012-04-21 15:49:48 +09:00
k-hara
e2c892fdbf fix Issue 7878 - A problem with purity and general templated algorithms 2012-04-21 15:48:30 +09:00
k-hara
b7e47383db More use of eponymous template trick 2012-01-29 20:39:55 +09:00
k-hara
af9ea3465c Move implementation templates into template local scope 2012-01-29 20:37:48 +09:00
shoo
46ea5d6b36 Allow convert @safe function into delegate by toDelegate 2012-01-24 22:33:28 +09:00
k-hara
78a2d8abdc Reduce module dependencies. 2011-09-29 07:09:16 +09:00
dawg
2415243b0c ctfe doesn't seem to have function pointers yet
- added reference to another dmd bug
2011-09-04 00:18:15 +02:00
dawg
10df09a290 allow to curry nary functions
- previously one could only curry binary functions
 - especially allow to bind unary function parameters
2011-09-04 00:10:08 +02:00
dawg
93a07bb067 the template constraint can't access the calling frame
- thus the alias arg can't be used
 - moved the check into curry and provided
   an error message if it fails
 - fixes most of the failing template curry tests
2011-09-04 00:10:08 +02:00
dawg
fce7b7602b add more unittests for std.functional.curry
- deactivated failing specs for now
2011-09-04 00:10:08 +02:00
jmdavis
25b755a843 Reverted isAsciiWhite to isWhite. 2011-06-22 19:20:15 -07:00
jmdavis
2d310e5e20 Changed the names of some of the std.ascii functions.
isWhite, isLower, isUpper, toLower, and toUpper now have Ascii in their
name, which matches what std.unit does with its versions of those
functions. Hopefully, it should also reduce bugs due to using the wrong
function between the ASCII and unicode versions by making the difference
more obvious.
2011-06-19 18:41:00 -07:00
jmdavis
76e1cfd2e9 Replaced calls to std.ctype.isspace with std.ctype.isWhite.
In a few places, I replaced it with std.uni.isUniWhite, but for the most
part, I replaced it with std.ctype.isWhite.
2011-06-12 16:59:50 -07:00
dsimcha
1578be026e Bug 5474: unaryFun byRef is borked for custom parameter name 2011-04-12 20:26:55 -04:00
Andrei Alexandrescu
1083bd4e7b One pass through std.range and friends
* Made emplace faster and replaced calls to it to also make them faster.

* Replaced phobos.d in posix.mak with index.d.

* Added version=StdDdoc to documentation build in posix.mak, and replaced uses of D_Ddoc with it.

* Improved documentation target in posix.mak (target dir automatically created).

* Added nice documentation table and cheat sheet at the top of std.algorithm.

* Replaced a few helper structs in std.range and std.algorithm with local structs, which simplify matters a fair amount.

* Added more constraints to functions in std.algorithm (still work in progress).

* Improved error message in std.algorithm.sort in case of failure to sort.

* std.random.dice(1, 10) now works (no need for array notation std.random.dice([1, 10])).

* Fixed documentation bugs and insufficiencies in std.range (still more to do).

* Improved speed of walkLength.

* Simplified retro.

* Simplified and optimized stride. Also folded stride(stride(r, a), b) into stride(r, a * b).

* Added roundRobin to std.range, which as a perk simplified radial.

* Added takeOne and takeNone to std.range.

* Added unsigned to std.traits.
2011-02-27 12:38:49 -06:00
Walter Bright
046e1b36db add source links 2011-02-06 15:46:50 -08:00
Andrei Alexandrescu
cf8815f542 Fix for issue 4994 2011-01-22 22:20:54 +00:00
Andrei Alexandrescu
272ceaa9a6 Improvements to replicate(); documented splitter() for strings; renamed replace() in place to replaceInPlace(); removed replace() that takes void* in the last position; moved replace() from string to array and generalized it; attached constraint to functional.not; more cleanup of std.string; improved std.algorithm.util and count to accept ranges; improved constraint in std.algorithm.remove 2011-01-21 08:39:39 +00:00
Andrei Alexandrescu
dcb32224bd unittest for http://d.puremagic.com/issues/show_bug.cgi?id=3531 2011-01-09 07:29:31 +00:00
Andrei Alexandrescu
074bfd394f Added link to memoize documentation 2011-01-04 03:52:04 +00:00
Andrei Alexandrescu
198cd5f49f Added memoize 2011-01-04 03:46:01 +00:00
Don Clugston
84477a5d3e Move Boost copyright declaration from ddoc to normal comment. Fixes ugly ddoc output. 2010-11-24 19:34:47 +00:00
Shin Fujishiro
3c048ac456 Migration of tup.field[k] to tup[k].
Replaced ad-hoc 'is tuple?' checks with isTuple template.

The "this._cache" change in std.range is just a workaround for bug 5046.
2010-10-13 05:39:53 +00:00
Andrei Alexandrescu
075e438b74 Fix for bugzilla 2424 2010-09-26 18:32:50 +00:00
Walter Bright
b8ce58ccd1 detab sources 2010-08-23 02:14:45 +00:00
Andrei Alexandrescu
df8cce7707 Improved adjoin() 2010-07-28 07:57:24 +00:00
Andrei Alexandrescu
432e3fdfc8 Replaced std.contracts with std.exception throughout 2010-07-04 22:09:03 +00:00
David Simcha
eee2ea59bd Bug 3436: std.functional.compose with only one function 2010-06-18 01:21:17 +00:00
Shin Fujishiro
1b18d516cc Added code for bugzilla 3909: toDelegate handles only a tiny subset of function pointer types.
The bug is not completely fixed.  toDelegate() still does not work well with @safe function pointers... because toDelegate() is unsafe.  And variadic arguments are ignored.
2010-05-26 14:22:06 +00:00
Shin Fujishiro
c3b4fb6a50 Removed ref return attribute from toDelegate().
It's indeed reasonable to make the parameter auto ref because fp can be a structure with opCall since r1528. But ref return is not necessary for toDelegate() itself.
2010-05-26 05:59:40 +00:00
SHOO
603255f323 toDelegate now accepts callable(function pointers, delegates and objects implement opCall) 2010-05-20 09:33:12 +00:00
David Simcha
70512d50d5 Added toDelegate. 2010-02-19 03:14:19 +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
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
02d2052a79 Fixed BUGZILLA 3081: unaryFun can't be used to get element out of struct 2009-07-04 06:58:29 +00:00
Andrei Alexandrescu
7508b06d3d changed curry to distinguish between delegates/functions and regular symbols 2009-05-03 23:17:54 +00:00
Andrei Alexandrescu
fa602383a2 fix for unlisted bug in curry 2009-05-03 21:04:37 +00:00
Andrei Alexandrescu
abd1f93a75 added curry 2009-04-11 20:38:58 +00:00
Andrei Alexandrescu
7325018c47 Added support for parameterless delegates 2009-04-06 04:40:21 +00:00
Andrei Alexandrescu
77b9e1a936 minor improvements 2009-01-23 16:24:14 +00:00
Andrei Alexandrescu
316654e3ed $(LI Changed $(B std.functional.binaryFun) to work with strings and function aliases alike) 2008-07-08 03:20:13 +00:00
Walter Bright
5cfb0c353c some AA allocation improvements 2008-06-16 21:47:37 +00:00
Andrei Alexandrescu
312ba56338 Improved compose so it accepts an unbounded number of functions. Added the pipe function. 2008-05-16 21:09:53 +00:00
Andrei Alexandrescu
7ee9e3ec87 * Fixed binaryfun to work with constant-size arrays.
* Added compose
2008-03-06 20:14:17 +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
09916d399a Initial merge of candidate to trunk for r459:513 2007-11-27 20:28:40 +00:00