bool read_string( const String_t& s, Value_t& value ) { typename String_t::const_iterator begin = s.begin(); return read_range( begin, s.end(), value ); }
void read_string_or_throw( const String_t& s, Value_t& value ) { add_posn_iter_and_read_range_or_throw( s.begin(), s.end(), value ); }