スタック。
基本的なものなんだろうけど作ったことも(明示的に)使ったこともなかったので作ってみた。
class StackException: etc.negui.containers.container.ContainerException;
abstract class Stack: etc.negui.system.text.IText;
abstract const size_t length();
interface IStack(T);
bool peekSafe();
bool pushSafe();
T peek();
一番上の値を取得。
pop()と違い元のスタック自体からは取り出されない。
T pop();
void push(T Value
);
template MixInStack(T,EXCEPTION : StackException)
this(size_t Length);
size_t length();
T peek();
bool peekSafe();
T pop();
Text toText();
class StaticStackException: etc.negui.containers.stack.StackException;
class StaticStack(T): Stack, IStack!(T);
void push(T Value
);
bool pushSafe();
class DynamicStack(T): Stack, IStack!(T);
size_t length(size_t Length
);
size_t length();
this(size_t Length, size_t Increment = BUFFER.INCREMENT);
bool pushSafe();
void push(T Value
);