diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-02-11 12:14:00 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-02-11 12:14:00 (GMT) |
commit | 0efa7c32aaf21a29b42b5926cc116007056843be (patch) | |
tree | 882f663a5dd0e65694bf6077b71086dd77fd7ff8 /3rdParty/Boost/boost/asio/local | |
parent | 1d20eabbc32274b491b4c2bedf73d19933d97bfd (diff) | |
download | swift-0efa7c32aaf21a29b42b5926cc116007056843be.zip swift-0efa7c32aaf21a29b42b5926cc116007056843be.tar.bz2 |
Moved some modules into separate git modules.
Diffstat (limited to '3rdParty/Boost/boost/asio/local')
m--------- | 3rdParty/Boost | 0 | ||||
-rw-r--r-- | 3rdParty/Boost/boost/asio/local/basic_endpoint.hpp | 267 | ||||
-rw-r--r-- | 3rdParty/Boost/boost/asio/local/connect_pair.hpp | 102 | ||||
-rw-r--r-- | 3rdParty/Boost/boost/asio/local/datagram_protocol.hpp | 80 | ||||
-rw-r--r-- | 3rdParty/Boost/boost/asio/local/stream_protocol.hpp | 88 |
5 files changed, 0 insertions, 537 deletions
diff --git a/3rdParty/Boost b/3rdParty/Boost new file mode 160000 +Subproject 3bbdbc8cf1996f23d9a366da8bac0f97be6ad79 diff --git a/3rdParty/Boost/boost/asio/local/basic_endpoint.hpp b/3rdParty/Boost/boost/asio/local/basic_endpoint.hpp deleted file mode 100644 index dc927b7..0000000 --- a/3rdParty/Boost/boost/asio/local/basic_endpoint.hpp +++ /dev/null @@ -1,267 +0,0 @@ -// -// basic_endpoint.hpp -// ~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// Derived from a public domain implementation written by Daniel Casimiro. -// -// 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_ASIO_LOCAL_BASIC_ENDPOINT_HPP -#define BOOST_ASIO_LOCAL_BASIC_ENDPOINT_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include <boost/asio/detail/push_options.hpp> - -#include <boost/asio/detail/push_options.hpp> -#include <boost/throw_exception.hpp> -#include <cstddef> -#include <cstring> -#include <ostream> -#include <boost/system/system_error.hpp> -#include <boost/asio/detail/pop_options.hpp> - -#include <boost/asio/error.hpp> -#include <boost/asio/detail/socket_ops.hpp> -#include <boost/asio/detail/socket_types.hpp> -#include <boost/asio/detail/throw_error.hpp> - -#if !defined(BOOST_ASIO_DISABLE_LOCAL_SOCKETS) -# if !defined(BOOST_WINDOWS) && !defined(__CYGWIN__) -# define BOOST_ASIO_HAS_LOCAL_SOCKETS 1 -# endif // !defined(BOOST_WINDOWS) && !defined(__CYGWIN__) -#endif // !defined(BOOST_ASIO_DISABLE_LOCAL_SOCKETS) - -#if defined(BOOST_ASIO_HAS_LOCAL_SOCKETS) \ - || defined(GENERATING_DOCUMENTATION) - - -namespace boost { -namespace asio { -namespace local { - -/// Describes an endpoint for a UNIX socket. -/** - * The boost::asio::local::basic_endpoint class template describes an endpoint - * that may be associated with a particular UNIX socket. - * - * @par Thread Safety - * @e Distinct @e objects: Safe.@n - * @e Shared @e objects: Unsafe. - * - * @par Concepts: - * Endpoint. - */ -template <typename Protocol> -class basic_endpoint -{ -public: - /// The protocol type associated with the endpoint. - typedef Protocol protocol_type; - - /// The type of the endpoint structure. This type is dependent on the - /// underlying implementation of the socket layer. -#if defined(GENERATING_DOCUMENTATION) - typedef implementation_defined data_type; -#else - typedef boost::asio::detail::socket_addr_type data_type; -#endif - - /// Default constructor. - basic_endpoint() - { - init("", 0); - } - - /// Construct an endpoint using the specified path name. - basic_endpoint(const char* path) - { - using namespace std; // For strlen. - init(path, strlen(path)); - } - - /// Construct an endpoint using the specified path name. - basic_endpoint(const std::string& path) - { - init(path.data(), path.length()); - } - - /// Copy constructor. - basic_endpoint(const basic_endpoint& other) - : data_(other.data_), - path_length_(other.path_length_) - { - } - - /// Assign from another endpoint. - basic_endpoint& operator=(const basic_endpoint& other) - { - data_ = other.data_; - path_length_ = other.path_length_; - return *this; - } - - /// The protocol associated with the endpoint. - protocol_type protocol() const - { - return protocol_type(); - } - - /// Get the underlying endpoint in the native type. - data_type* data() - { - return &data_.base; - } - - /// Get the underlying endpoint in the native type. - const data_type* data() const - { - return &data_.base; - } - - /// Get the underlying size of the endpoint in the native type. - std::size_t size() const - { - return path_length_ - + offsetof(boost::asio::detail::sockaddr_un_type, sun_path); - } - - /// Set the underlying size of the endpoint in the native type. - void resize(std::size_t size) - { - if (size > sizeof(boost::asio::detail::sockaddr_un_type)) - { - boost::system::system_error e(boost::asio::error::invalid_argument); - boost::throw_exception(e); - } - else if (size == 0) - { - path_length_ = 0; - } - else - { - path_length_ = size - - offsetof(boost::asio::detail::sockaddr_un_type, sun_path); - - // The path returned by the operating system may be NUL-terminated. - if (path_length_ > 0 && data_.local.sun_path[path_length_ - 1] == 0) - --path_length_; - } - } - - /// Get the capacity of the endpoint in the native type. - std::size_t capacity() const - { - return sizeof(boost::asio::detail::sockaddr_un_type); - } - - /// Get the path associated with the endpoint. - std::string path() const - { - return std::string(data_.local.sun_path, path_length_); - } - - /// Set the path associated with the endpoint. - void path(const char* p) - { - using namespace std; // For strlen. - init(p, strlen(p)); - } - - /// Set the path associated with the endpoint. - void path(const std::string& p) - { - init(p.data(), p.length()); - } - - /// Compare two endpoints for equality. - friend bool operator==(const basic_endpoint<Protocol>& e1, - const basic_endpoint<Protocol>& e2) - { - return e1.path() == e2.path(); - } - - /// Compare two endpoints for inequality. - friend bool operator!=(const basic_endpoint<Protocol>& e1, - const basic_endpoint<Protocol>& e2) - { - return e1.path() != e2.path(); - } - - /// Compare endpoints for ordering. - friend bool operator<(const basic_endpoint<Protocol>& e1, - const basic_endpoint<Protocol>& e2) - { - return e1.path() < e2.path(); - } - -private: - // The underlying UNIX socket address. - union data_union - { - boost::asio::detail::socket_addr_type base; - boost::asio::detail::sockaddr_un_type local; - } data_; - - // The length of the path associated with the endpoint. - std::size_t path_length_; - - // Initialise with a specified path. - void init(const char* path, std::size_t path_length) - { - if (path_length > sizeof(data_.local.sun_path) - 1) - { - // The buffer is not large enough to store this address. - boost::system::error_code ec(boost::asio::error::name_too_long); - boost::asio::detail::throw_error(ec); - } - - using namespace std; // For memcpy. - data_.local = boost::asio::detail::sockaddr_un_type(); - data_.local.sun_family = AF_UNIX; - memcpy(data_.local.sun_path, path, path_length); - path_length_ = path_length; - - // NUL-terminate normal path names. Names that start with a NUL are in the - // UNIX domain protocol's "abstract namespace" and are not NUL-terminated. - if (path_length > 0 && data_.local.sun_path[0] == 0) - data_.local.sun_path[path_length] = 0; - } -}; - -/// Output an endpoint as a string. -/** - * Used to output a human-readable string for a specified endpoint. - * - * @param os The output stream to which the string will be written. - * - * @param endpoint The endpoint to be written. - * - * @return The output stream. - * - * @relates boost::asio::local::basic_endpoint - */ -template <typename Elem, typename Traits, typename Protocol> -std::basic_ostream<Elem, Traits>& operator<<( - std::basic_ostream<Elem, Traits>& os, - const basic_endpoint<Protocol>& endpoint) -{ - os << endpoint.path(); - return os; -} - -} // namespace local -} // namespace asio -} // namespace boost - -#endif // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS) - // || defined(GENERATING_DOCUMENTATION) - -#include <boost/asio/detail/pop_options.hpp> - -#endif // BOOST_ASIO_LOCAL_BASIC_ENDPOINT_HPP diff --git a/3rdParty/Boost/boost/asio/local/connect_pair.hpp b/3rdParty/Boost/boost/asio/local/connect_pair.hpp deleted file mode 100644 index 39a5e2a..0000000 --- a/3rdParty/Boost/boost/asio/local/connect_pair.hpp +++ /dev/null @@ -1,102 +0,0 @@ -// -// connect_pair.hpp -// ~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff 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_ASIO_LOCAL_CONNECT_PAIR_HPP -#define BOOST_ASIO_LOCAL_CONNECT_PAIR_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include <boost/asio/detail/push_options.hpp> - -#include <boost/asio/basic_socket.hpp> -#include <boost/asio/error.hpp> -#include <boost/asio/local/basic_endpoint.hpp> -#include <boost/asio/detail/socket_ops.hpp> -#include <boost/asio/detail/throw_error.hpp> - -#if defined(BOOST_ASIO_HAS_LOCAL_SOCKETS) \ - || defined(GENERATING_DOCUMENTATION) - -namespace boost { -namespace asio { -namespace local { - -/// Create a pair of connected sockets. -template <typename Protocol, typename SocketService1, typename SocketService2> -void connect_pair( - basic_socket<Protocol, SocketService1>& socket1, - basic_socket<Protocol, SocketService2>& socket2); - -/// Create a pair of connected sockets. -template <typename Protocol, typename SocketService1, typename SocketService2> -boost::system::error_code connect_pair( - basic_socket<Protocol, SocketService1>& socket1, - basic_socket<Protocol, SocketService2>& socket2, - boost::system::error_code& ec); - -template <typename Protocol, typename SocketService1, typename SocketService2> -inline void connect_pair( - basic_socket<Protocol, SocketService1>& socket1, - basic_socket<Protocol, SocketService2>& socket2) -{ - boost::system::error_code ec; - connect_pair(socket1, socket2, ec); - boost::asio::detail::throw_error(ec); -} - -template <typename Protocol, typename SocketService1, typename SocketService2> -inline boost::system::error_code connect_pair( - basic_socket<Protocol, SocketService1>& socket1, - basic_socket<Protocol, SocketService2>& socket2, - boost::system::error_code& ec) -{ - // Check that this function is only being used with a UNIX domain socket. - boost::asio::local::basic_endpoint<Protocol>* tmp - = static_cast<typename Protocol::endpoint*>(0); - (void)tmp; - - Protocol protocol; - boost::asio::detail::socket_type sv[2]; - if (boost::asio::detail::socket_ops::socketpair(protocol.family(), - protocol.type(), protocol.protocol(), sv, ec) - == boost::asio::detail::socket_error_retval) - return ec; - - if (socket1.assign(protocol, sv[0], ec)) - { - boost::system::error_code temp_ec; - boost::asio::detail::socket_ops::close(sv[0], temp_ec); - boost::asio::detail::socket_ops::close(sv[1], temp_ec); - return ec; - } - - if (socket2.assign(protocol, sv[1], ec)) - { - boost::system::error_code temp_ec; - socket1.close(temp_ec); - boost::asio::detail::socket_ops::close(sv[1], temp_ec); - return ec; - } - - return ec; -} - -} // namespace local -} // namespace asio -} // namespace boost - -#endif // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS) - // || defined(GENERATING_DOCUMENTATION) - -#include <boost/asio/detail/pop_options.hpp> - -#endif // BOOST_ASIO_LOCAL_CONNECT_PAIR_HPP diff --git a/3rdParty/Boost/boost/asio/local/datagram_protocol.hpp b/3rdParty/Boost/boost/asio/local/datagram_protocol.hpp deleted file mode 100644 index 75407c2..0000000 --- a/3rdParty/Boost/boost/asio/local/datagram_protocol.hpp +++ /dev/null @@ -1,80 +0,0 @@ -// -// datagram_protocol.hpp -// ~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff 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_ASIO_LOCAL_DATAGRAM_PROTOCOL_HPP -#define BOOST_ASIO_LOCAL_DATAGRAM_PROTOCOL_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include <boost/asio/detail/push_options.hpp> - -#include <boost/asio/basic_datagram_socket.hpp> -#include <boost/asio/local/basic_endpoint.hpp> -#include <boost/asio/detail/socket_types.hpp> - -#if defined(BOOST_ASIO_HAS_LOCAL_SOCKETS) \ - || defined(GENERATING_DOCUMENTATION) - -namespace boost { -namespace asio { -namespace local { - -/// Encapsulates the flags needed for datagram-oriented UNIX sockets. -/** - * The boost::asio::local::datagram_protocol class contains flags necessary for - * datagram-oriented UNIX domain sockets. - * - * @par Thread Safety - * @e Distinct @e objects: Safe.@n - * @e Shared @e objects: Safe. - * - * @par Concepts: - * Protocol. - */ -class datagram_protocol -{ -public: - /// Obtain an identifier for the type of the protocol. - int type() const - { - return SOCK_DGRAM; - } - - /// Obtain an identifier for the protocol. - int protocol() const - { - return 0; - } - - /// Obtain an identifier for the protocol family. - int family() const - { - return AF_UNIX; - } - - /// The type of a UNIX domain endpoint. - typedef basic_endpoint<datagram_protocol> endpoint; - - /// The UNIX domain socket type. - typedef basic_datagram_socket<datagram_protocol> socket; -}; - -} // namespace local -} // namespace asio -} // namespace boost - -#endif // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS) - // || defined(GENERATING_DOCUMENTATION) - -#include <boost/asio/detail/pop_options.hpp> - -#endif // BOOST_ASIO_LOCAL_DATAGRAM_PROTOCOL_HPP diff --git a/3rdParty/Boost/boost/asio/local/stream_protocol.hpp b/3rdParty/Boost/boost/asio/local/stream_protocol.hpp deleted file mode 100644 index 8839661..0000000 --- a/3rdParty/Boost/boost/asio/local/stream_protocol.hpp +++ /dev/null @@ -1,88 +0,0 @@ -// -// stream_protocol.hpp -// ~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff 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_ASIO_LOCAL_STREAM_PROTOCOL_HPP -#define BOOST_ASIO_LOCAL_STREAM_PROTOCOL_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1200) -# pragma once -#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) - -#include <boost/asio/detail/push_options.hpp> - -#include <boost/asio/basic_socket_acceptor.hpp> -#include <boost/asio/basic_socket_iostream.hpp> -#include <boost/asio/basic_stream_socket.hpp> -#include <boost/asio/local/basic_endpoint.hpp> -#include <boost/asio/detail/socket_types.hpp> - -#if defined(BOOST_ASIO_HAS_LOCAL_SOCKETS) \ - || defined(GENERATING_DOCUMENTATION) - -namespace boost { -namespace asio { -namespace local { - -/// Encapsulates the flags needed for stream-oriented UNIX sockets. -/** - * The boost::asio::local::stream_protocol class contains flags necessary for - * stream-oriented UNIX domain sockets. - * - * @par Thread Safety - * @e Distinct @e objects: Safe.@n - * @e Shared @e objects: Safe. - * - * @par Concepts: - * Protocol. - */ -class stream_protocol -{ -public: - /// Obtain an identifier for the type of the protocol. - int type() const - { - return SOCK_STREAM; - } - - /// Obtain an identifier for the protocol. - int protocol() const - { - return 0; - } - - /// Obtain an identifier for the protocol family. - int family() const - { - return AF_UNIX; - } - - /// The type of a UNIX domain endpoint. - typedef basic_endpoint<stream_protocol> endpoint; - - /// The UNIX domain socket type. - typedef basic_stream_socket<stream_protocol> socket; - - /// The UNIX domain acceptor type. - typedef basic_socket_acceptor<stream_protocol> acceptor; - - /// The UNIX domain iostream type. - typedef basic_socket_iostream<stream_protocol> iostream; -}; - -} // namespace local -} // namespace asio -} // namespace boost - -#endif // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS) - // || defined(GENERATING_DOCUMENTATION) - -#include <boost/asio/detail/pop_options.hpp> - -#endif // BOOST_ASIO_LOCAL_STREAM_PROTOCOL_HPP |