1 #ifndef JSON_SPIRIT_UTILS
2 #define JSON_SPIRIT_UTILS
4 // Copyright John W. Wilkinson 2007 - 2009.
5 // Distributed under the MIT License, see accompanying file LICENSE.txt
7 // json spirit version 4.03
9 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
13 #include "json_spirit_value.h"
18 template< class Obj_t
, class Map_t
>
19 void obj_to_map( const Obj_t
& obj
, Map_t
& mp_obj
)
23 for( typename
Obj_t::const_iterator i
= obj
.begin(); i
!= obj
.end(); ++i
)
25 mp_obj
[ i
->name_
] = i
->value_
;
29 template< class Obj_t
, class Map_t
>
30 void map_to_obj( const Map_t
& mp_obj
, Obj_t
& obj
)
34 for( typename
Map_t::const_iterator i
= mp_obj
.begin(); i
!= mp_obj
.end(); ++i
)
36 obj
.push_back( typename
Obj_t::value_type( i
->first
, i
->second
) );
40 typedef std::map
< std::string
, Value
> Mapped_obj
;
42 #ifndef BOOST_NO_STD_WSTRING
43 typedef std::map
< std::wstring
, wValue
> wMapped_obj
;
46 template< class Object_type
, class String_type
>
47 const typename
Object_type::value_type::Value_type
& find_value( const Object_type
& obj
, const String_type
& name
)
49 for( typename
Object_type::const_iterator i
= obj
.begin(); i
!= obj
.end(); ++i
)
51 if( i
->name_
== name
)
57 return Object_type::value_type::Value_type::null
;