22#if (__cplusplus >= 201703L) && defined(OLP_SDK_USE_STD_ANY)
31inline T any_cast(
const any& operand) {
32 return std::any_cast<T>(operand);
36inline T any_cast(any& operand) {
37 return std::any_cast<T>(operand);
41inline T any_cast(any&& operand) {
42 return std::any_cast<T>(std::move(operand));
46inline const T* any_cast(
const any* operand)
noexcept {
47 return std::any_cast<T>(operand);
51inline T* any_cast(any* operand)
noexcept {
52 return std::any_cast<T>(operand);
55inline bool has_value(
const any& operand)
noexcept {
56 return operand.has_value();
59inline void reset(any& operand)
noexcept { operand.reset(); }
61template <
typename T,
typename... Args>
62inline any make_any(Args&&... args) {
63 return std::make_any<T>(std::forward<Args>(args)...);
66template <
typename T,
typename U,
typename... Args>
67inline any make_any(std::initializer_list<U> il, Args&&... args) {
68 return std::make_any<T>(il, std::forward<Args>(args)...);
75#include <boost/any.hpp>
80using any = boost::any;
83inline T any_cast(
const any& operand) {
84 return boost::any_cast<T>(operand);
88inline T any_cast(any& operand) {
89 return boost::any_cast<T>(operand);
93inline T any_cast(any&& operand) {
94 return boost::any_cast<T>(operand);
98inline const T* any_cast(
const any* operand)
noexcept {
99 return boost::any_cast<T>(operand);
103inline T* any_cast(any* operand)
noexcept {
104 return boost::any_cast<T>(operand);
107inline bool has_value(
const any& operand)
noexcept {
return !operand.empty(); }
109inline void reset(any& operand)
noexcept { operand = boost::any(); }
111template <
typename T,
typename... Args>
112inline any make_any(Args&&... args) {
113 return any(T(std::forward<Args>(args)...));
116template <
typename T,
typename U,
typename... Args>
117inline any make_any(std::initializer_list<U> il, Args&&... args) {
118 return any(T(il, std::forward<Args>(args)...));
Rules all the other namespaces.
Definition AppleSignInProperties.h:24