summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2016-12-02 10:50:54 +0100
committerEugen Wissner <belka@caraus.de>2016-12-02 10:50:54 +0100
commit7c36dbb8f0055632d6846e827ec6ef899c711a76 (patch)
tree70a3991e006ebf5670beceb1c70d89c4dd8c7921
parentdd3becf6b712a4cd1fe335350b994d6e081b6f94 (diff)
downloadtanya-7c36dbb8f0055632d6846e827ec6ef899c711a76.tar.gz
Rename SList front property into insertFront
-rw-r--r--source/tanya/container/list.d123
-rw-r--r--source/tanya/container/vector.d8
2 files changed, 49 insertions, 82 deletions
diff --git a/source/tanya/container/list.d b/source/tanya/container/list.d
index 8f6370e..33aae96 100644
--- a/source/tanya/container/list.d
+++ b/source/tanya/container/list.d
@@ -55,10 +55,9 @@ class SList(T)
unittest
{
auto l = make!(SList!int)(theAllocator);
- int[2] values = [8, 5];
- l.front = values[0];
- l.front = values[1];
+ l.insertFront(8);
+ l.insertFront(5);
l.clear();
assert(l.empty);
@@ -84,7 +83,7 @@ class SList(T)
* Params:
* x = New element.
*/
- @property void front(T x)
+ void insertFront(T x)
{
Entry* temp = make!Entry(allocator);
@@ -93,47 +92,18 @@ class SList(T)
first.next = temp;
}
- ///
- unittest
- {
- auto l = make!(SList!int)(theAllocator);
- int[2] values = [8, 9];
-
- l.front = values[0];
- assert(l.front == values[0]);
- l.front = values[1];
- assert(l.front == values[1]);
-
- dispose(theAllocator, l);
- }
-
- /**
- * Inserts a new element at the beginning.
- *
- * Params:
- * x = New element.
- *
- * Returns: $(D_KEYWORD this).
- */
- typeof(this) opOpAssign(string Op)(ref T x)
- if (Op == "~")
- {
- front = x;
- return this;
- }
+ /// Ditto.
+ alias insert = insertFront;
///
unittest
{
auto l = make!(SList!int)(theAllocator);
- int value = 5;
-
- assert(l.empty);
- l ~= value;
-
- assert(l.front == value);
- assert(!l.empty);
+ l.insertFront(8);
+ assert(l.front == 8);
+ l.insertFront(9);
+ assert(l.front == 9);
dispose(theAllocator, l);
}
@@ -164,20 +134,19 @@ class SList(T)
dispose(allocator, first.next);
first.next = n;
- return content;
+ return content;
}
///
unittest
{
auto l = make!(SList!int)(theAllocator);
- int[2] values = [8, 9];
- l.front = values[0];
- l.front = values[1];
- assert(l.front == values[1]);
+ l.insertFront(8);
+ l.insertFront(9);
+ assert(l.front == 9);
l.popFront();
- assert(l.front == values[0]);
+ assert(l.front == 8);
dispose(theAllocator, l);
}
@@ -211,11 +180,10 @@ class SList(T)
unittest
{
auto l = make!(SList!int)(theAllocator);
- int[3] values = [8, 5, 4];
- l.front = values[0];
- l.front = values[1];
- l.front = values[2];
+ l.insertFront(8);
+ l.insertFront(5);
+ l.insertFront(4);
assert(l.removeFront(0) == 0);
assert(l.removeFront(2) == 2);
assert(l.removeFront(3) == 1);
@@ -247,25 +215,6 @@ class SList(T)
return result;
}
- ///
- unittest
- {
- auto l = make!(SList!int)(theAllocator);
- int[3] values = [5, 4, 9];
-
- l.front = values[0];
- l.front = values[1];
- l.front = values[2];
- foreach (i, e; l)
- {
- assert(i != 0 || e == values[2]);
- assert(i != 1 || e == values[1]);
- assert(i != 2 || e == values[0]);
- }
-
- dispose(theAllocator, l);
- }
-
/// Ditto.
int opApply(scope int delegate(ref T) dg)
{
@@ -287,20 +236,16 @@ class SList(T)
unittest
{
auto l = make!(SList!int)(theAllocator);
- int[3] values = [5, 4, 9];
- size_t i;
- l.front = values[0];
- l.front = values[1];
- l.front = values[2];
- foreach (e; l)
+ l.insertFront(5);
+ l.insertFront(4);
+ l.insertFront(9);
+ foreach (i, e; l)
{
- assert(i != 0 || e == values[2]);
- assert(i != 1 || e == values[1]);
- assert(i != 2 || e == values[0]);
- ++i;
+ assert(i != 0 || e == 9);
+ assert(i != 1 || e == 4);
+ assert(i != 2 || e == 5);
}
-
dispose(theAllocator, l);
}
@@ -326,6 +271,26 @@ class SList(T)
///
unittest
{
+ auto l = make!(SList!int)(theAllocator);
+ size_t i;
+
+ l.insertFront(5);
+ l.insertFront(4);
+ l.insertFront(9);
+ foreach (e; l)
+ {
+ assert(i != 0 || e == 9);
+ assert(i != 1 || e == 4);
+ assert(i != 2 || e == 5);
+ ++i;
+ }
+ assert(i == 3);
+
+ dispose(theAllocator, l);
+}
+
+private unittest
+{
interface Stuff
{
}
diff --git a/source/tanya/container/vector.d b/source/tanya/container/vector.d
index 2648363..668a931 100644
--- a/source/tanya/container/vector.d
+++ b/source/tanya/container/vector.d
@@ -43,7 +43,7 @@ class Vector(T)
private alias ElementType = typeof(data[0].vector[0]);
- private this(V data, in size_t a, in size_t b)
+ protected this(V data, in size_t a, in size_t b)
{
this.data = data;
start = a;
@@ -709,9 +709,11 @@ class Vector(T)
theAllocator.dispose(v1);
}
- private T[] vector;
+ /// Internal representation.
+ protected T[] vector;
- private IAllocator allocator;
+ /// The allocator.
+ protected IAllocator allocator;
}
///