6 #ifndef _UTILS_C20BUFFERS_HPP_ 
    7 #define _UTILS_C20BUFFERS_HPP_ 
   11 #if defined(__GNUC__) && (__GNUC__ >= 4) 
   12 #define ADB_memcpy(dst, src, size) __builtin_memcpy(dst, src, size) 
   14 #define ADB_memcpy(dst, src, size) memcpy(dst, src, size) 
   32 template<
typename dataType>
 
   37   std::vector<dataType> area;
 
   52     area = std::vector<dataType>(len);
 
   86   dataType *
data(
size_t offset) {
 
  117   size_t append(dataType *da, 
size_t len) {
 
  118     ADB_memcpy(&area[pos], da, len * 
sizeof(dataType));
 
Definition: C20Buffers.hpp:33
 
size_t bufferSize()
To get how many elements are allowed in the buffer.
Definition: C20Buffers.hpp:61
 
size_t append(dataType *da, size_t len)
Append the data to the buffer.
Definition: C20Buffers.hpp:117
 
void reset()
reset this buffer, set pos back to 0
Definition: C20Buffers.hpp:41
 
C20Buffer(size_t len)
Init with original length of buffer.
Definition: C20Buffers.hpp:51
 
size_t size()
To get how many VALID elements are existed in the buffer.
Definition: C20Buffers.hpp:70
 
dataType * data()
To get the original memory area ponter of data.
Definition: C20Buffers.hpp:77
 
dataType * data(size_t offset)
To get the original memory area ponter of data, with offset.
Definition: C20Buffers.hpp:86
 
size_t append(dataType da)
Append the data to the buffer.
Definition: C20Buffers.hpp:95
 
Definition: DatasetTool.h:10