forked from boostorg/beast
		
	
		
			
	
	
		
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
|   | //
 | ||
|  | // Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco 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 BEAST_EXAMPLE_SERVER_FRAMEWORK_HPP
 | ||
|  | #define BEAST_EXAMPLE_SERVER_FRAMEWORK_HPP
 | ||
|  | 
 | ||
|  | #include <boost/asio/io_service.hpp>
 | ||
|  | #include <boost/asio/strand.hpp>
 | ||
|  | #include <boost/asio/ip/tcp.hpp>
 | ||
|  | #include <boost/system/error_code.hpp>
 | ||
|  | #include <utility>
 | ||
|  | 
 | ||
|  | /** The framework namespace
 | ||
|  | 
 | ||
|  |     This namespace contains all of the identifiers in the | ||
|  |     server-framework system. Here we import some commonly | ||
|  |     used types for brevity. | ||
|  | */ | ||
|  | namespace framework { | ||
|  | 
 | ||
|  | // This is our own base from member idiom written for C++11
 | ||
|  | // which is simple and works around a glitch in boost's version.
 | ||
|  | //
 | ||
|  | template<class T> | ||
|  | class base_from_member | ||
|  | { | ||
|  | public: | ||
|  |     template<class... Args> | ||
|  |     explicit | ||
|  |     base_from_member(Args&&... args) | ||
|  |         : member(std::forward<Args>(args)...) | ||
|  |     { | ||
|  |     } | ||
|  | 
 | ||
|  | protected: | ||
|  |     T member; | ||
|  | }; | ||
|  | 
 | ||
|  | using error_code = boost::system::error_code; | ||
|  | using socket_type = boost::asio::ip::tcp::socket; | ||
|  | using strand_type = boost::asio::io_service::strand; | ||
|  | using address_type = boost::asio::ip::address_v4; | ||
|  | using endpoint_type = boost::asio::ip::tcp::endpoint; | ||
|  | using acceptor_type = boost::asio::ip::tcp::acceptor; | ||
|  | using io_service_type = boost::asio::io_service; | ||
|  | 
 | ||
|  | } // framework
 | ||
|  | 
 | ||
|  | #endif
 |