title: Using JsonCPP ValueIterator with STL algorithms
body: <p>I know, <code>ValueIterator</code> from JsonCPP cannot be used in standard STL algorithms directly. But
  is there a some "indirect" way to use it in STL algorithms (maybe via <em>Boost.Iterator</em> or something like this)? I want something likes to following:</p>
  
  <pre><code>Json::Value root = getJson(); //came from outside
  std::vector&lt;Json::Value&gt; vec;
  
  std::copy
    ( make_some_smart_iterator(...) // some iterator produced with start of root
    , make_some_smart_iterator(...) // some iterator produced with end of root
    , std::back_inserter(vec)
    );
  </code></pre>