SourceForge.jp

クラス テンプレートdkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >

file_operatorの姉妹品・・・イチオウ、標準インターフェイスなので・・・ [詳細]

#include <dkutilBuffer.h>

dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >のコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public 型

typedef BUFFER_T BUFFER_TYPE
typedef size_t size_type
typedef char * pointer
typedef const pointer const_pointer
enum  { enuWorkSize = WORKSPACE_SIZE }

Public メソッド

 WorkSpaceBase ()
 constructor

 WorkSpaceBase (const WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T > &data)
 copy constructor

virtual ~WorkSpaceBase ()
void clear ()
 ワークスペースを開放する。( ReserveWorkOnce()を呼び出している場合 )

bool reserve (size_type size)
bool resize (size_type size)
 reserveのWrapper

pointer data ()
 ワークスペースのアドレスをゲットする(後は各自、キャストしてください。

const_pointer data () const
size_type capacity () const
 バッファの許容サイズをゲットする。

bool SetBuff (const char *src, size_type size)
 srcのメモリ領域をバッファにコピーする。

bool SetString (size_type buffsize, const char *str,...)
bool SetString (const char *str,...)

説明

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
class dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >

file_operatorの姉妹品・・・イチオウ、標準インターフェイスなので・・・

引数:
WORKSPACE_SIZE 元から確保するバッファのサイズ(byte単位
BUFFER_T byte_bufferクラスと同じ仕様のバッファクラス(普通はこのままで事足りるでしょう。
覚え書き:
場合によってはヒープから確保しないバッファ・・・なんてバカなんだ。私は・・・ 仕様用途:タスクワークの元とか
処理内容:BUFFER_T型のバッファクラスを使って動的確保か、 バッファサイズが十分ならばcharのバッファを使って処理コストを下げる!??
主張:なんか、byte_buffer,boost::arrayやstd::vectorとかぶっているけど、 memcpyができる事を中心とした、ちと違うクラスって事で、認識しといてください。


型定義

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
typedef BUFFER_T dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::BUFFER_TYPE
 

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
typedef const pointer dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::const_pointer
 

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
typedef char* dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::pointer
 

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
typedef size_t dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::size_type
 


列挙型

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
anonymous enum
 

列挙型の値:
enuWorkSize 


コンストラクタとデストラクタ

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::WorkSpaceBase  )  [inline]
 

constructor

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::WorkSpaceBase const WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T > &  data  )  [inline]
 

copy constructor

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
virtual dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::~WorkSpaceBase  )  [inline, virtual]
 


関数

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
size_type dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::capacity  )  const [inline]
 

バッファの許容サイズをゲットする。

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
void dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::clear  )  [inline]
 

ワークスペースを開放する。( ReserveWorkOnce()を呼び出している場合 )

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
const_pointer dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::data  )  const [inline]
 

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
pointer dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::data  )  [inline]
 

ワークスペースのアドレスをゲットする(後は各自、キャストしてください。

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
bool dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::reserve size_type  size  )  [inline]
 

戻り値:
すでにこの関数を呼び出している場合、clear()を呼び出さないとこの関数は失敗する。 また、WORKSPACE_SIZE分内部で確保しているのでそれ以下の場合はfalseである。

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
bool dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::resize size_type  size  )  [inline]
 

reserveのWrapper

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
bool dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::SetBuff const char *  src,
size_type  size
[inline]
 

srcのメモリ領域をバッファにコピーする。

引数:
src[in] コピー元 buffer
size[in] srcのサイズ
戻り値:
false = 失敗

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
bool dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::SetString const char *  str,
... 
[inline]
 

template<std::size_t WORKSPACE_SIZE = 64, class BUFFER_T = byte_buffer>
bool dkutil::WorkSpaceBase< WORKSPACE_SIZE, BUFFER_T >::SetString size_type  buffsize,
const char *  str,
... 
[inline]
 


このクラスの説明は次のファイルから生成されました:
dkutil 1.02リリース前 d金魚専用マニュアルバージョンに対してSun Dec 28 21:23:15 2003に生成されました。 doxygen 1.3.5