$search
00001 // 00002 // read_at.hpp 00003 // ~~~~~~~~~~~ 00004 // 00005 // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com) 00006 // 00007 // Distributed under the Boost Software License, Version 1.0. (See accompanying 00008 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 00009 // 00010 00011 #ifndef ASIO_READ_AT_HPP 00012 #define ASIO_READ_AT_HPP 00013 00014 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 00015 # pragma once 00016 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 00017 00018 #include "asio/detail/push_options.hpp" 00019 00020 #include "asio/detail/push_options.hpp" 00021 #include <cstddef> 00022 #include <boost/config.hpp> 00023 #include <boost/cstdint.hpp> 00024 #include "asio/detail/pop_options.hpp" 00025 00026 #include "asio/basic_streambuf.hpp" 00027 #include "asio/error.hpp" 00028 00029 namespace asio { 00030 00038 00041 00079 template <typename SyncRandomAccessReadDevice, typename MutableBufferSequence> 00080 std::size_t read_at(SyncRandomAccessReadDevice& d, 00081 boost::uint64_t offset, const MutableBufferSequence& buffers); 00082 00085 00133 template <typename SyncRandomAccessReadDevice, typename MutableBufferSequence, 00134 typename CompletionCondition> 00135 std::size_t read_at(SyncRandomAccessReadDevice& d, 00136 boost::uint64_t offset, const MutableBufferSequence& buffers, 00137 CompletionCondition completion_condition); 00138 00141 00182 template <typename SyncRandomAccessReadDevice, typename MutableBufferSequence, 00183 typename CompletionCondition> 00184 std::size_t read_at(SyncRandomAccessReadDevice& d, 00185 boost::uint64_t offset, const MutableBufferSequence& buffers, 00186 CompletionCondition completion_condition, asio::error_code& ec); 00187 00190 00216 template <typename SyncRandomAccessReadDevice, typename Allocator> 00217 std::size_t read_at(SyncRandomAccessReadDevice& d, 00218 boost::uint64_t offset, basic_streambuf<Allocator>& b); 00219 00222 00257 template <typename SyncRandomAccessReadDevice, typename Allocator, 00258 typename CompletionCondition> 00259 std::size_t read_at(SyncRandomAccessReadDevice& d, 00260 boost::uint64_t offset, basic_streambuf<Allocator>& b, 00261 CompletionCondition completion_condition); 00262 00265 00301 template <typename SyncRandomAccessReadDevice, typename Allocator, 00302 typename CompletionCondition> 00303 std::size_t read_at(SyncRandomAccessReadDevice& d, 00304 boost::uint64_t offset, basic_streambuf<Allocator>& b, 00305 CompletionCondition completion_condition, asio::error_code& ec); 00306 00315 00318 00375 template <typename AsyncRandomAccessReadDevice, typename MutableBufferSequence, 00376 typename ReadHandler> 00377 void async_read_at(AsyncRandomAccessReadDevice& d, boost::uint64_t offset, 00378 const MutableBufferSequence& buffers, ReadHandler handler); 00379 00382 00445 template <typename AsyncRandomAccessReadDevice, typename MutableBufferSequence, 00446 typename CompletionCondition, typename ReadHandler> 00447 void async_read_at(AsyncRandomAccessReadDevice& d, 00448 boost::uint64_t offset, const MutableBufferSequence& buffers, 00449 CompletionCondition completion_condition, ReadHandler handler); 00450 00453 00496 template <typename AsyncRandomAccessReadDevice, typename Allocator, 00497 typename ReadHandler> 00498 void async_read_at(AsyncRandomAccessReadDevice& d, boost::uint64_t offset, 00499 basic_streambuf<Allocator>& b, ReadHandler handler); 00500 00503 00554 template <typename AsyncRandomAccessReadDevice, typename Allocator, 00555 typename CompletionCondition, typename ReadHandler> 00556 void async_read_at(AsyncRandomAccessReadDevice& d, 00557 boost::uint64_t offset, basic_streambuf<Allocator>& b, 00558 CompletionCondition completion_condition, ReadHandler handler); 00559 00562 } // namespace asio 00563 00564 #include "asio/impl/read_at.ipp" 00565 00566 #include "asio/detail/pop_options.hpp" 00567 00568 #endif // ASIO_READ_AT_HPP