#ifndef __BUFFER_OUT_IMPL_HPP__ #define __BUFFER_OUT_IMPL_HPP__ namespace xios { // template spectialisation : CBufferIn::put template <> bool CBufferOut::put(const char& data) { return put_template(data) ; } template <> bool CBufferOut::put(const bool& data) { return put_template(data) ; } template <> bool CBufferOut::put(const int& data) { return put_template(data) ; } template <> bool CBufferOut::put(const short& data) { return put_template(data) ; } template <> bool CBufferOut::put(const long& data) { return put_template(data) ; } template <> bool CBufferOut::put(const uint& data) { return put_template(data) ; } template <> bool CBufferOut::put(const ushort& data) { return put_template(data) ; } template <> bool CBufferOut::put(const ulong& data) { return put_template(data) ; } template <> bool CBufferOut::put(const float& data) { return put_template(data) ; } template <> bool CBufferOut::put(const double& data) { return put_template(data) ; } template <> bool CBufferOut::put(const long double& data) { return put_template(data) ;} template <> bool CBufferOut::put(const char* data, size_t n) { return put_template(data,n) ; } template <> bool CBufferOut::put(const bool* data, size_t n) { return put_template(data,n) ; } template <> bool CBufferOut::put(const int* data, size_t n) { return put_template(data,n) ; } template <> bool CBufferOut::put(const short* data, size_t n) { return put_template(data,n) ; } template <> bool CBufferOut::put(const long* data, size_t n) { return put_template(data,n) ; } template <> bool CBufferOut::put(const uint* data, size_t n) { return put_template(data,n) ; } template <> bool CBufferOut::put(const ushort* data, size_t n) { return put_template(data,n) ; } template <> bool CBufferOut::put(const ulong* data, size_t n) { return put_template(data,n) ; } template <> bool CBufferOut::put(const float* data, size_t n) { return put_template(data,n) ; } template <> bool CBufferOut::put(const double* data, size_t n) { return put_template(data,n) ; } template <> bool CBufferOut::put(const long double* data, size_t n) { return put_template(data,n) ;} template <> bool CBufferOut::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferOut::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferOut::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferOut::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferOut::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferOut::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferOut::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferOut::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferOut::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferOut::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferOut::advance(size_t n) { return advance_template(n) ;} template bool CBufferOut::put_template(const T& data) { return put_template(&data,1); } template bool CBufferOut::put_template(const T* data, size_t n) { bool ret; char* dataBuff ; size_t dataSize=sizeof(T)*n ; if (count_+dataSize<=size_) { dataBuff=(char*) data ; for(size_t i=0;i bool CBufferOut::advance_template(size_t n) { bool ret; char* dataBuff ; size_t dataSize=sizeof(T)*n ; if (count_+dataSize<=size_) { current+=dataSize ; count_+=dataSize; ret=true ; } else ret=false ; return ret ; } } #endif