Main Page | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dkcMemoryStream.c File Reference

#include <limits.h>
#include "dkcMemoryStream.h"
#include "dkcStdio.h"

Include dependency graph for dkcMemoryStream.c:

Include dependency graph

Functions

DKC_MEMORYSTREAM *WINAPI dkcAllocMemoryStream (size_t size)
 ストリーム領域を得る。

int WINAPI dkcFreeMemoryStream (DKC_MEMORYSTREAM **ptr)
 dkcAllocNewStream()で確保したストリーム領域を開放する

int WINAPI dkcMemoryStreamSeek (DKC_MEMORYSTREAM *ptr, int offset, int origin)
 streamをシークする。fseekみたいなもの

size_t WINAPI dkcMemoryStreamGetSeekPoint (DKC_MEMORYSTREAM *ptr)
 streamのシークポイントを返す。

int WINAPI dkcMemoryStreamRead (DKC_MEMORYSTREAM *ptr, void *buffer, size_t size, size_t *readsize)
 streamをリードする。freadみたいなもの

int WINAPI dkcMemoryStreamResize (DKC_MEMORYSTREAM *ptr, size_t want_size)
 streamのバッファを拡張する。

int WINAPI dkcMemoryStreamWrite (DKC_MEMORYSTREAM *ptr, const void *buffer, size_t size)
 streamをライトする。fwriteみたいなもの

int WINAPI dkcMemoryStreamDynamicWrite (DKC_MEMORYSTREAM *ptr, const void *buffer, size_t size)
 streamをライトする。ライト出来なかったら内部で動的拡張する。

int WINAPI dkcMemoryStreamClear (DKC_MEMORYSTREAM *ptr)
 stream内をmemset(0)する。(seek位置も最初に戻される。

DKC_MEMORYSTREAM *WINAPI dkcAllocMemoryStreamCopy (const DKC_MEMORYSTREAM *ptr)
DKC_MEMORYSTREAM *WINAPI dkcAllocMemoryStreamDeserialize (DKC_DESERIALIZE *se)
 DKC_SERIALIZEから新しいMemoryStreamを作る。.

void dkcMemoryStreamSerialize (const DKC_MEMORYSTREAM *ptr, DKC_SERIALIZE *se)
 DKC_SERIALIZEにシリアライズデータをぶち込む.


Function Documentation

DKC_MEMORYSTREAM* WINAPI dkcAllocMemoryStream size_t  size  ) 
 

ストリーム領域を得る。

d金魚

Note:
licence:BSD Licence

DKC_MEMORYSTREAM* WINAPI dkcAllocMemoryStreamCopy const DKC_MEMORYSTREAM ptr  ) 
 

Returns:
成功したらそのオブジェクトへのポインタが返る。失敗したらNULLが返る。
Note:
C++で言うコピーコンストラクタ。

DKC_MEMORYSTREAM* WINAPI dkcAllocMemoryStreamDeserialize DKC_DESERIALIZE se  ) 
 

DKC_SERIALIZEから新しいMemoryStreamを作る。.

int WINAPI dkcFreeMemoryStream DKC_MEMORYSTREAM **  ptr  ) 
 

dkcAllocNewStream()で確保したストリーム領域を開放する

Parameters:
ptr[in][out] 削除するストリームデータ。入れたデータはNULLになる。

int WINAPI dkcMemoryStreamClear DKC_MEMORYSTREAM ptr  ) 
 

stream内をmemset(0)する。(seek位置も最初に戻される。

int WINAPI dkcMemoryStreamDynamicWrite DKC_MEMORYSTREAM ptr,
const void *  buffer,
size_t  size
 

streamをライトする。ライト出来なかったら内部で動的拡張する。

size_t WINAPI dkcMemoryStreamGetSeekPoint DKC_MEMORYSTREAM ptr  ) 
 

streamのシークポイントを返す。

int WINAPI dkcMemoryStreamRead DKC_MEMORYSTREAM ptr,
void *  buffer,
size_t  size,
size_t *  readsize
 

streamをリードする。freadみたいなもの

Parameters:
readsize[out] 実際に読んだサイズを返す。NULLを渡してもOK.
Note:
指定したサイズ(size)よりもストリームバッファのサイズが小さかった場合 readsizeに実際に読んだサイズを入れます。

int WINAPI dkcMemoryStreamResize DKC_MEMORYSTREAM ptr,
size_t  want_size
 

streamのバッファを拡張する。

int WINAPI dkcMemoryStreamSeek DKC_MEMORYSTREAM ptr,
int  offset,
int  origin
 

streamをシークする。fseekみたいなもの

void dkcMemoryStreamSerialize const DKC_MEMORYSTREAM ptr,
DKC_SERIALIZE se
 

DKC_SERIALIZEにシリアライズデータをぶち込む.

int WINAPI dkcMemoryStreamWrite DKC_MEMORYSTREAM ptr,
const void *  buffer,
size_t  size
 

streamをライトする。fwriteみたいなもの

Note:
内部ストリームバッファは動的拡張です。気にせずどんどんぶち込みましょう。 C言語版のSTLのstd::vectorみたいなものですね。(といいますか、車輪の再開発してるし・・・。


Generated on Mon Apr 26 19:37:03 2004 for dkutil_c by doxygen 1.3.6