 | | Wide Studio Object Reference
| |
クラスの型
WSClistData
メソッド関数仕様
WSClistData 関数の説明
- 書式
- WSClistData()
- 機能
- リストデータ構造体のコンストラクタです。
リストデータのインスタンスを一つ作成します。
- 処理
-
- 引数
- なし。
- 返値
- リストデータのインスタンスへのポインタ
- 注意
-
- サンプル
-
WSClistData listdata;
long data1 = 100;
long data2 = 200;
//データを記憶させます。
listdata.add((void*)data1);
listdata.add((void*)data2);
//データを取り出します。
long d1 = (long)listdata[0];
long d2 = (long)listdata[1];
//指定した位置のデータを置き換えます。
long data3 = 300;
long data4 = 400;
listdata.setData(0,(void*)data3);
listdata.setData(1,(void*)data4);
//getData でデータの取り出しを行うと、次のようになります。
long d1 = (long)listdata.getData(0);
long d2 = (long)listdata.getData(1);
//データの数を取得するには、次のようにします。
long num = listdata.getNum();
//指定したデータを消すには、次のようにします。
listdata.del((void*)400);
//指定した位置のデータを消すには、次のようにします。
listdata.delPos(0);
//データ一括でを消すには、次のようにします。
listdata.clear();
WSClistData 関数の説明
- 書式
- WSClistData(long segment_size)
- 機能
- リストデータ構造体のコンストラクタです。
セグメントサイズを指定して、リストデータのインスタンスを
一つ作成します。
セグメントサイズは、リスト構造体の内部で利用される領域を
拡張する単位です。一度にたくさんのデータを保持する場合、
データの出し入れが多い場合には、セグメントサイズを大きく
すると、パフォーマンスが良くなります。
デフォルトは、16 です。
- 処理
-
- 引数
-
(in)long segment_size | セグメントサイズ |
- 返値
- リストデータのインスタンスへのポインタ
- 注意
- セグメントサイズにマイナスの値、0、256 以上を指定すると、
256 として扱われます。
- サンプル
-
//データバッファサイズ64 としてリストを作成します。
//64サイズ単位にリストが拡張されます。
WSClistData indexdata(64);
add 関数の説明
- 書式
- long add(void* data,long pos = -1)
- 機能
- リストデータにデータを一つ追加します。
- 処理
- データの挿入位置 (pos) を指定しない場合、
または、-1 を指定した場合は、データの末尾に追加されます。
また、位置を指定した場合には、その位置にデータが挿入され、
それ以降のデータは、一つ後ろにずらされます。
先頭に追加する場合は、0を指定します。
- 引数
-
(in)void* data | 追加したいデータ |
(in)long pos | 挿入位置(指定しない場合は、末尾) |
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
- 指定した位置が、保持しているデータ個数よりも大きい場合は、
リストの末尾に追加されます。
- サンプル
- WSClistData() を参照してください。
setData 関数の説明
- 書式
- void setData(long pos,void* data)
- 機能
- 指定した位置のデータを置き換えます。
- 処理
-
- 引数
-
(in)long pos | 入れ換えたいデータの位置(先頭は0) |
(in)void* data | データ |
- 返値
- なし。
- 注意
- 指定した位置にデータが無い場合は、無視されます。
- サンプル
- WSClistData() を参照してください。
getData 関数の説明
- 書式
- void* getData(long pos)
- 機能
- 指定した位置のデータを取得します。
- 処理
-
- 引数
-
(in)long pos | データの位置(先頭は0) |
- 返値
- 保持しているデータ
- 注意
- 指定した位置にデータが存在しない場合、NULL が返されます。
- サンプル
- WSClistData() を参照してください。
getNum 関数の説明
- 書式
- long getNum()
- 機能
- リストデータが保持するデータの個数を返します。
- 処理
-
- 引数
- なし。
- 返値
- 保持しているデータの個数
- 注意
-
- サンプル
- WSClistData() を参照してください。
getBuf 関数の説明
- 書式
- void** getBuf()
- 機能
- リストデータが保持するデータを保持するデータ領域を返します。
- 処理
-
- 引数
- なし。
- 返値
- データ領域
- 注意
- 返された領域を開放してはいけません。
- サンプル
- WSClistData() を参照してください。
WSClistData listdata;
long data1 = 100;
long data2 = 200;
long data3 = 300;
//データを記憶させます。
listdata.add((void*)data1);
listdata.add((void*)data2);
listdata.add((void*)data3);
//内部のバッファを取得します。
void** ptr = listdata.getBuf();
//バッファからデータを取り出してみます。
long d1 = *(long*)(ptr[0]); //data1 の 100
long d2 = *(long*)(ptr[1]); //data2 の 200
long d3 = *(long*)(ptr[2]); //data3 の 300
del 関数の説明
- 書式
- long del(void*)
- 機能
- 指定したデータをリストから削除します。
- 処理
-
- 引数
-
- 返値
- 削除成功の場合は0、存在しない場合は−1。
- 注意
- 複数存在する場合は、先頭に近いものから順に削除されて
いきます。
- サンプル
-
WSClistData listdata;
long data1 = 100;
long data2 = 200;
long data3 = 300;
//データを記憶させます。
listdata.add((void*)data1);
listdata.add((void*)data2);
listdata.add((void*)data3);
//指定したデータを消すには、次のようにします。
listdata.del((void*)200);
//指定したデータを消すには、次のようにします。
listdata.delPos(1);
//データ一括でを消すには、次のようにします。
listdata.clear();
delPos 関数の説明
- 書式
- long delPos(long pos)
- 機能
- 指定した位置のデータをリストから削除します。
- 処理
- 位置に -1 を指定すると、末尾のデータを削除します。
- 引数
-
(in)long pos | 削除したいデータの位置(先頭は0) |
- 返値
- 削除成功の場合は0、存在しない場合は−1。
- 注意
-
- サンプル
- del() を参照してください。
clear 関数の説明
- 書式
- void clear()
- 機能
- 保持しているデータをリセットし、データを持たない状態に
初期化します。
- 処理
- データ個数は0となります。
- 引数
- なし。
- 返値
- なし。
- 注意
-
- サンプル
- del() を参照してください。
= オペレータの説明
- 書式
- WSClistData & operator = (WSClistData &)
- 機能
- リストデータをコピーします。
- 処理
-
- 引数
-
(in)WSClistData & src | コピーしたいリストデータ |
- 返値
-
- 注意
-
- サンプル
-
WSClistData listdata;
long data1 = 100;
long data2 = 200;
long data3 = 300;
//リストをコピーするには、次のようにします。
WSClistData listdata2;
listdata2 = listdata;
[]オペレータの説明
- 書式
- void* & operator[](long pos)
- 機能
- リストデータを配列の様に扱えるようにします。
- 処理
-
- 引数
-
(in)long pos | データの位置(先頭は0) |
- 返値
- データ
- 注意
- 次の様に使用します。
- サンプル
- WSClistData() を参照してください。
getTopData 関数の説明
- 書式
- void getTopData()
- 機能
- リストの先頭のデータを返します。
- 処理
- getData(0) と同じです。
- 引数
- なし。
- 返値
- 先頭のデータ
- 注意
- データが存在しない場合、NULL が返されます。
- サンプル
-
WSClistData listdata;
long data1 = 100;
long data2 = 200;
long data3 = 300;
//リストの先頭のデータを取得するには、次のようにします。
long tval = (void*)listdata.getTopData();
getBottomData 関数の説明
- 書式
- void getBottomData()
- 機能
- リストの最後尾のデータを返します。
- 処理
- getData(-1) と同じです。
- 引数
- なし。
- 返値
- 最後尾のデータ
- 注意
- データが存在しない場合、NULL が返されます。
- サンプル
-
WSClistData listdata;
long data1 = 100;
long data2 = 200;
long data3 = 300;
//リストの末尾のデータを取得するには、次のようにします。
long bval = (void*)listdata.getBottomData();
Document Release 3.00 For Use with Wide Studio Release 3.00, Summer 2002 Wide Stuido Home | Up to Copyright(C) T. Hirabayashi, 1999-2002 | | Last modified: June 10, 2002 | |