Commit Graph

269 Commits

Author SHA1 Message Date
Eugen Wissner e6b91f70cb Add style checking
A lot of tests are disabled. They should be enabled successively.
2017-07-14 00:05:13 +02:00
Eugen Wissner 657f4a60d5 Fix #246
Make allocators pure.
* Methods allocating/deallocating memory are pure.
* Allocator.instance is pure (once initialized, it always returns
  the same instance).
* defaultAllocator getter property is pure (should be set at the
  beginning, and always return the same instance after that).
2017-07-13 16:01:21 +02:00
Eugen Wissner 839c740cb1 Fix mmap flags on linux 2017-07-12 10:04:48 +02:00
Eugen Wissner 2bd612fd19 Make MmapPool allocations pure 2017-07-12 09:30:07 +02:00
Eugen Wissner fc53779d3f Fix #245
* Remove postcondition for functions calculating alignment
* Put MmapPool invariant into version (none) block
* Check that alignment doesn't overflow
2017-07-11 10:27:24 +02:00
Eugen Wissner 7bdc778390 Fix inserting 3 byte wchar into String
* Fix inserting 3 byte wchar into String
* Improve documentation
2017-07-09 15:16:06 +02:00
Eugen Wissner 97358ebc6c Ignore tanya-test-library.core (FreeBSD) 2017-07-08 15:54:47 +02:00
Eugen Wissner 4834b36271 Finish DList implementation. Fixes #209
* removeBack
* insertAfter
* Diverse fixes of insertion logic
* Internal moveFront and moveBack functions
* Internal makeList function
2017-07-08 15:51:17 +02:00
Eugen Wissner 53df12897b Add missing methods to DList. Issue #209 2017-07-08 13:44:57 +02:00
Eugen Wissner 4ac890d7d3 Fix #260
DList invariant fails.
2017-07-08 05:41:04 +02:00
Eugen Wissner b79657f0d2 Fix 232 2017-07-06 08:35:16 +02:00
Eugen Wissner 9429e7bb14 Refer to net instead of network package in README 2017-07-05 23:11:54 +02:00
Eugen Wissner 4fd37e84f8 Fix #232 for Array
Because const is transitive, if we create a range as Range!(const E)
there is no way to get the original type from inside of the range. So if
E is int*, the original type of const(E) could be const(int)* or int*.
Unqual!(const(int*)) returns const(int)*. So pass the whole container as
template parameter. It is a breaking change but since we have Range and
ConstRange aliases now, the usage should be fine.
2017-07-04 07:24:29 +02:00
Eugen Wissner e46e45ad5a Remove previously deprecated modules
* tanya.network.uri
* tanya.network.inet
* tanya.memory.types
2017-06-30 04:19:20 +02:00
Eugen Wissner e79c75df81 Fix typo in README, add CONTRIBUTING.md link 2017-06-29 11:06:40 +02:00
Eugen Wissner a6dfb3a19e Fix DList.opAssign not changing tail 2017-06-28 08:12:58 +02:00
Eugen Wissner 2af0db04bd Move network.url to net.uri 2017-06-27 13:23:17 +02:00
Eugen Wissner 2c9867c577 Fix generating async docs for different OS 2017-06-25 09:46:02 +02:00
Eugen Wissner 47b394d8c3 Add module documentation. Fix #248 2017-06-24 09:08:19 +02:00
Eugen Wissner ede0107fd7 Fix #247
Assigning RefCounted to RefCounted fails at compile time.

https://issues.caraus.io/issues/247
2017-06-24 02:28:17 +02:00
Eugen Wissner 7d5dda1cba Add Unique.isInitialized and Unique.release 2017-06-24 00:51:16 +02:00
Eugen Wissner e5f83c22fa Add support for enums to format.conv.to. Fix #240 2017-06-23 02:58:46 +02:00
Eugen Wissner a4de1cc754 toStringz returns a pointer 2017-06-22 11:48:58 +02:00
Eugen Wissner 8d3cdb8862 Add "Basic usage" section. Fix #238 2017-06-22 02:56:18 +02:00
Eugen Wissner ba1bd35d4a Finish CONTRIBUTING.md 2017-06-21 15:05:39 +02:00
Eugen Wissner dfacabd88b format.conv.to: Convert to/from boolean 2017-06-20 07:07:58 +02:00
Eugen Wissner aa306d9050 Add contributing information
Only the section with ways to get involved.
2017-06-19 09:13:02 +02:00
Eugen Wissner 10019d7df9 Add No Code of Conduct 2017-06-19 06:11:32 +02:00
Eugen Wissner ae36296ca6 Add tanya.format.conv.to
Function that converts between different types.
This first commit adds only conversion between integral types.
2017-06-18 18:05:50 +02:00
Eugen Wissner 56406fb593 Mark Entropy class as nogc, add linux 64bit unittest 2017-06-17 08:58:44 +02:00
Eugen Wissner ec9b2db4b9 Add os package# 2017-06-16 21:41:23 +02:00
Eugen Wissner f5d0c2af8f Revert "Add unittest for Linux random generator"
Doesn't work on 32-bit.
This reverts commit c62dc4063e.
2017-06-15 11:21:56 +02:00
Eugen Wissner c62dc4063e Add unittest for Linux random generator 2017-06-15 11:19:50 +02:00
Eugen Wissner 3789853d98 Fix one Mallocator test
Test that if the reallocation fails, the pointer doesn't change.
2017-06-15 10:37:50 +02:00
Eugen Wissner f0d016bcde Replace in and immutable with const in allocators 2017-06-15 10:27:12 +02:00
Eugen Wissner 70e96c62b3 Make Unique.get and RefCounted.get return inout
Also revert the renaming of Scoped to Unique. And rename the whole
module to memory.smartref.
2017-06-14 22:11:57 +02:00
Eugen Wissner b723d763c8 Test x86-64 on Windows 2017-06-13 12:17:14 +02:00
Eugen Wissner 508297f36f Generate coverage for x86 aswell 2017-06-13 10:45:15 +02:00
Eugen Wissner 4b0134713c Move new network modules into tanya.net package
tanya.net will combine tanya.async and tanya.network and provide one API
for blocking and non-blocking socket programming.
2017-06-13 10:42:35 +02:00
Eugen Wissner 5b90286b70 Add x86 to tests 2017-06-12 19:02:47 +02:00
Eugen Wissner 8443f1b385 Make test functions nogc 2017-06-11 09:45:33 +02:00
Eugen Wissner c9050c1a8e Rename Scoped to Unique. Improve unit tests
Renaming to avoid confusing with Phobos Scoped.
2017-06-11 09:41:18 +02:00
Eugen Wissner bdf87570e2 Add basic unit tests for the event loop 2017-06-11 09:15:10 +02:00
Eugen Wissner faa44b6704 Remove deprecated tanya.container.vector 2017-06-09 19:27:54 +02:00
Eugen Wissner 278e851414 Rename String.toString to String.get()
Last changed it only by the Range and forgotten about the string itself.
2017-06-08 07:59:16 +02:00
Eugen Wissner 6f549df243 Update README description 2017-06-07 08:04:50 +02:00
Eugen Wissner 4633bcc680 Set: Fix comparing with removed elements 2017-06-07 07:57:22 +02:00
Eugen Wissner dc39efd316 Add some unit tests for InternetAddress 2017-06-03 15:18:53 +02:00
Eugen Wissner 260937e4fb Put socket overlapped I/O docs into a D_Ddoc block 2017-06-03 13:20:32 +02:00
Eugen Wissner e17fff2881 Update 2.074 compiler 2017-06-02 22:01:13 +02:00