LEFT | RIGHT |
(no file at all) | |
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2007 Georgia Tech Research Corporation | 3 * Copyright (c) 2007 Georgia Tech Research Corporation |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 5 * This program is free software; you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 2 as | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 * GNU General Public License for more details. | 12 * GNU General Public License for more details. |
13 * | 13 * |
14 * You should have received a copy of the GNU General Public License | 14 * You should have received a copy of the GNU General Public License |
15 * along with this program; if not, write to the Free Software | 15 * along with this program; if not, write to the Free Software |
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
17 * | 17 * |
18 */ | 18 */ |
19 | 19 |
20 #ifndef TYPE_NAME_H | 20 #ifndef TYPE_NAME_H |
21 #define TYPE_NAME_H | 21 #define TYPE_NAME_H |
22 | 22 |
23 #include <stdint.h> | 23 #include <stdint.h> |
24 #include <string> | 24 #include <string> |
| 25 |
| 26 #include "ns3/ns3-module.h" |
| 27 #define NS3_MODULE NS3_CORE_MODULE |
| 28 #include "ns3/ns3-export.h" |
25 | 29 |
26 /** | 30 /** |
27 * \file | 31 * \file |
28 * \ingroup attributeimpl | 32 * \ingroup attributeimpl |
29 * ns3::TypeNameGet() function declarations. | 33 * ns3::TypeNameGet() function declarations. |
30 */ | 34 */ |
31 | 35 |
32 namespace ns3 { | 36 namespace ns3 { |
33 | 37 |
34 /** | 38 /** |
35 * \ingroup attributeimpl | 39 * \ingroup attributeimpl |
36 * Type name strings for numeric AttributeValue types. | 40 * Type name strings for numeric AttributeValue types. |
37 * | 41 * |
38 * \tparam T \explicit The numeric type. | 42 * \tparam T \explicit The numeric type. |
39 * \returns The numeric type name as a string. | 43 * \returns The numeric type name as a string. |
40 */ | 44 */ |
41 template <typename T> | 45 template <typename T> |
42 std::string TypeNameGet (void) | 46 std::string TypeNameGet (void) |
43 { | 47 { |
44 return "unknown"; | 48 return "unknown"; |
45 } | 49 } |
46 | 50 |
47 /** | 51 /** |
48 * \ingroup attributeimpl | 52 * \ingroup attributeimpl |
49 * ns3::TypeNameGet(void) specializaton. | 53 * ns3::TypeNameGet(void) specializaton. |
50 * \returns The numeric type name as a string. | 54 * \returns The numeric type name as a string. |
51 * @{ | 55 * @{ |
52 */ | 56 */ |
53 template <> std::string TypeNameGet< int8_t > (void); | 57 template <> NS3_EXPORT std::string TypeNameGet< int8_t > (void); |
54 template <> std::string TypeNameGet< int16_t > (void); | 58 template <> NS3_EXPORT std::string TypeNameGet< int16_t > (void); |
55 template <> std::string TypeNameGet< int32_t > (void); | 59 template <> NS3_EXPORT std::string TypeNameGet< int32_t > (void); |
56 template <> std::string TypeNameGet< int64_t > (void); | 60 template <> NS3_EXPORT std::string TypeNameGet< int64_t > (void); |
57 template <> std::string TypeNameGet< uint8_t > (void); | 61 template <> NS3_EXPORT std::string TypeNameGet< uint8_t > (void); |
58 template <> std::string TypeNameGet< uint16_t> (void); | 62 template <> NS3_EXPORT std::string TypeNameGet< uint16_t> (void); |
59 template <> std::string TypeNameGet< uint32_t> (void); | 63 template <> NS3_EXPORT std::string TypeNameGet< uint32_t> (void); |
60 template <> std::string TypeNameGet< uint64_t> (void); | 64 template <> NS3_EXPORT std::string TypeNameGet< uint64_t> (void); |
61 template <> std::string TypeNameGet< float > (void); | 65 template <> NS3_EXPORT std::string TypeNameGet< float > (void); |
62 template <> std::string TypeNameGet< double > (void); | 66 template <> NS3_EXPORT std::string TypeNameGet< double > (void); |
63 /**@}*/ | 67 /**@}*/ |
64 ·· | 68 ·· |
65 } // namespace ns3 | 69 } // namespace ns3 |
66 | 70 |
67 #endif /* TYPE_NAME_H */ | 71 #endif /* TYPE_NAME_H */ |
LEFT | RIGHT |