input.hpp 643 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <cstddef>
  3. #include <cstdint>
  4. namespace reproc {
  5. class input {
  6. const uint8_t *data_ = nullptr;
  7. size_t size_ = 0;
  8. public:
  9. input() = default;
  10. input(const uint8_t *data, size_t size) : data_(data), size_(size) {}
  11. /*! Implicitly convert from string literals. */
  12. template <size_t N>
  13. input(const char (&data)[N]) // NOLINT
  14. : data_(reinterpret_cast<const uint8_t *>(data)), size_(N)
  15. {}
  16. input(const input &other) = default;
  17. input &operator=(const input &) = default;
  18. const uint8_t *data() const noexcept
  19. {
  20. return data_;
  21. }
  22. size_t size() const noexcept
  23. {
  24. return size_;
  25. }
  26. };
  27. }