Blame view

3rdparty/boost_1_81_0/boost/chrono/thread_clock.hpp 2.2 KB
63e88f80   Hu Chunming   提交三方库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
  //  boost/chrono/thread_clock.hpp  -----------------------------------------------------------//
  
  //  Copyright 2009-2011 Vicente J. Botet Escriba
  
  //  Distributed under the Boost Software License, Version 1.0.
  //  See http://www.boost.org/LICENSE_1_0.txt
  
  //  See http://www.boost.org/libs/system for documentation.
  
  #include <boost/chrono/config.hpp>
  
  #ifndef BOOST_CHRONO_THREAD_CLOCK_HPP
  #define BOOST_CHRONO_THREAD_CLOCK_HPP
  
  #if defined(BOOST_CHRONO_HAS_THREAD_CLOCK)
  
  #include <boost/chrono/config.hpp>
  #include <boost/chrono/duration.hpp>
  #include <boost/chrono/time_point.hpp>
  #include <boost/chrono/detail/system.hpp>
  #include <boost/chrono/clock_string.hpp>
  
  #ifndef BOOST_CHRONO_HEADER_ONLY
  #include <boost/config/abi_prefix.hpp> // must be the last #include
  #endif
  
  namespace boost { namespace chrono {
  
  class BOOST_CHRONO_DECL thread_clock {
  public:
      typedef nanoseconds                          duration;
      typedef duration::rep                        rep;
      typedef duration::period                     period;
      typedef chrono::time_point<thread_clock>    time_point;
      BOOST_STATIC_CONSTEXPR bool is_steady =             BOOST_CHRONO_THREAD_CLOCK_IS_STEADY;
  
      static BOOST_CHRONO_INLINE time_point now( ) BOOST_NOEXCEPT;
  #if !defined BOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING
      static BOOST_CHRONO_INLINE time_point now( system::error_code & ec );
  #endif
  };
  
  template <class CharT>
  struct clock_string<thread_clock, CharT>
  {
    static std::basic_string<CharT> name()
    {
      static const CharT u[] =
      { 't', 'h', 'r', 'e', 'a', 'd', '_',
        'c', 'l','o', 'c', 'k'};
      static const std::basic_string<CharT> str(u, u + sizeof(u)/sizeof(u[0]));
      return str;
    }
    static std::basic_string<CharT> since()
    {
      const CharT u[] =
      { ' ', 's', 'i', 'n', 'c', 'e', ' ', 't', 'h', 'r', 'e', 'a', 'd', ' ', 's', 't', 'a', 'r', 't', '-', 'u', 'p'};
      const std::basic_string<CharT> str(u, u + sizeof(u)/sizeof(u[0]));
      return str;
    }
  };
  
  } // namespace chrono
  } // namespace boost
  
  
  #ifndef BOOST_CHRONO_HEADER_ONLY
  #include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
  #else
  #include <boost/chrono/detail/inlined/thread_clock.hpp>
  #endif
  
  #endif
  
  #endif  // BOOST_CHRONO_THREAD_CLOCK_HPP