55 lines
1.5 KiB
C++
55 lines
1.5 KiB
C++
//
|
|
// Copyright (c) 2019-2023 Ruben Perez Hidalgo (rubenperez038 at gmail dot com)
|
|
//
|
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
//
|
|
|
|
#ifndef BOOST_MYSQL_IMPL_CHANNEL_PTR_IPP
|
|
#define BOOST_MYSQL_IMPL_CHANNEL_PTR_IPP
|
|
|
|
#pragma once
|
|
|
|
#include <boost/mysql/detail/channel_ptr.hpp>
|
|
|
|
#include <boost/mysql/impl/internal/channel/channel.hpp>
|
|
|
|
boost::mysql::detail::channel_ptr::channel_ptr(std::size_t read_buff_size, std::unique_ptr<any_stream> stream)
|
|
: chan_(new channel(read_buff_size, std::move(stream)))
|
|
{
|
|
}
|
|
|
|
boost::mysql::detail::channel_ptr::channel_ptr(channel_ptr&& rhs) noexcept : chan_(std::move(rhs.chan_)) {}
|
|
|
|
boost::mysql::detail::channel_ptr& boost::mysql::detail::channel_ptr::operator=(channel_ptr&& rhs) noexcept
|
|
{
|
|
chan_ = std::move(rhs.chan_);
|
|
return *this;
|
|
}
|
|
|
|
boost::mysql::detail::channel_ptr::~channel_ptr() {}
|
|
|
|
boost::mysql::detail::any_stream& boost::mysql::detail::channel_ptr::get_stream() const
|
|
{
|
|
return chan_->stream();
|
|
}
|
|
|
|
boost::mysql::metadata_mode boost::mysql::detail::channel_ptr::meta_mode() const noexcept
|
|
{
|
|
return chan_->meta_mode();
|
|
}
|
|
|
|
void boost::mysql::detail::channel_ptr::set_meta_mode(metadata_mode v) noexcept { chan_->set_meta_mode(v); }
|
|
|
|
boost::mysql::diagnostics& boost::mysql::detail::channel_ptr::shared_diag() noexcept
|
|
{
|
|
return chan_->shared_diag();
|
|
}
|
|
|
|
std::vector<boost::mysql::field_view>& boost::mysql::detail::get_shared_fields(channel& chan) noexcept
|
|
{
|
|
return chan.shared_fields();
|
|
}
|
|
|
|
#endif
|