PageRenderTime 9ms CodeModel.GetById 2ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/asio/detail/null_event.hpp

http://hadesmem.googlecode.com/
C++ Header | 77 lines | 45 code | 17 blank | 15 comment | 2 complexity | d68d0b6ee354bffadf26586db3beaccc MD5 | raw file
 1//
 2// detail/null_event.hpp
 3// ~~~~~~~~~~~~~~~~~~~~~
 4//
 5// Copyright (c) 2003-2011 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 BOOST_ASIO_DETAIL_NULL_EVENT_HPP
12#define BOOST_ASIO_DETAIL_NULL_EVENT_HPP
13
14#if defined(_MSC_VER) && (_MSC_VER >= 1200)
15# pragma once
16#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
18#include <boost/asio/detail/config.hpp>
19
20#if !defined(BOOST_HAS_THREADS) || defined(BOOST_ASIO_DISABLE_THREADS)
21
22#include <boost/asio/detail/noncopyable.hpp>
23
24#include <boost/asio/detail/push_options.hpp>
25
26namespace boost {
27namespace asio {
28namespace detail {
29
30class null_event
31  : private noncopyable
32{
33public:
34  // Constructor.
35  null_event()
36  {
37  }
38
39  // Destructor.
40  ~null_event()
41  {
42  }
43
44  // Signal the event.
45  template <typename Lock>
46  void signal(Lock&)
47  {
48  }
49
50  // Signal the event and unlock the mutex.
51  template <typename Lock>
52  void signal_and_unlock(Lock&)
53  {
54  }
55
56  // Reset the event.
57  template <typename Lock>
58  void clear(Lock&)
59  {
60  }
61
62  // Wait for the event to become signalled.
63  template <typename Lock>
64  void wait(Lock&)
65  {
66  }
67};
68
69} // namespace detail
70} // namespace asio
71} // namespace boost
72
73#include <boost/asio/detail/pop_options.hpp>
74
75#endif // !defined(BOOST_HAS_THREADS) || defined(BOOST_ASIO_DISABLE_THREADS)
76
77#endif // BOOST_ASIO_DETAIL_NULL_EVENT_HPP