class MyVarMem 仕様書

可変長メモリクラスです。
必要に応じて自動的にメモリを拡張していきます。
保有している初期メモリは0です。
データを与えられた時に初めてメモリをアロケートします。

内部的では常に終端に|\0|を付加しています。 文字列を取り扱う場合はこの終端を期待しても良いです。
スレッドセーフではありませんので、複数のスレッドから同一のインスタンスを呼び出さないでください。

MyVarMem
+GetBuffer() const size_t GetLength() const : void*
+AddHead( const void* pAddData, size_t nDataLen) : size_t
+Add( const void* pAddData, size_t nDataLen) : size_t
+AddHead(MyVarMem* pH) : size_t
+Add(MyVarMem* pH) : size_t
+Add(const char* pszStr) : size_t
+virtual void Clear(); virtual int IsEmpty() : void
+operator const void*() : void*
+operator const char*() : char*

void* GetBuffer() const

アロケートしているメモリポインタを返します。
この値は、Add()やAddHead()を呼び出すと、内部メモリが変動するので無効となります。
スレッドセーフではない理由はこの点にあります。

size_t GetLength() const

現在保有しているデータ長を返します。
実Allocサイズはこの長さ+1(終端分)です。

size_t AddHead( const void* pAddData, size_t nDataLen);

メモリの先頭に与えられたデータを追加します。
失敗した場合、0を返します。

size_t Add( const void* pAddData, size_t nDataLen);

与えられたデータを追加します。
失敗した場合、0を返します。

size_t AddHead(MyVarMem* pH);

メモリの先頭に与えられたデータを追加します。
失敗した場合、0を返します。

size_t Add(MyVarMem* pH);

与えられたデータを追加します。
失敗した場合、0を返します。

size_t Add(const char* pszStr);

与えられた文字列を追加します。
失敗した場合、0を返します。

virtual void Clear();

アロケートメモリを全てクリアします。

virtual int IsEmpty();

メモリが無い場合、0以外を返します。

operator const void*();

const void*オペレータです。

operator const char*();

const char*オペレータです。


yu-ishi@ya2.so-net.ne.jp
Copyright (C) 2003 IshiSoft Allrights reserved.