#ifndef __BUFFER_IN_IMPL_HPP__ #define __BUFFER_IN_IMPL_HPP__ namespace xios { // template spectialisation : CBufferIn::get template <> bool CBufferIn::get(char& data) { return get_template(data) ; } template <> bool CBufferIn::get(bool& data) { return get_template(data) ; } template <> bool CBufferIn::get(int& data) { return get_template(data) ; } template <> bool CBufferIn::get(short& data) { return get_template(data) ; } template <> bool CBufferIn::get(long& data) { return get_template(data) ; } template <> bool CBufferIn::get(uint& data) { return get_template(data) ; } template <> bool CBufferIn::get(ushort& data) { return get_template(data) ; } template <> bool CBufferIn::get(ulong& data) { return get_template(data) ; } template <> bool CBufferIn::get(float& data) { return get_template(data) ; } template <> bool CBufferIn::get(double& data) { return get_template(data) ; } template <> bool CBufferIn::get(long double& data) { return get_template(data) ;} template <> bool CBufferIn::get(char* data, size_t n) { return get_template(data,n) ; } template <> bool CBufferIn::get(bool* data, size_t n) { return get_template(data,n) ; } template <> bool CBufferIn::get(int* data, size_t n) { return get_template(data,n) ; } template <> bool CBufferIn::get(short* data, size_t n) { return get_template(data,n) ; } template <> bool CBufferIn::get(long* data, size_t n) { return get_template(data,n) ; } template <> bool CBufferIn::get(uint* data, size_t n) { return get_template(data,n) ; } template <> bool CBufferIn::get(ushort* data, size_t n) { return get_template(data,n) ; } template <> bool CBufferIn::get(ulong* data, size_t n) { return get_template(data,n) ; } template <> bool CBufferIn::get(float* data, size_t n) { return get_template(data,n) ; } template <> bool CBufferIn::get(double* data, size_t n) { return get_template(data,n) ; } template <> bool CBufferIn::get(long double* data, size_t n) { return get_template(data,n) ;} template <> bool CBufferIn::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferIn::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferIn::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferIn::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferIn::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferIn::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferIn::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferIn::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferIn::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferIn::advance(size_t n) { return advance_template(n) ; } template <> bool CBufferIn::advance(size_t n) { return advance_template(n) ;} template bool CBufferIn::get_template(T& data) { return get_template(&data,1) ; } template bool CBufferIn::get_template(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 CBufferIn::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