|
19 | 19 |
|
20 | 20 | namespace { |
21 | 21 |
|
22 | | -//---------------------------------------------------------------------------- |
23 | | -void ReadJsonParameter( const Json::Value & parameter, int & value ) |
24 | | -{ value = parameter.asInt(); } |
25 | | - |
26 | | -//---------------------------------------------------------------------------- |
27 | | -void ReadJsonParameter( const Json::Value & parameter, unsigned int & value ) |
28 | | -{ value = parameter.asUInt(); } |
29 | | - |
30 | | -//---------------------------------------------------------------------------- |
31 | | -void ReadJsonParameter( const Json::Value & parameter, float & value ) |
32 | | -{ value = parameter.asFloat(); } |
33 | | - |
34 | | -//---------------------------------------------------------------------------- |
35 | | -void ReadJsonParameter( const Json::Value & parameter, double & value ) |
36 | | -{ value = parameter.asDouble(); } |
37 | | - |
38 | | -//---------------------------------------------------------------------------- |
39 | | -void ReadJsonParameter( const Json::Value & parameter, bool & value ) |
40 | | -{ value = parameter.asBool(); } |
41 | | - |
42 | | -//---------------------------------------------------------------------------- |
43 | | -void ReadJsonParameter( const Json::Value & parameter, std::string & value ) |
44 | | -{ value = parameter.asString(); } |
45 | | - |
46 | | -//---------------------------------------------------------------------------- |
47 | | -template <typename T> |
48 | | -void ReadJsonParameter( const Json::Value & parameter, std::vector<T> & value ) |
49 | | -{ |
50 | | - const Json::ArrayIndex k = parameter.size(); |
51 | | - value.resize( k ); |
52 | | - for( Json::ArrayIndex i = 0; i < k; ++i ) |
53 | | - { |
54 | | - ReadJsonParameter( parameter[i], value[i] ); |
55 | | - } |
56 | | -} |
57 | | - |
58 | | -//---------------------------------------------------------------------------- |
59 | | -template <typename T> |
60 | | -void ReadJsonParameter( |
61 | | - const Json::Value & parameters, |
62 | | - const char * group, const char * name, |
63 | | - T & value) |
64 | | -{ |
65 | | - const Json::Value & parameter = parameters[group][name]; |
66 | | - if( !parameter.isNull() ) |
67 | | - { |
68 | | - ReadJsonParameter( parameter, value ); |
69 | | - } |
70 | | -} |
71 | | - |
72 | 22 | //---------------------------------------------------------------------------- |
73 | 23 | template <typename T> |
74 | 24 | Json::Value JsonSerialize( const T & value ) |
|
0 commit comments