monarch dodra
b3fa35ae73
Merge pull request #1566 from tom-tan/fix-array-rangeprimitives-for-array
...
Fix the range primitives for array in std.array
2013-09-14 13:48:18 -07:00
Tomoya Tanjo
ae9ffd7b48
Fix unittest for std.array.overlap
2013-09-14 12:42:20 +09:00
Tomoya Tanjo
1d711cae88
Fix the range primitives for array in std.array
2013-09-14 12:27:15 +09:00
Tomoya Tanjo
5939a04e8c
Fix unittest for std.array.assocArray
2013-09-14 11:30:22 +09:00
Tomoya Tanjo
e0f27b6d53
Change unittest block to version(unittest) block
2013-09-14 11:24:16 +09:00
monarch dodra
67e2f0055b
Merge pull request #1562 from tom-tan/fix-unittest-array-array
...
Fix a unittest for std.array.array
2013-09-11 08:35:55 -07:00
Tomoya Tanjo
d3319ae38d
Use documented unittest for std.array.uninitializedArray
2013-09-11 21:42:29 +09:00
Tomoya Tanjo
ba9052bf00
Fix a unittest for std.array.array
2013-09-11 21:19:48 +09:00
monarch dodra
01a2bdb02e
Merge pull request #1535 from blackwhale/fix-lambda
...
Sidestep issue 10928
2013-09-01 01:13:44 -07:00
monarch dodra
aa3b13ce49
Merge pull request #1328 from 9rnsr/fix10230
...
Issue 10230 - Duplicated buttons for runnable examples
2013-08-31 02:50:17 -07:00
monarchdodra
8a50b18c3c
tweak appender, add unittests for not-yet covered paths
2013-08-31 10:57:21 +02:00
Dmitry Olshansky
8d50d807be
sidestep issue 10928
2013-08-30 22:56:38 +04:00
monarchdodra
81bf0aa570
More unittest for appender
2013-08-30 10:53:51 +02:00
monarchdodra
819da05056
Fix appender form elaborate assign types
2013-08-28 15:12:22 +02:00
monarchdodra
5180850e25
New opAssign unittests in std.array.array
2013-08-28 11:38:12 +02:00
monarchdodra
cc669ef384
Move newCapacity outside of Appender
2013-08-11 19:26:38 +02:00
unknown
bf23d80a4b
Fix issue with Appender.reserver
2013-08-11 19:26:38 +02:00
monarch dodra
0b8302b68d
Improve Appender growth scheme.
2013-08-11 19:26:38 +02:00
monarch dodra
9103d642a7
Merge pull request #1425 from tom-tan/safe-array-array
...
Make std.array.array @safe if possible
2013-08-06 08:10:47 -07:00
Tomoya Tanjo
fc3414d18f
Fix for array.array
2013-08-04 12:16:19 +09:00
Tomoya Tanjo
f4002a5a63
Fix array.array
2013-08-03 22:21:37 +09:00
Tomoya Tanjo
9760ee864a
Fix unittests
2013-08-03 20:43:10 +09:00
Tomoya Tanjo
b059f51751
Update unittests
2013-08-03 20:16:46 +09:00
Tomoya Tanjo
f6b41a55eb
Fix array to make it surely safe for some cases
2013-08-03 20:03:01 +09:00
Tomoya Tanjo
1f016bbcc0
Some fixes according to the comments by @ monarchdodra
2013-07-23 23:37:14 +09:00
Tomoya Tanjo
c5218dd33b
Fix the arguments of sameTail and make sameHead and sameTail @safe
2013-07-22 21:48:35 +09:00
Tomoya Tanjo
4581999a3c
Make std.array.array @safe if possible
2013-07-20 17:17:19 +09:00
k-hara
87bd3315db
fix Issue 10230 - Duplicated buttons for runnable examples
2013-07-16 00:45:48 +09:00
k-hara
a4d71338f9
[appender] Mark pointer slicing @trusted (fix for issue 10359)
2013-06-20 11:13:52 +09:00
k-hara
9cdfd6899a
[appender] Determine @trusted operations
2013-06-20 10:54:37 +09:00
k-hara
99d22b80f6
[appender] Accepting qualified buffer is not safe behavior
...
To reduce existing code breaking, mark such construction as @system.
2013-06-20 10:54:35 +09:00
k-hara
41098e3f49
[appender] Reuse ensureAddable for reserve implementation
...
AFAICS, they have mostly same code.
2013-06-20 10:54:33 +09:00
k-hara
ed03c4af01
Fix trivial nitpicks
2013-06-20 10:54:20 +09:00
Denis Shelomovskij
51a5bad3e6
Improve Issue 10220 fix.
...
Improves pull #1329 .
Issue URL: http://d.puremagic.com/issues/show_bug.cgi?id=10220
2013-06-05 18:43:47 +04:00
k-hara
924232603a
fix Issue 10220 - array
doesn't work with disabled default construction
2013-06-02 02:32:53 +09:00
k-hara
e2d991b005
Move checkCTFEable to std.exception.assertCTFEable, and use it
2013-06-02 02:32:24 +09:00
Dylan Knutson
5294809f53
fix for calling .array() on ranges in CTFE
2013-05-25 23:46:51 -07:00
k-hara
fa3c481ba7
fix Issue 10122 - Appender
doesn't work with disabled default construction
2013-05-21 00:14:00 +09:00
k-hara
8083744164
[Trivial] fix code style
2013-05-20 22:40:44 +09:00
Ferdinand Majerech
b8d98efd2d
DDoc (minor): array.d: Appender.shrinkTo throws Exception
...
Specified that Exception gets thrown (the previous ddoc didn't make sense).
2013-04-20 15:22:56 +03:00
k-hara
53640bf046
fix Issue 9836 - std.array.popFront does not work with alias this.
...
empty, front, popFront, back, popBack should work with alias this type.
2013-04-05 22:33:05 +09:00
Vladimir Panteleev
0b1f86119a
std.array: Fix inefficient appending of const(char)[] (Issue 9725)
2013-03-15 04:40:14 +00:00
Andrej Mitrovic
92b7d19000
Fixes Issue 4287 - Implement concat-assign operator for Appender.
2013-02-07 18:49:53 +01:00
Andrej Mitrovic
10745625bc
Detab std.array.
2013-02-07 18:49:01 +01:00
Peter Alexander
9d8c78d180
Changed foreach to for to avoid copies + cleanup
2012-12-30 17:15:09 +00:00
Peter Alexander
d24519ee47
More improvements and optimisations to array.join
2012-12-28 17:29:43 +00:00
Peter Alexander
83cf1854db
Fix for non-array separators for non-string RoR.
2012-12-27 17:57:29 +00:00
Peter Alexander
221ea836fa
Convert sep to array for performance/generality.
2012-12-27 16:38:26 +00:00
Peter Alexander
b6c9ffed91
Fix for mismatched string types + added unittests.
2012-12-27 02:06:06 +00:00
Peter Alexander
ceda4e2880
std.array.join refactor.
...
tl;dr: std.array.join was quite complicated: 6 implementation functions, and a few hundred lines of code. Now it is just 2 functions, ~120 lines of code smaller, and within 10% performance of original (faster in some cases).
The original had 6 implementations: 3 joins with a separator, 3 without. For each, those 3 consisted of:
* A general slow version (uses `std.algorithm.joiner` with `appender`).
* A version for a range of arrays where you know the length (pre-allocates the destination array then uses array ops).
* A version for a range of arrays where you don't know the length (uses `appender`).
There's no need for the second version because you can just use appender and `.reserve` the size upfront. Appender already uses array ops when available in its `put` function.
There's also no need for the first function because using `joiner` is slower than just looping through the sub-ranges, appending them. The third function doesn't even use the fact that its operating on a range of arrays, so it can easily be merged with the first and second.
The end result is just one function for join with a separator, and one for a join without. They both use `appender`, and have a static branch that will `.reserve` the required size when the information is available.
2012-12-26 18:46:22 +00:00