1 //
2 // gettable_socket_option.hpp
3 // ~~~~~~~~~~~~~~~~~~~~~~~~~~
4 //
5 // Copyright (c) 2003-2019 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6 //
7 // Distributed under the Boost Software License, Version 1.0. (See accompanying
8 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9 //
10 
11 #ifndef ARCHETYPES_GETTABLE_SOCKET_OPTION_HPP
12 #define ARCHETYPES_GETTABLE_SOCKET_OPTION_HPP
13 
14 #include <cstddef>
15 
16 namespace archetypes {
17 
18 template <typename PointerType>
19 class gettable_socket_option
20 {
21 public:
22   template <typename Protocol>
level(const Protocol &) const23   int level(const Protocol&) const
24   {
25     return 0;
26   }
27 
28   template <typename Protocol>
name(const Protocol &) const29   int name(const Protocol&) const
30   {
31     return 0;
32   }
33 
34   template <typename Protocol>
data(const Protocol &)35   PointerType* data(const Protocol&)
36   {
37     return 0;
38   }
39 
40   template <typename Protocol>
size(const Protocol &) const41   std::size_t size(const Protocol&) const
42   {
43     return 0;
44   }
45 
46   template <typename Protocol>
resize(const Protocol &,std::size_t)47   void resize(const Protocol&, std::size_t)
48   {
49   }
50 };
51 
52 } // namespace archetypes
53 
54 #endif // ARCHETYPES_GETTABLE_SOCKET_OPTION_HPP
55