Lines Matching refs:InnerProperty

66 template <typename InnerProperty, typename = void>
72 template <typename InnerProperty>
73 struct prefer_only_is_preferable<InnerProperty,
75 InnerProperty::is_preferable
81 template <typename InnerProperty, typename = void>
86 template <typename InnerProperty>
87 struct prefer_only_polymorphic_query_result_type<InnerProperty,
89 typename InnerProperty::polymorphic_query_result_type
92 typedef typename InnerProperty::polymorphic_query_result_type
96 template <typename InnerProperty, typename = void>
99 InnerProperty property;
101 prefer_only_property(const InnerProperty& p)
110 template <typename InnerProperty>
111 struct prefer_only_property<InnerProperty,
113 decltype(boost::asio::declval<const InnerProperty>().value())
116 InnerProperty property;
118 prefer_only_property(const InnerProperty& p)
125 noexcept(boost::asio::declval<const InnerProperty>().value())))
126 -> decltype(boost::asio::declval<const InnerProperty>().value())
160 template <typename InnerProperty>
161 struct prefer_only_property<InnerProperty,
163 sizeof(prefer_only_value_memfn_helper<InnerProperty>(0)) != 1
164 && !is_same<typename InnerProperty::polymorphic_query_result_type,
168 InnerProperty property;
170 prefer_only_property(const InnerProperty& p)
175 BOOST_ASIO_CONSTEXPR typename InnerProperty::polymorphic_query_result_type
187 template <typename InnerProperty>
189 detail::prefer_only_is_preferable<InnerProperty>,
190 detail::prefer_only_polymorphic_query_result_type<InnerProperty>,
191 detail::prefer_only_property<InnerProperty>
195 BOOST_ASIO_CONSTEXPR prefer_only(const InnerProperty& p)
196 : detail::prefer_only_property<InnerProperty>(p)
204 typename traits::static_query<T, InnerProperty>::result_type
207 traits::static_query<T, InnerProperty>::is_noexcept))
209 return traits::static_query<T, InnerProperty>::value();
220 typename prefer_result<const Executor&, const InnerProperty&>::type
223 is_same<Property, InnerProperty>::value
224 && can_prefer<const Executor&, const InnerProperty&>::value
229 is_nothrow_prefer<const Executor&, const InnerProperty&>::value))
238 typename query_result<const Executor&, const InnerProperty&>::type
241 is_same<Property, InnerProperty>::value
242 && can_query<const Executor&, const InnerProperty&>::value
247 is_nothrow_query<const Executor&, const InnerProperty&>::value))
257 template <typename InnerProperty> template <typename E, typename T>
258 const T prefer_only<InnerProperty>::static_query_v;
264 template <typename T, typename InnerProperty>
265 struct is_applicable_property<T, execution::prefer_only<InnerProperty> >
266 : is_applicable_property<T, InnerProperty>
275 template <typename T, typename InnerProperty>
276 struct static_query<T, execution::prefer_only<InnerProperty> > :
277 static_query<T, const InnerProperty&>
286 template <typename T, typename InnerProperty>
287 struct prefer_free_default<T, execution::prefer_only<InnerProperty>,
289 can_prefer<const T&, const InnerProperty&>::value
294 (is_nothrow_prefer<const T&, const InnerProperty&>::value));
297 const InnerProperty&>::type result_type;
304 template <typename T, typename InnerProperty>
305 struct query_free<T, execution::prefer_only<InnerProperty>,
307 can_query<const T&, const InnerProperty&>::value
312 (is_nothrow_query<const T&, const InnerProperty&>::value));
315 const InnerProperty&>::type result_type;