112a9d9c8Sopenharmony_ci// bindgen-flags: -- -std=c++11 212a9d9c8Sopenharmony_ci 312a9d9c8Sopenharmony_cistruct false_type {}; 412a9d9c8Sopenharmony_ci 512a9d9c8Sopenharmony_citemplate<typename _From, typename _To, bool> 612a9d9c8Sopenharmony_cistruct __is_base_to_derived_ref; 712a9d9c8Sopenharmony_ci 812a9d9c8Sopenharmony_citemplate<typename _From, typename _To> 912a9d9c8Sopenharmony_cistruct __is_base_to_derived_ref<_From, _To, true> 1012a9d9c8Sopenharmony_ci{ 1112a9d9c8Sopenharmony_ci typedef _To type; 1212a9d9c8Sopenharmony_ci 1312a9d9c8Sopenharmony_ci static constexpr bool value = type::value; 1412a9d9c8Sopenharmony_ci}; 1512a9d9c8Sopenharmony_ci 1612a9d9c8Sopenharmony_citemplate<typename _From, typename _To> 1712a9d9c8Sopenharmony_cistruct __is_base_to_derived_ref<_From, _To, false> 1812a9d9c8Sopenharmony_ci: public false_type 1912a9d9c8Sopenharmony_ci{ }; 20