728x90
반응형
buffer_copy
boost::asio::buffer_copy 함수는 소스 버퍼(또는 버퍼 시퀀스)에서 대상 버퍼(또는 버퍼 시퀀스)로 바이트를 복사하는 데 사용된다.
소스 버퍼 시퀀스에서 대상 버퍼 시퀀스로 바이트를 복사한다.
template< typename MutableBufferSequence, typename ConstBufferSequence> std::size_t buffer_copy( const MutableBufferSequence & target, const ConstBufferSequence & source);
제한된 수의 바이트를 소스 버퍼 시퀀스에서 대상 버퍼 시퀀스로 복하한다.
template< typename MutableBufferSequence, typename ConstBufferSequence> std::size_t buffer_copy( const MutableBufferSequence & target, const ConstBufferSequence & source, std::size_t max_bytes_to_copy);
buffer_copy 함수는 두 가지 형식으로 사용할 수 있다:
- 2개-인수 형식 : buffer_copy(target, source)
- 3개-인수 형식 : buffer_copy(target, source, max_bytes_to_copy)
두 형식 모두 실제로 복사된 바이트 수를 반환한다. 복사된 바이트 수는 다음 중 더 적은 값이다:
- buffer_size(target) : 대상 버퍼 크기
- buffer_size(source) : 소스 버퍼 크기
- 3개-인수 형식인 경우 max_bytes_to_copy : 복사 크기
이렇게 하면 복사 작업에 사용되는 버퍼 크기에 상관없이 버퍼 오버플로우를 방지할 수 있다.
buffer_copy는 memcpy를 기반으로 구현되므로, 겹치는 메모리 영역 간에 복사 작업에 사용할 수 없다.
요구 사항
일반 헤더: boost/asio/buffer.hpp
편의 헤더: boost/asio.hpp
Boost.Asio 홈
728x90
반응형
'Boost C++ Libraries > Boost.Asio' 카테고리의 다른 글
Boost.Asio 색인 - buffer_sequence_end (0) | 2021.01.13 |
---|---|
Boost.Asio 색인 - buffer_sequence_begin (0) | 2021.01.13 |
Boost.Asio 색인 - buffer_cast (0) | 2021.01.13 |
Boost.Asio 색인 - buffers_iterator::buffers_iterator (0) | 2021.01.13 |
Boost.Asio 색인 - buffers_end (0) | 2021.01.13 |