CppServer  1.0.4.0
C++ Server Library
asio.h
Go to the documentation of this file.
1 
9 #ifndef CPPSERVER_ASIO_H
10 #define CPPSERVER_ASIO_H
11 
12 #include <iostream>
13 
14 #if defined(__clang__)
15 #pragma clang system_header
16 #elif defined(__GNUC__)
17 #pragma GCC system_header
18 #elif defined(_MSC_VER)
19 #pragma system_header
20 #endif
21 
22 #if defined(__CYGWIN__)
23 
24 #include <boost/asio.hpp>
25 #include <boost/asio/ssl.hpp>
26 
27 #else
28 
29 #define ASIO_STANDALONE
30 #define ASIO_SEPARATE_COMPILATION
31 #define ASIO_NO_WIN32_LEAN_AND_MEAN
32 
33 #if defined(_MSC_VER)
34 #pragma warning(push)
35 #pragma warning(disable: 4459) // C4459: declaration of 'identifier' hides global declaration
36 #endif
37 
38 #include <asio.hpp>
39 #include <asio/ssl.hpp>
40 
41 #if defined(_MSC_VER)
42 #pragma warning(pop)
43 #endif
44 
45 #if defined(_WIN32) || defined(_WIN64)
46 #undef DELETE
47 #undef ERROR
48 #undef Yield
49 #undef min
50 #undef max
51 #undef uuid_t
52 #endif
53 
54 #endif
55 
56 namespace CppServer {
57 
62 namespace Asio {
63 
65 enum class InternetProtocol
66 {
67  IPv4,
68  IPv6
69 };
70 
72 
77 template <class TOutputStream>
78 TOutputStream& operator<<(TOutputStream& stream, InternetProtocol protocol);
79 
80 } // namespace Asio
81 } // namespace CppServer
82 
83 #include "asio.inl"
84 
85 #endif // CPPSERVER_ASIO_H
Asio C++ Library inline implementation.
TOutputStream & operator<<(TOutputStream &stream, InternetProtocol protocol)
Stream output: Internet protocol.
Definition: asio.inl:13
InternetProtocol
Internet protocol.
Definition: asio.h:66
@ IPv4
Internet Protocol version 4.
@ IPv6
Internet Protocol version 6.
C++ Server project definitions.
Definition: asio.h:56