cpp: alias pack(Stream* s, const T& v) -> pack(Stream& const T& v)

This commit is contained in:
frsyuki 2010-03-26 14:30:50 +09:00
parent 1b1433a664
commit 72e3f98213
3 changed files with 18 additions and 7 deletions

View File

@ -22,13 +22,14 @@
#include <string.h>
#ifndef MSGPACK_SBUFFER_INIT_SIZE
#define MSGPACK_SBUFFER_INIT_SIZE 2048
#define MSGPACK_SBUFFER_INIT_SIZE 8192
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef struct msgpack_sbuffer {
size_t size;
char* data;

View File

@ -29,12 +29,6 @@ struct iovec {
};
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifndef MSGPACK_VREFBUFFER_REF_SIZE
#define MSGPACK_VREFBUFFER_REF_SIZE 32
#endif
@ -43,6 +37,11 @@ extern "C" {
#define MSGPACK_VREFBUFFER_CHUNK_SIZE 8192
#endif
#ifdef __cplusplus
extern "C" {
#endif
struct msgpack_vrefbuffer_chunk;
typedef struct msgpack_vrefbuffer_chunk msgpack_vrefbuffer_chunk;
@ -102,6 +101,7 @@ size_t msgpack_vrefbuffer_veclen(const msgpack_vrefbuffer* vref)
return vref->tail - vref->array;
}
#ifdef __cplusplus
}
#endif

View File

@ -28,6 +28,7 @@ namespace msgpack {
template <typename Stream>
class packer {
public:
packer(Stream* s);
packer(Stream& s);
~packer();
@ -111,6 +112,12 @@ private:
};
template <typename Stream, typename T>
inline void pack(Stream* s, const T& v)
{
packer<Stream>(s).pack(v);
}
template <typename Stream, typename T>
inline void pack(Stream& s, const T& v)
{
@ -133,6 +140,9 @@ inline void pack(Stream& s, const T& v)
#include "msgpack/pack_template.h"
template <typename Stream>
packer<Stream>::packer(Stream* s) : m_stream(*s) { }
template <typename Stream>
packer<Stream>::packer(Stream& s) : m_stream(s) { }