channel_ptr.ipp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //
  2. // Copyright (c) 2019-2023 Ruben Perez Hidalgo (rubenperez038 at gmail dot com)
  3. //
  4. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  5. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. //
  7. #ifndef BHO_MYSQL_IMPL_CHANNEL_PTR_IPP
  8. #define BHO_MYSQL_IMPL_CHANNEL_PTR_IPP
  9. #pragma once
  10. #include <asio2/bho/mysql/detail/channel_ptr.hpp>
  11. #include <asio2/bho/mysql/impl/internal/channel/channel.hpp>
  12. bho::mysql::detail::channel_ptr::channel_ptr(std::size_t read_buff_size, std::unique_ptr<any_stream> stream)
  13. : chan_(new channel(read_buff_size, std::move(stream)))
  14. {
  15. }
  16. bho::mysql::detail::channel_ptr::channel_ptr(channel_ptr&& rhs) noexcept : chan_(std::move(rhs.chan_)) {}
  17. bho::mysql::detail::channel_ptr& bho::mysql::detail::channel_ptr::operator=(channel_ptr&& rhs) noexcept
  18. {
  19. chan_ = std::move(rhs.chan_);
  20. return *this;
  21. }
  22. bho::mysql::detail::channel_ptr::~channel_ptr() {}
  23. bho::mysql::detail::any_stream& bho::mysql::detail::channel_ptr::get_stream() const
  24. {
  25. return chan_->stream();
  26. }
  27. bho::mysql::metadata_mode bho::mysql::detail::channel_ptr::meta_mode() const noexcept
  28. {
  29. return chan_->meta_mode();
  30. }
  31. void bho::mysql::detail::channel_ptr::set_meta_mode(metadata_mode v) noexcept { chan_->set_meta_mode(v); }
  32. bho::mysql::diagnostics& bho::mysql::detail::channel_ptr::shared_diag() noexcept
  33. {
  34. return chan_->shared_diag();
  35. }
  36. std::vector<bho::mysql::field_view>& bho::mysql::detail::get_shared_fields(channel& chan) noexcept
  37. {
  38. return chan.shared_fields();
  39. }
  40. #endif