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