]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/chrono/test/win32_test.cpp
1 // boost win32_test.cpp -----------------------------------------------------//
3 // Copyright 2010 Vicente J. Botet Escriba
5 // Distributed under the Boost Software License, Version 1.0.
6 // See http://www.boost.org/LICENSE_1_0.txt
8 // See http://www.boost.org/libs/chrono for documentation.
9 #include <boost/chrono/config.hpp>
10 #include <boost/detail/lightweight_test.hpp>
11 #if defined(BOOST_CHRONO_WINDOWS_API) || defined(__CYGWIN__)
13 #include <boost/chrono/detail/static_assert.hpp>
14 #if !defined(BOOST_NO_CXX11_STATIC_ASSERT)
18 #include <boost/type_traits.hpp>
19 #include <boost/typeof/typeof.hpp>
20 #undef BOOST_USE_WINDOWS_H
21 #include <boost/detail/winapi/basic_types.hpp>
22 #include <boost/detail/winapi/time.hpp>
27 boost::detail::winapi::LARGE_INTEGER_ a
;
29 BOOST_CHRONO_STATIC_ASSERT((
30 sizeof(boost::detail::winapi::LARGE_INTEGER_
)==sizeof(LARGE_INTEGER
)
31 ), NOTHING
, (boost::detail::winapi::LARGE_INTEGER_
, LARGE_INTEGER
));
33 sizeof(a
.QuadPart
)==sizeof(b
.QuadPart
)
35 BOOST_CHRONO_STATIC_ASSERT((
36 offsetof(boost::detail::winapi::LARGE_INTEGER_
, QuadPart
)==offsetof(LARGE_INTEGER
, QuadPart
)
37 ), NOTHING
, (boost::detail::winapi::LARGE_INTEGER_
, LARGE_INTEGER
));
38 BOOST_CHRONO_STATIC_ASSERT((
40 BOOST_TYPEOF(a
.QuadPart
),
41 BOOST_TYPEOF(b
.QuadPart
)
43 ), NOTHING
, (boost::detail::winapi::LARGE_INTEGER_
, LARGE_INTEGER
));
46 BOOST_CHRONO_STATIC_ASSERT((
47 sizeof(boost::detail::winapi::BOOL_
)==sizeof(BOOL
)
48 ), NOTHING
, (boost::detail::winapi::BOOL_
, BOOL
));
49 BOOST_CHRONO_STATIC_ASSERT((
50 boost::is_same
<boost::detail::winapi::BOOL_
,BOOL
>::value
51 ), NOTHING
, (boost::detail::winapi::BOOL_
, BOOL
));
53 BOOST_CHRONO_STATIC_ASSERT((
54 sizeof(boost::detail::winapi::DWORD_
)==sizeof(DWORD
)
55 ), NOTHING
, (boost::detail::winapi::DWORD_
, DWORD
));
56 BOOST_CHRONO_STATIC_ASSERT((
57 boost::is_same
<boost::detail::winapi::DWORD_
,DWORD
>::value
58 ), NOTHING
, (boost::detail::winapi::DWORD_
, DWORD
));
60 BOOST_CHRONO_STATIC_ASSERT((
61 sizeof(boost::detail::winapi::HANDLE_
)==sizeof(HANDLE
)
62 ), NOTHING
, (boost::detail::winapi::HANDLE_
, HANDLE
));
63 BOOST_CHRONO_STATIC_ASSERT((
64 boost::is_same
<boost::detail::winapi::HANDLE_
,HANDLE
>::value
65 ), NOTHING
, (boost::detail::winapi::HANDLE_
, HANDLE
));
67 BOOST_CHRONO_STATIC_ASSERT((
68 sizeof(boost::detail::winapi::LONG_
)==sizeof(LONG
)
69 ), NOTHING
, (boost::detail::winapi::LONG_
, LONG
));
70 BOOST_CHRONO_STATIC_ASSERT((
71 boost::is_same
<boost::detail::winapi::LONG_
,LONG
>::value
72 ), NOTHING
, (boost::detail::winapi::LONG_
, LONG
));
74 BOOST_CHRONO_STATIC_ASSERT((
75 sizeof(boost::detail::winapi::LONGLONG_
)==sizeof(LONGLONG
)
76 ), NOTHING
, (boost::detail::winapi::LONGLONG_
, LONGLONG
));
77 BOOST_CHRONO_STATIC_ASSERT((
78 boost::is_same
<boost::detail::winapi::LONGLONG_
,LONGLONG
>::value
79 ), NOTHING
, (boost::detail::winapi::LONGLONG_
, LONGLONG
));
81 BOOST_CHRONO_STATIC_ASSERT((
82 sizeof(boost::detail::winapi::ULONG_PTR_
)==sizeof(ULONG_PTR
)
83 ), NOTHING
, (boost::detail::winapi::ULONG_PTR_
, ULONG_PTR
));
84 BOOST_CHRONO_STATIC_ASSERT((
85 boost::is_same
<boost::detail::winapi::ULONG_PTR_
,ULONG_PTR
>::value
86 ), NOTHING
, (boost::detail::winapi::ULONG_PTR_
, ULONG_PTR
));
88 BOOST_CHRONO_STATIC_ASSERT((
89 sizeof(boost::detail::winapi::PLARGE_INTEGER_
)==sizeof(PLARGE_INTEGER
)
90 ), NOTHING
, (boost::detail::winapi::PLARGE_INTEGER_
, PLARGE_INTEGER
));
91 //~ BOOST_CHRONO_STATIC_ASSERT((
92 //~ boost::is_same<boost::detail::winapi::PLARGE_INTEGER_,PLARGE_INTEGER>::value
93 //~ ), NOTHING, (boost::detail::winapi::PLARGE_INTEGER_, PLARGE_INTEGER));
96 BOOST_CHRONO_STATIC_ASSERT((
97 sizeof(boost::detail::winapi::FILETIME_
)==sizeof(FILETIME
)
98 ), NOTHING
, (boost::detail::winapi::FILETIME_
, FILETIME
));
100 BOOST_CHRONO_STATIC_ASSERT((
101 sizeof(boost::detail::winapi::PFILETIME_
)==sizeof(PFILETIME
)
102 ), NOTHING
, (boost::detail::winapi::PFILETIME_
, PFILETIME
));
105 boost::detail::winapi::FILETIME_ a
;
108 sizeof(a
.dwLowDateTime
)==sizeof(b
.dwLowDateTime
)
111 sizeof(a
.dwHighDateTime
)==sizeof(b
.dwHighDateTime
)
113 BOOST_CHRONO_STATIC_ASSERT((
114 offsetof(boost::detail::winapi::FILETIME_
, dwLowDateTime
)==offsetof(FILETIME
, dwLowDateTime
)
115 ), NOTHING
, (boost::detail::winapi::FILETIME_
, FILETIME
));
116 BOOST_CHRONO_STATIC_ASSERT((
117 offsetof(boost::detail::winapi::FILETIME_
, dwHighDateTime
)==offsetof(FILETIME
, dwHighDateTime
)
118 ), NOTHING
, (boost::detail::winapi::FILETIME_
, FILETIME
));
119 BOOST_CHRONO_STATIC_ASSERT((
121 BOOST_TYPEOF(a
.dwLowDateTime
),
122 BOOST_TYPEOF(b
.dwLowDateTime
)
124 ), NOTHING
, (boost::detail::winapi::FILETIME_
, FILETIME
));
125 BOOST_CHRONO_STATIC_ASSERT((
127 BOOST_TYPEOF(a
.dwHighDateTime
),
128 BOOST_TYPEOF(b
.dwHighDateTime
)
130 ), NOTHING
, (boost::detail::winapi::FILETIME_
, FILETIME
));
134 // BOOST_CHRONO_STATIC_ASSERT((
135 // GetLastError==boost::detail::winapi::::GetLastError
147 return boost::report_errors();