Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

Lamp::Deque< Type > Class Template Reference

デック More...

#include <Deque.h>

List of all members.

Public Member Functions

 Deque ()
 コンストラクタ

 Deque (int capacity)
 コンストラクタ

 ~Deque ()
 デストラクタ

void clone (Deque &destination) const
 クローン

int getCount () const
 要素数の取得

bool isEmpty () const
 空かどうか

Type & get (int index) const
 要素の取得

Type & operator[] (int index) const
 要素の取得

int getCapacity () const
 キャパシティの取得

int indexOf (const Type &searchValue) const
 前からの値の検索

int lastIndexOf (const Type &searchValue) const
 後からの値の検索

void pushFront (const Type &value)
 先頭への要素の追加

void pushBack (const Type &value)
 末尾への要素の追加

Type popFront ()
 先頭からの要素の削除

Type popBack ()
 末尾からの要素の削除

void set (int index, const Type &value) const
 要素の設定

Type remove (int index)
 要素の削除

int removeByValue (const Type &removeValue)
 値による要素の削除

void clear ()
 全要素を削除

void clear (int capacity)
 全要素を削除

void setCapacity (int newCapacity)
 キャパシティの設定

void trim ()
 トリム

void sort (int(*compare)(const Type *, const Type *))
 ソート

Type * search (Type key, int(*compare)(const Type *, const Type *))
 サーチ


Detailed Description

template<typename Type>
class Lamp::Deque< Type >

デック

このクラスは継承しないで下さい。

Definition at line 37 of file Deque.h.


Constructor & Destructor Documentation

template<typename Type>
Lamp::Deque< Type >::Deque int  capacity  )  [inline, explicit]
 

コンストラクタ

Parameters:
capacity 初期キャパシティ。2の累乗が好ましい。

Definition at line 55 of file Deque.h.


Member Function Documentation

template<typename Type>
void Lamp::Deque< Type >::clear int  capacity  )  [inline]
 

全要素を削除

Parameters:
capacity クリア後のキャパシティ

Definition at line 268 of file Deque.h.

template<typename Type>
void Lamp::Deque< Type >::clone Deque< Type > &  destination  )  const [inline]
 

クローン

Parameters:
destination クローン先デック

Definition at line 71 of file Deque.h.

template<typename Type>
Type& Lamp::Deque< Type >::get int  index  )  const [inline]
 

要素の取得

Parameters:
index 取得する要素のインデックス
Returns:
要素

Definition at line 104 of file Deque.h.

template<typename Type>
int Lamp::Deque< Type >::getCapacity  )  const [inline]
 

キャパシティの取得

Returns:
キャパシティ

Definition at line 125 of file Deque.h.

template<typename Type>
int Lamp::Deque< Type >::getCount  )  const [inline]
 

要素数の取得

Returns:
要素数

Definition at line 91 of file Deque.h.

Referenced by Lamp::VectorInterpolationCompressor::compressLinear(), and Lamp::RotationInterpolationCompressor::compressLinear().

template<typename Type>
int Lamp::Deque< Type >::indexOf const Type &  searchValue  )  const [inline]
 

前からの値の検索

デックの前から値を検索し、発見できればそのインデックスを返します。

Parameters:
searchValue 検索する値
Returns:
値のインデックス。値が無ければ-1を返す。

Definition at line 134 of file Deque.h.

template<typename Type>
bool Lamp::Deque< Type >::isEmpty  )  const [inline]
 

空かどうか

Returns:
空ならtrueを返す

Definition at line 97 of file Deque.h.

template<typename Type>
int Lamp::Deque< Type >::lastIndexOf const Type &  searchValue  )  const [inline]
 

後からの値の検索

デックの後ろから値を検索し、発見できればそのインデックスを返します。

Parameters:
searchValue 検索する値
Returns:
値のインデックス。値が無ければ-1を返す。

Definition at line 148 of file Deque.h.

Referenced by Lamp::Deque< MouseState >::removeByValue().

template<typename Type>
Type& Lamp::Deque< Type >::operator[] int  index  )  const [inline]
 

要素の取得

Parameters:
index 取得する要素のインデックス
Returns:
要素

Definition at line 115 of file Deque.h.

template<typename Type>
Type Lamp::Deque< Type >::popBack  )  [inline]
 

末尾からの要素の削除

Returns:
削除した要素

Definition at line 196 of file Deque.h.

template<typename Type>
Type Lamp::Deque< Type >::popFront  )  [inline]
 

先頭からの要素の削除

Returns:
削除した要素

Definition at line 184 of file Deque.h.

template<typename Type>
void Lamp::Deque< Type >::pushBack const Type &  value  )  [inline]
 

末尾への要素の追加

Parameters:
value 要素

Definition at line 174 of file Deque.h.

Referenced by Lamp::VectorInterpolationCompressor::compressLinear(), and Lamp::RotationInterpolationCompressor::compressLinear().

template<typename Type>
void Lamp::Deque< Type >::pushFront const Type &  value  )  [inline]
 

先頭への要素の追加

Parameters:
value 要素

Definition at line 162 of file Deque.h.

template<typename Type>
Type Lamp::Deque< Type >::remove int  index  )  [inline]
 

要素の削除

Parameters:
index 削除する要素のインデックス
Returns:
デックから削除した要素

Definition at line 219 of file Deque.h.

Referenced by Lamp::RotationInterpolationCompressor::compressLinear(), and Lamp::Deque< MouseState >::removeByValue().

template<typename Type>
int Lamp::Deque< Type >::removeByValue const Type &  removeValue  )  [inline]
 

値による要素の削除

デックの後ろから削除する値を検索し、同じ要素があれば削除します。

Parameters:
removeValue 削除する要素の値
Returns:
削除したインデックス。-1なら該当する要素無し。

Definition at line 252 of file Deque.h.

template<typename Type>
Type* Lamp::Deque< Type >::search Type  key,
int(*  compare)(const Type *, const Type *)
[inline]
 

サーチ

バイナリサーチでデックを検索します。
デックは昇順にソートされている必要があります。
要素が見つからなかった場合はNULLを返します。 compareは以下のような返り値を返してください。
第一引数が第二引数より大きいときは1以上
第一引数と大に引数が同じ場合は0
第一引数が第二引数より小さいときは-1以下

Parameters:
key 検索する値
compare 比較関数
Returns:
検索結果、見つからなければNULL

Definition at line 340 of file Deque.h.

template<typename Type>
void Lamp::Deque< Type >::set int  index,
const Type &  value
const [inline]
 

要素の設定

Parameters:
index 要素を設定するインデックス
value 要素

Definition at line 208 of file Deque.h.

template<typename Type>
void Lamp::Deque< Type >::setCapacity int  newCapacity  )  [inline]
 

キャパシティの設定

Parameters:
newCapacity 新しいキャパシティ

Definition at line 281 of file Deque.h.

template<typename Type>
void Lamp::Deque< Type >::sort int(*  compare)(const Type *, const Type *)  )  [inline]
 

ソート

クイックソートでデックをソートします。
compareの返り値を以下のようにすると昇順にソートされます。
第一引数が第二引数より大きいときは1以上
第一引数と大に引数が同じ場合は0
第一引数が第二引数より小さいときは-1以下

Parameters:
compare 比較関数。

Definition at line 309 of file Deque.h.

template<typename Type>
void Lamp::Deque< Type >::trim  )  [inline]
 

トリム

現在のサイズに合わせて使用メモリを最小にします。

Definition at line 291 of file Deque.h.


The documentation for this class was generated from the following file:
Generated on Wed Mar 16 10:29:46 2005 for Lamp by doxygen 1.3.2