etc.negui.containers.stack

スタック。
基本的なものなんだろうけど作ったことも(明示的に)使ったこともなかったので作ってみた。
History:
1.100
  • 新規作成。
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();
peek/popは使用可能か。
bool pushSafe();
pushは使用可能か。
T peek();
一番上の値を取得。
pop()と違い元のスタック自体からは取り出されない。
Returns:
取得した値。
T pop();
一番上の値を取り出す。
Returns:
取り出した値。
void push(T Value );
スタックに積む。
Params:
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 );