dictionary_arg_stream.hpp
Go to the documentation of this file.
66 template <typename Dictionary, typename InputRange /*to get the keys*/, typename NoThrow = void /* or std::nothrow_t */> 114 template <typename Dictionary, typename InputRange /*to get the keys*/, typename NoThrow = void /* or std::nothrow_t */> 117 // we use this-> because otherwise the compiler doesn't actually know that it is in the base class 201 static const bool value = sizeof(SFINAE(get_dictionary_entry<int>(*dict, *key))) == sizeof(adobe::detail::yes_struct); 211 static const bool value = sizeof(SFINAE(get_dictionary_entry(*dict, *key, *r))) == sizeof(adobe::detail::yes_struct); 217 static const bool value = has_get_dictionary_entry_template<Dictionary, typename boost::range_value<Range>::type>::value; 220 static const int test = is_range_for_dictionary<adobe::dictionary_t, boost::array<adobe::name_t, 3> >::value; 224 template <typename Dictionary, typename DefaultKey, bool has_type = ADOBE_HAS_TYPE(Dictionary, key_type)> 307 return dictionary_arg_stream_detail::if_range_else_key<void, Dictionary, SingleArg>::call(f, dict, key_or_key_range); 313 call_with_dictionary(F f, std::nothrow_t, Dictionary const & dict, SingleArg const & key_or_key_range) 315 return dictionary_arg_stream_detail::if_range_else_key<std::nothrow_t, Dictionary, SingleArg>::call(f, dict, key_or_key_range); 321 call_member_with_dictionary(T * that, F f, Dictionary const & dict, SingleArg const & key_or_key_range) 323 return dictionary_arg_stream_detail::if_range_else_key<void, Dictionary, SingleArg>::call(that, f, dict, key_or_key_range); 328 call_member_with_dictionary(T* that, F f, std::nothrow_t, Dictionary const & dict, SingleArg const & key_or_key_range) 330 return dictionary_arg_stream_detail::if_range_else_key<std::nothrow_t, Dictionary, SingleArg>::call(that, f, dict, key_or_key_range); 423 boost::array<key_type, 4> arr = { key_type(key1), key_type(key2), key_type(key3), key_type(key4) }; 427 template <typename X, typename F, typename Dictionary, typename T1, typename T2, typename T3, typename T4> 433 boost::array<key_type, 4> arr = { key_type(key1), key_type(key2), key_type(key3), key_type(key4) }; 443 boost::array<key_type, 4> arr = { key_type(key1), key_type(key2), key_type(key3), key_type(key4) }; 447 template <typename X, typename F, typename Dictionary, typename T1, typename T2, typename T3, typename T4> 453 boost::array<key_type, 4> arr = { key_type(key1), key_type(key2), key_type(key3), key_type(key4) }; dictionary_arg_stream implements the arg_stream interface Definition: dictionary_arg_stream.hpp:115 #define ADOBE_HAS_TYPE_IMPL(TypeInQuestion) Implementation part of ADOBE_HAS_TYPE macro. Required before using ADOBE_HAS_TYPE. Definition: type_inspection.hpp:37 arg_stream::result_type< F >::type call_with_dictionary(F f, Dictionary const &dict, SingleArg const &key_or_key_range) call the function/callable-object f with args pulled from dictionary dict via keys from key_range ... Definition: dictionary_arg_stream.hpp:305 static Key * key Definition: dictionary_arg_stream.hpp:207 static Key * key Definition: dictionary_arg_stream.hpp:198 static arg_stream::result_type< F >::type call(F f, Dictionary const &dict, Key const &keyable) Definition: dictionary_arg_stream.hpp:281 Definition: arg_stream.hpp:51 InputRange range_type Definition: dictionary_arg_stream.hpp:70 R get_dictionary_entry(adobe::dictionary_t const &dict, adobe::name_t const &key) dictionary_arg_stream requires specializations of get_dictionary_entry for the dictionary. For example, the adobe::dictionary_t specializations. Definition: dictionary_arg_stream.hpp:53 static Dictionary * dict Definition: dictionary_arg_stream.hpp:206 STL namespace. R get_next_arg() Definition: dictionary_arg_stream.hpp:155 dictionary_arg_stream_base< Dictionary, InputRange > _inherited Definition: dictionary_arg_stream.hpp:119 static R * r Definition: dictionary_arg_stream.hpp:208 Definition: type_inspection.hpp:21 boost::function_types::result_type< typename signature< F >::type >::type type Definition: arg_stream.hpp:242 Definition: dictionary_arg_stream.hpp:195 Definition: type_inspection.hpp:22 static const int test Definition: dictionary_arg_stream.hpp:220 boost::range_iterator< InputRange const >::type iterator Definition: dictionary_arg_stream.hpp:71 Dictionary dictionary_type Definition: dictionary_arg_stream.hpp:69 dictionary_arg_stream< Dictionary, InputRange, void > make_dictionary_arg_stream(Dictionary &dict, InputRange const &key_range) Definition: dictionary_arg_stream.hpp:168 Definition: functional.hpp:26 static arg_stream::result_type< F >::type call(F f, Dictionary const &dict, InputRange const &range) Definition: dictionary_arg_stream.hpp:247 static Dictionary * dict Definition: dictionary_arg_stream.hpp:197 arg_stream::result_type< F >::type call_member_with_dictionary(T *that, F f, Dictionary const &dict, SingleArg const &key_or_key_range) Definition: dictionary_arg_stream.hpp:321 dictionary_arg_stream_base(dictionary_type &d, range_type const &key_range) Definition: dictionary_arg_stream.hpp:77 result_type< F >::type call(F f, ArgStream &astream) Calls function/callable-object f with function arguments supplied by the arg_stream. Definition: arg_stream.hpp:306 Definition: dictionary_arg_stream.hpp:146 bool get_value(const dictionary_t &dict, name_t key, T &value) Definition: dictionary.hpp:38 Definition: dictionary_arg_stream.hpp:204 Definition: name_fwd.hpp:42 dictionary_arg_stream(Dictionary &d, InputRange const &key_range) Definition: dictionary_arg_stream.hpp:131 dictionary_arg_stream(Dictionary &d, InputRange const &key_range) Definition: dictionary_arg_stream.hpp:149 Definition: dictionary_arg_stream.hpp:215 static arg_stream::result_type< F >::type call(F f, Dictionary const &dict, Key const &keyable) Definition: dictionary_arg_stream.hpp:268 static arg_stream::result_type< F >::type call(F f, Dictionary const &dict, InputRange const &range) Definition: dictionary_arg_stream.hpp:257 Dictionary::key_type type Definition: dictionary_arg_stream.hpp:235 DefaultKey type Definition: dictionary_arg_stream.hpp:230 void throw_if_eof() const Definition: dictionary_arg_stream.hpp:87 |