バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
RWGOrderedVector(val)
#include <rw/gordvec.h> declare(RWGVector,val) declare(RWGOrderedVector,val) implement(RWGVector,val) implement(RWGOrderedVector,val) RWGOrderedVector(val) v;// 型 val のオブジェクトから成る順序付きベクトル
クラス val には次のものが必要です。
このクラスを使用するには、クラス自身だけでなくその基底クラスも宣言および実装しなければなりません。倍精度実数の順序付けられたコレクションを宣言および実装する方法を示します。
declare(RWGVector,double) // 基底クラスの宣言 declare(RWGOrderedVector,double) // 順序付きベクトルの宣言 // 1 つの .cc ファイルだけに、次のように記述しなければなりません。 implement(RWGVector,double) // 基底クラスの実装 implement(RWGOrderedVector,double) // 順序付きベクトルの実装
RWGOrderedVector のすべての型で、RWGOrderedVector とその基底クラス RWGVector の両方について、コードのどこかでマクロ implement に対する呼び出しを 1 回だけ行う必要があります。
#include <rw/gordvec.h> #include <rw/cstring.h> #include <rw/rstream.h> declare(RWGVector,RWCString) declare(RWGOrderedVector,RWCString) implement(RWGVector,RWCString) implement(RWGOrderedVector,RWCString) main() { RWGOrderedVector(RWCString) vec; RWCString one("First"); vec.insert(one); vec.insert("Second"); // 自動型変換が行われる vec.insert("Last"); // 自動型変換が行われる for(size_t i=0; i<vec.entries(); i++) cout << vec[i] << endl; return 0; } |
First Second Last |
RWGOrderedVector(val)(size_t capac=RWDEFAULT_CAPACITY);
val operator()(size_t i) const; val& operator()(size_t i);
val operator[](size_t i) const; val& operator[](size_t i);
void clear();
const val* data() const;
size_t entries() const;
size_t index(val item) const;
void insert(val item);
void insertAt(size_t indx, val item);
RWBoolean isEmpty() const;
void size_t length() const;
val pop();
void push(val);
void removeAt(size_t indx);
void resize(size_t newCapacity);