/src/wpantund/src/util/ValueMap.cpp
Line | Count | Source |
1 | | /* |
2 | | * |
3 | | * Copyright (c) 2016 Nest Labs, Inc. |
4 | | * All rights reserved. |
5 | | * |
6 | | * Licensed under the Apache License, Version 2.0 (the "License"); |
7 | | * you may not use this file except in compliance with the License. |
8 | | * You may obtain a copy of the License at |
9 | | * |
10 | | * http://www.apache.org/licenses/LICENSE-2.0 |
11 | | * |
12 | | * Unless required by applicable law or agreed to in writing, software |
13 | | * distributed under the License is distributed on an "AS IS" BASIS, |
14 | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
15 | | * See the License for the specific language governing permissions and |
16 | | * limitations under the License. |
17 | | * |
18 | | * Description: |
19 | | * ValueMap is a dictionary-like key-value store |
20 | | * |
21 | | */ |
22 | | |
23 | | #include "ValueMap.h" |
24 | | |
25 | | nl::ValueMap |
26 | | nl::ValueMapWithKeysAndValues(const char* key, ...) |
27 | 0 | { |
28 | 0 | ValueMap ret; |
29 | 0 | va_list args; |
30 | 0 | va_start(args, key); |
31 | 0 | while (key != NULL) { |
32 | 0 | boost::any* value = va_arg(args, boost::any*); |
33 | 0 | if (value == NULL) { |
34 | 0 | ret[key] = boost::any(); |
35 | 0 | } else { |
36 | 0 | ret[key] = *value; |
37 | 0 | } |
38 | 0 | key = va_arg(args, const char*); |
39 | 0 | } |
40 | | va_end(args); |
41 | 0 | return ret; |
42 | 0 | } |