1 module nxt.array_stack; 2 3 /** Stack. 4 See_Also: http://forum.dlang.org/thread/wswbtzakdvpgaebuhbom@forum.dlang.org 5 */ 6 7 import nxt.dynamic_array : Stack = DynamicArray; 8 9 @safe pure nothrow @nogc unittest 10 { 11 alias T = uint; 12 13 Stack!T s; 14 assert(s.empty); 15 16 // insertBack: 17 18 s.insertBack(13U); 19 assert(!s.empty); 20 assert(s.back == 13); 21 22 s.insertBack(14U); 23 assert(!s.empty); 24 assert(s.back == 14); 25 26 s.insertBack(15U); 27 assert(!s.empty); 28 assert(s.back == 15); 29 30 // popBack: 31 32 s.popBack(); 33 assert(!s.empty); 34 assert(s.back == 14); 35 36 s.popBack(); 37 assert(!s.empty); 38 assert(s.back == 13); 39 40 s.popBack(); 41 assert(s.empty); 42 43 // insertBack: 44 45 s.insertBack(13U, 14U, 15U); 46 assert(!s.empty); 47 assert(s.back == 15); 48 49 // backPop: 50 51 assert(s.backPop() == 15); 52 assert(s.backPop() == 14); 53 assert(s.backPop() == 13); 54 55 assert(s.empty); 56 }