DataVector.h 645 B

12345678910111213141516171819202122232425262728
  1. #ifndef DATAVECTOR_H
  2. #define DATAVECTOR_H
  3. #include <cstddef>
  4. class DataVector final {
  5. public:
  6. DataVector(size_t capacity = 5 * 1024 * 1024);
  7. DataVector(const DataVector& orig);
  8. DataVector(DataVector&& other);
  9. ~DataVector();
  10. DataVector& operator=(const DataVector& other);
  11. DataVector& operator=(DataVector&& other);
  12. bool read(size_t fromIndex, void* buffer, size_t length) const;
  13. bool write(size_t toIndex, const void* data, size_t length);
  14. bool readSocket(int socket, size_t& readBytes);
  15. void sendToSocket(int socket, size_t toIndex) const;
  16. private:
  17. size_t capacity;
  18. char* data;
  19. };
  20. #endif