593 Commits

Author SHA1 Message Date
belka 241767df13 Move DefaultAllocator mixin to tanya.memory
Since it depends on defaultAllocator property defined in the module.
2017-02-03 13:07:40 +01:00
belka b2baba9237 SList: Add length and opEquals 2017-01-25 19:41:05 +01:00
belka 3e36ec0984 Add support for dmd 2.070.2 2017-01-25 07:24:19 +01:00
belka a48d9cb739 Add range support for SList 2017-01-24 08:20:07 +01:00
belka a7206cbd02 Fix #4 2017-01-22 10:48:34 +01:00
belka 1450a6adfe Vector.insertBack: Accept by value and by ref 2017-01-20 05:40:28 +01:00
belka 5fa9bd7b49 Rename Allocator.expand to reallocateInPlace
Rename and extend Allocator.expand to reallocateInPlace. The problem is
that realloc for example doesn't guarante that the shrinking of the
memory block won't cause address change. So not only expanding should
have "in place" version, but the shrinking as well.
2017-01-18 09:33:39 +01:00
belka c7eb233fc7 Make passed length parameter const 2017-01-16 10:56:45 +01:00
belka 20c8b659d1 Remove mutation methods from vector range
in favor of std.algorithm.mutation.
2017-01-16 09:02:00 +01:00
belka 4ea9c2b740 Vector: Reuse available methods 2017-01-15 08:38:19 +01:00
belka 48205b2fc9 MmapPool: Add invariant
Add invariant to ensure blocks are linked correctly since this error
appeared several times.
2017-01-14 21:48:21 +01:00
belka f5fe7bec4a Queue optimization. Fix #5 2017-01-14 21:27:07 +01:00
belka c567b88d5d MmapPool: Fix expand block moving.
D dereferences the pointer wrong because of missing difference between .
and -> operators, if trying to write a block over another
block. So use memmove first to move the memory and then update the fields
that should be changed (only size).
2017-01-14 20:39:33 +01:00
belka fe884541fc Rename Vector.data to Vector.get 2017-01-13 15:23:42 +01:00
belka 8973bdb2af Fix if EPOLLIN and EPOLLOUT come together 2017-01-13 10:20:11 +01:00
belka 4c4e65b373 MmapPool: (p[] is null) != (p[].ptr is null) 2017-01-12 19:47:07 +01:00
belka 7bed7f039f Remove default parameter value from Protocol.disconnected 2017-01-12 18:07:39 +01:00
belka 8ddea0aa46 Loop.maxEvents is const, not inout const 2017-01-12 10:43:02 +01:00
belka cb6cc65113 async: Switch to the internal use of the vector instead of built-in arrays 2017-01-12 10:17:12 +01:00
belka 4de42ca227 Use only one queue for the async events 2017-01-12 09:09:33 +01:00
belka ab930657b6 Queue: Leave only enqueue/dequeue/empty/opApply 2017-01-11 18:24:50 +01:00
belka 291920b479 Vector constructors for initializing from a vector 2017-01-10 06:34:53 +01:00
belka 999c9bdb0f Vector: remove core.stdc.string import 2017-01-09 19:52:39 +01:00
belka 405b6d9f9f Accept only ranges for slicing assignment 2017-01-09 19:32:51 +01:00
belka 87b74b2542 Fix reallocating the vector 2017-01-09 17:03:09 +01:00
belka d6514cb515 Fix Ddoc 2017-01-07 17:53:57 +01:00
belka fb843e3473 Fix #3 2017-01-07 09:30:42 +01:00
belka f3d48234c0 MmapPool: add expand and empty methods. 2017-01-06 23:12:19 +01:00
belka 254b881da6 Fix block size calculation 2017-01-06 11:56:54 +01:00
belka 8e0b742748 MmapPool: Merge blocks on deallocation if possible 2017-01-05 14:25:54 +01:00
belka a35e04c049 Don't throw in the allocator, return null 2017-01-05 07:42:23 +01:00
belka 4271c8583e Remove static constructor from the MmapPool 2017-01-05 07:35:29 +01:00
belka e27d0fe58c Fix Vector.remove not destroying from the end copied elements 2017-01-04 20:37:55 +01:00
belka 67952dabdb Implement Vector.remove 2017-01-03 13:21:19 +01:00
belka b8d5d4c2bd Fix template condition for Vector.insertBack 2017-01-03 10:03:28 +01:00
belka b6413823cd Add opEquals for all combinations of vector ranges 2017-01-02 17:33:01 +01:00
belka 48e355b87f Vector: allow insert multiple items in insertBack 2017-01-02 12:47:41 +01:00
belka b3f4ea572e Vector: Use opEquals if defined to compare items 2017-01-02 06:59:05 +01:00
belka c73e704421 Fix constness of Vector range, optimizing 2017-01-01 02:51:49 +01:00
belka 0561e96f21 Fix build with 2.071.2 2016-12-28 07:57:36 +01:00
belka 86d87430da Fix socket build on Windows 2016-12-25 12:54:04 +01:00
belka 0156c5a883 Don't allocate watcher queue on the heap 2016-12-25 00:54:05 +01:00
belka c966b42ac3 Fix FreeBSD build 2016-12-24 22:25:34 +01:00
belka 200fff3714 Fix #1 2016-12-22 22:05:48 +01:00
belka 28755b4d01 Rename module traits into enums 2016-12-22 22:05:06 +01:00
belka 8bd6a14988 Fix issue going out of the range with back() 2016-12-22 22:01:45 +01:00
belka b41dcc9f37 Fix compatibility issue with dmd 2.071 2016-12-22 22:01:11 +01:00
belka 38addb7a5b Add support for pow for big integers 2016-12-22 21:51:16 +01:00
belka f7fb89fed0 Move random.d into math submodule 2016-12-22 21:50:33 +01:00
belka e32af2d09e Add scalar type template parameter for buffers 2016-12-19 21:24:28 +01:00