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:

## 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みたいなものですね。（といいますか、車輪の再開発してるし･･･。