Covellite++  Version: 2.3.0 Revision: 2580 Platform: x64 Build: 15:23 16.10.2020
Кроссплатформенный фреймворк для разработки приложений на С++
Predefined.hpp
См. документацию.
1 
2 #pragma once
3 
9 #include <Covellite/Predefined.forward.hpp>
10 
11 #if BOOST_OS_WINDOWS
12 #include <any>
13 #elif BOOST_PLAT_ANDROID
14 #include <boost/any.hpp>
15 #endif
16 
17 namespace covellite
18 {
19 
20 template<class T>
21 inline T any_cast(const Any_t & _Value)
22 {
23  return any_location::any_cast<T>(_Value);
24 }
25 
26 template<class T>
27 inline T any_cast(Any_t & _Value)
28 {
29  return any_location::any_cast<T>(_Value);
30 }
31 
32 inline bool has_value(const Any_t & _Value) noexcept
33 {
34 # if BOOST_OS_WINDOWS
35  return _Value.has_value();
36 # elif BOOST_PLAT_ANDROID
37  return !_Value.empty();
38 # endif
39 }
40 
41 class Rect final
42 {
43 public:
44  int32_t Left;
45  int32_t Top;
46  int32_t Width;
47  int32_t Height;
48 };
49 
50 } // namespace covellite