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

dkcMemoryStream.h File Reference

可変長な配列をぶち込める。std::vectorみたいなもの。 More...

#include <stdio.h>
#include "dkcOSIndependent.h"
#include "dkcDefined.h"
#include "dkcBuffer.h"
#include "dkcSerialize.h"

Include dependency graph for dkcMemoryStream.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

struct  dkc_MemoryStream

Typedefs

typedef dkc_MemoryStream DKC_MEMORYSTREAM

Enumerations

enum  edkcMemoryStream { edkcMemoryStreamSeekCurrent = SEEK_CUR, edkcMemoryStreamSeekEnd = SEEK_END, edkcMemoryStreamSeekSet = SEEK_SET }

Functions

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

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

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

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

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

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

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

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

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

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

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

DKC_EXTERN DKC_MEMORYSTREAM
*WINAPI 
dkcAllocMemoryStreamCopy (const DKC_MEMORYSTREAM *ptr)


Detailed Description

可変長な配列をぶち込める。std::vectorみたいなもの。

Note:
dkcMemoryStreamSerializeのシリアライズ済みファイルデータ構造
DKC_MEMORYSTREAM構造体 BYTE DKC_MEMORYSTREAM::mSize個分。

Typedef Documentation

typedef struct dkc_MemoryStream DKC_MEMORYSTREAM
 

メモリストリーム構造体。fopen fwrite freadをメモリ城で行うようなストリーム。 C言語でstd::vectorみたいな感じで使う。


Enumeration Type Documentation

enum edkcMemoryStream
 

Enumeration values:
edkcMemoryStreamSeekCurrent  今の位置からシーク
edkcMemoryStreamSeekEnd  最後の位置からシーク
edkcMemoryStreamSeekSet  最初の位置からシーク


Function Documentation

DKC_EXTERN DKC_MEMORYSTREAM* WINAPI dkcAllocMemoryStream size_t  size  ) 
 

ストリーム領域を得る。

d金魚

Note:
licence:BSD Licence

DKC_EXTERN DKC_MEMORYSTREAM* WINAPI dkcAllocMemoryStreamCopy const DKC_MEMORYSTREAM ptr  ) 
 

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

DKC_EXTERN DKC_MEMORYSTREAM* WINAPI dkcAllocMemoryStreamDeserialize DKC_DESERIALIZE se  ) 
 

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

DKC_EXTERN int WINAPI dkcFreeMemoryStream DKC_MEMORYSTREAM **  ptr  ) 
 

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

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

DKC_EXTERN int WINAPI dkcMemoryStreamClear DKC_MEMORYSTREAM ptr  ) 
 

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

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

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

DKC_EXTERN size_t WINAPI dkcMemoryStreamGetSeekPoint DKC_MEMORYSTREAM ptr  ) 
 

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

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

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

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

DKC_EXTERN int WINAPI dkcMemoryStreamResize DKC_MEMORYSTREAM ptr,
size_t  want_size
 

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

DKC_EXTERN int WINAPI dkcMemoryStreamSeek DKC_MEMORYSTREAM ptr,
int  offset,
int  origin
 

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

DKC_EXTERN void dkcMemoryStreamSerialize const DKC_MEMORYSTREAM ptr,
DKC_SERIALIZE se
 

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

DKC_EXTERN 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:05 2004 for dkutil_c by doxygen 1.3.6