Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. #ifndef LAB11_BIN_MANIP_H_INCLUDED
  2. #define LAB11_BIN_MANIP_H_INCLUDED
  3.  
  4. #include <iostream>
  5. #include <cstdint>
  6. #include <cstddef>
  7.  
  8. struct write_le_int32 {
  9.     write_le_int32(std::int32_t _data) : data(_data) {}
  10.     friend std::ostream& operator<<(std::ostream&, const write_le_int32&);
  11. private:
  12.     std::int32_t data;
  13. };
  14.  
  15. struct read_le_int32 {
  16.     read_le_int32(std::int32_t& _data) : data(_data) {}
  17.     friend std::istream& operator>>(std::istream&, const read_le_int32&);
  18. private:
  19.     std::int32_t& data;
  20. };
  21.  
  22. struct write_bool {
  23.     write_bool(bool _data) : data(_data) {}
  24.     friend std::ostream& operator<<(std::ostream&, const write_bool&);
  25. private:
  26.     bool data;
  27. };
  28.  
  29. struct read_bool{
  30.     read_bool(bool& _data) : data(_data) {}
  31.     friend std::istream& operator>>(std::istream&, const read_bool&);
  32. private:
  33.     bool& data;
  34. };
  35.  
  36. struct write_c_str {
  37.     write_c_str(const char* _data) : data(_data) {}
  38.     friend std::ostream& operator<<(std::ostream&, const write_c_str&);
  39. private:
  40.     const char* data;
  41. };
  42.  
  43. struct read_c_str {
  44.     read_c_str(char* _data, std::size_t _size) : data(_data), size(_size) {}
  45.     friend std::istream& operator>>(std::istream&, const read_c_str&);
  46. private:
  47.     char* data;
  48.     std::size_t size;
  49. };
  50.  
  51. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement