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) 2005 INRIA | 3 * Copyright (c) 2005 INRIA |
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 * Author: Mathieu Lacage <mathieu.lacage.inria.fr> | 18 * Author: Mathieu Lacage <mathieu.lacage.inria.fr> |
19 */ | 19 */ |
20 | 20 |
21 #ifndef SYSTEM_WALL_CLOCK_MS_H | 21 #ifndef SYSTEM_WALL_CLOCK_MS_H |
22 #define SYSTEM_WALL_CLOCK_MS_H | 22 #define SYSTEM_WALL_CLOCK_MS_H |
23 | 23 |
24 #include <stdint.h> | 24 #include <stdint.h> |
| 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 system | 32 * \ingroup system |
29 * ns3::SystemWallClockMs declaration. | 33 * ns3::SystemWallClockMs declaration. |
30 */ | 34 */ |
31 | 35 |
32 namespace ns3 { | 36 namespace ns3 { |
33 | 37 |
34 /** | 38 /** |
35 * \ingroup core | 39 * \ingroup core |
36 * \defgroup system System Services | 40 * \defgroup system System Services |
37 * | 41 * |
38 * System-independent interfaces to operating system services: | 42 * System-independent interfaces to operating system services: |
39 * files system, threading, wall clock time. | 43 * files system, threading, wall clock time. |
40 * | 44 * |
41 * Services provided: | 45 * Services provided: |
42 * | 46 * |
43 * - File and directory paths. | 47 * - File and directory paths. |
44 * - Thread primitives: threads, conditional waits, mutex, critical sections. | 48 * - Thread primitives: threads, conditional waits, mutex, critical sections. |
45 * - Asynchronous input from a file descriptor. | 49 * - Asynchronous input from a file descriptor. |
46 * - Wall clock time. | 50 * - Wall clock time. |
47 */ | 51 */ |
48 | 52 |
49 /** | 53 /** |
50 * \ingroup system | 54 * \ingroup system |
51 * \brief Measure elapsed wall clock time in milliseconds. | 55 * \brief Measure elapsed wall clock time in milliseconds. |
52 */ | 56 */ |
53 class SystemWallClockMs { | 57 class NS3_EXPORT SystemWallClockMs { |
54 public: | 58 public: |
55 SystemWallClockMs (); | 59 SystemWallClockMs (); |
56 ~SystemWallClockMs (); | 60 ~SystemWallClockMs (); |
57 | 61 |
58 /** | 62 /** |
59 * Start a measure. | 63 * Start a measure. |
60 */ | 64 */ |
61 void Start (void); | 65 void Start (void); |
62 /** | 66 /** |
63 * \brief Stop measuring the time since Start() was called. | 67 * \brief Stop measuring the time since Start() was called. |
(...skipping 29 matching lines...) Expand all Loading... |
93 */ | 97 */ |
94 int64_t GetElapsedSystem (void) const; | 98 int64_t GetElapsedSystem (void) const; |
95 | 99 |
96 private: | 100 private: |
97 class SystemWallClockMsPrivate *m_priv; //!< The implementation. | 101 class SystemWallClockMsPrivate *m_priv; //!< The implementation. |
98 }; | 102 }; |
99 | 103 |
100 } // namespace ns3 | 104 } // namespace ns3 |
101 | 105 |
102 #endif /* SYSTEM_WALL_CLOCK_MS_H */ | 106 #endif /* SYSTEM_WALL_CLOCK_MS_H */ |
LEFT | RIGHT |