Branch data Line data Source code
1 : : /*
2 : : * pair.h - key/value pair class definitions
3 : : *
4 : : * Copyright (C) 2006 Stefan Jahn <stefan@lkcc.org>
5 : : *
6 : : * This is free software; you can redistribute it and/or modify
7 : : * it under the terms of the GNU General Public License as published by
8 : : * the Free Software Foundation; either version 2, or (at your option)
9 : : * any later version.
10 : : *
11 : : * This software is distributed in the hope that it will be useful,
12 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 : : * GNU General Public License for more details.
15 : : *
16 : : * You should have received a copy of the GNU General Public License
17 : : * along with this package; see the file COPYING. If not, write to
18 : : * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
19 : : * Boston, MA 02110-1301, USA.
20 : : *
21 : : * $Id$
22 : : *
23 : : */
24 : :
25 : : #ifndef __PAIR_H__
26 : : #define __PAIR_H__
27 : :
28 : : #include <utility>
29 : : #include <string>
30 : :
31 : : namespace qucs {
32 : :
33 : 1216 : class pair
34 : : {
35 : : public:
36 : : pair () :
37 : : p(std::string(),0.0)
38 : : {};
39 : :
40 : : pair (const char * const s) :
41 : : p(s != nullptr ? std::string(s) : std::string(),0.0)
42 : : {};
43 : :
44 : 1216 : pair (const char * const s, nr_double_t v) :
45 [ + - ][ + - ]: 1216 : p(s != nullptr ? std::string(s) : std::string(),v)
[ # # ][ + - ]
[ # # ]
46 : 1216 : {} ;
47 : :
48 : : void setName (const char * const s) {
49 : : p.first = s != nullptr ? std::string(s) : std::string();
50 : : };
51 : :
52 : 0 : const char * getName (void) const {
53 : 0 : return p.first.c_str();
54 : : };
55 : :
56 : 2154262 : nr_double_t getValue (void) const {
57 : 2154262 : return p.second;
58 : : }
59 : :
60 : 4186335 : void setValue (const nr_double_t val) {
61 : 4186335 : p.second = val;
62 : 4186335 : }
63 : :
64 : : private:
65 : : std::pair<std::string,nr_double_t> p;
66 : : };
67 : :
68 : : } // namespace qucs
69 : :
70 : : #endif /* __PAIR_H__ */
|