Adobe Source Libraries 1.49.0
A collection of C++ libraries.
Loading...
Searching...
No Matches
dictionary_arg_stream< Dictionary, InputRange, NoThrow > Struct Template Reference

dictionary_arg_stream implements the arg_stream interface More...

#include <dictionary_arg_stream.hpp>

Inheritance diagram for dictionary_arg_stream< Dictionary, InputRange, NoThrow >:
dictionary_arg_stream_base< Dictionary, InputRange, NoThrow >

Public Types

typedef dictionary_arg_stream_base< Dictionary, InputRange > _inherited
typedef Dictionary dictionary_type
typedef InputRange range_type
Public Types inherited from dictionary_arg_stream_base< Dictionary, InputRange, NoThrow >
typedef Dictionary dictionary_type
typedef InputRange range_type
typedef boost::range_iterator< InputRangeconst >::type iterator

Public Member Functions

 dictionary_arg_stream (Dictionary &d, InputRange const &key_range)
template<typename R>
get_next_arg ()
void throw_if_eof () const
Public Member Functions inherited from dictionary_arg_stream_base< Dictionary, InputRange, NoThrow >
 dictionary_arg_stream_base (dictionary_type &d, range_type const &key_range)
bool eof () const
void throw_if_eof () const
void reset ()

Public Attributes

iterator curr
dictionary_type dict
Public Attributes inherited from dictionary_arg_stream_base< Dictionary, InputRange, NoThrow >
dictionary_type dict
range_type range
iterator curr

Detailed Description

template<typename Dictionary, typename InputRange, typename NoThrow = void>
struct adobe::dictionary_arg_stream< Dictionary, InputRange, NoThrow >
This works with any dictionary type that implements get_dictionary_entry<R>(dict, key)
Template Parameters
  • Dictionary - A dictionary which implements adobe::get_entry
  • Inputrange - models InputRange
  • NoThrow - if std::nothrow_t, then the arg_stream will NOT throw if the key is not in the dictionary (it will instead return a default initialized argument)
    • if it is NOT std::nothrow_t, it will likely throw if the key is not in the dictionary

Definition at line 91 of file dictionary_arg_stream.hpp.

Member Typedef Documentation

◆ _inherited

template<typename Dictionary, typename InputRange, typename NoThrow = void>
typedef dictionary_arg_stream_base<Dictionary, InputRange> _inherited

Definition at line 95 of file dictionary_arg_stream.hpp.

◆ dictionary_type

template<typename Dictionary, typename InputRange, typename NoThrow = void>
typedef Dictionary dictionary_type

Definition at line 52 of file dictionary_arg_stream.hpp.

◆ range_type

template<typename Dictionary, typename InputRange, typename NoThrow = void>
typedef InputRange range_type

Definition at line 53 of file dictionary_arg_stream.hpp.

Constructor & Destructor Documentation

◆ dictionary_arg_stream()

template<typename Dictionary, typename InputRange, typename NoThrow = void>
dictionary_arg_stream ( Dictionary & d,
InputRange const & key_range )

d - dictionary from with to retrieve arguments key_range define a range of keys each key (in order) is used to retrieve an argument of the arg_stream

Definition at line 107 of file dictionary_arg_stream.hpp.

Member Function Documentation

◆ get_next_arg()

template<typename Dictionary, typename InputRange, typename NoThrow = void>
template<typename R>
R get_next_arg ( )

Definition at line 111 of file dictionary_arg_stream.hpp.

◆ throw_if_eof()

template<typename Dictionary, typename InputRange, typename NoThrow = void>
void throw_if_eof ( ) const

Definition at line 65 of file dictionary_arg_stream.hpp.

Member Data Documentation

◆ curr

template<typename Dictionary, typename InputRange, typename NoThrow = void>
iterator curr

Definition at line 58 of file dictionary_arg_stream.hpp.

◆ dict

template<typename Dictionary, typename InputRange, typename NoThrow = void>
dictionary_type dict

Definition at line 56 of file dictionary_arg_stream.hpp.