The "core" module contains: More...
Modules | |
Attributes | |
The ns-3 attribute system is the mechanism used in ns-3 to organize, document, and modify the values used by the various component models. | |
Build version reporting | |
Version information is pulled from the local git repository during the build process. | |
CSV File Reader | |
A way to extract data from simple csv files. | |
Callbacks | |
Wrap functions, objects, and arguments into self contained callbacks. | |
Command Line Parsing | |
A uniform way to specify program documentation, allowed command line arguments and help strings, and set any attribute or global value, all from the command line directly. | |
Configuration | |
Configuration of simulation parameters and tracing. | |
Core module examples | |
Programs which illustrate use of core module functionality. | |
Core module helper classes | |
Helper classes for the Core module. | |
Core module tests | |
TestSuites for the Core module. | |
Debugging tools | |
Assertions, breakpoints, logging, and abnormal program termination. | |
Fatal Error Handlers | |
Functions to help clean up when a fatal error is encountered. | |
Geometry primitives | |
Primitives for geometry, such as vectors and angles. | |
Hash Functions | |
Generic Hash function interface. | |
High Precision Q64.64 | |
Functions and class for high precision Q64.64 fixed point arithmetic. | |
Length | |
Management of lengths in real world units. | |
Object | |
Base classes which provide memory management and object aggregation. | |
Random Variables | |
ns-3 random numbers are provided via instances of ns3::RandomVariableStream. | |
Scheduler and Events | |
Manage the event list by creating and scheduling events. | |
Simulator | |
Control the virtual time and the execution of simulation events. | |
Smart Pointer | |
Heap memory management. | |
System Services | |
System-independent interfaces to operating system services: environment variables, files system, threading, wall clock time. | |
Testing | |
Tools to define and execute unit tests. | |
Tracing | |
Publish/subscribe tools to collect and report changes to any values used by the various model components. | |
Virtual Time | |
Management of virtual time in real world units. | |
Virtual Time Timer and Watchdog | |
The Timer and Watchdog objects both facilitate scheduling functions to execute a specified virtual time in the future. | |
Files | |
file | core.h |
This file provides some doxygen documentation for the core module. | |
file | csv-reader.cc |
ns3::CsvReader implementation | |
file | csv-reader.h |
ns3::CsvReader declaration | |
file | deprecated.h |
NS_DEPRECATED macro definition. | |
file | global-value-test-suite.cc |
GlobalValue test suite. | |
file | global-value.cc |
ns3::GlobalValue implementation. | |
file | global-value.h |
ns3::GlobalValue declaration. | |
file | math.h |
log2() macro definition; to deal with Bug 1467. | |
file | show-progress.cc |
ns3::ShowProgress implementation. | |
file | show-progress.h |
ns3::ShowProgress declaration. | |
file | simulation-singleton.h |
ns3::SimulationSingleton declaration and template implementation. | |
file | unused.h |
NS_UNUSED and NS_UNUSED_GLOBAL macro definitions. | |
Classes | |
class | ns3::ShowProgress |
Periodically print a status message indicating simulator progress. More... | |
class | ns3::SimulationSingleton< T > |
This singleton class template ensures that the type for which we want a singleton has a lifetime bounded by the simulation run lifetime. More... | |
Macros | |
#define | NS_DEPRECATED(msg) [[deprecated(msg)]] |
Mark a function as deprecated. | |
#define | NS_DEPRECATED_3_36(msg) NS_DEPRECATED(msg) |
Tag for things deprecated in version ns-3.36. | |
#define | NS_DEPRECATED_3_37(msg) NS_DEPRECATED(msg) |
Tag for things deprecated in version ns-3.37. | |
#define | NS_DEPRECATED_3_38(msg) NS_DEPRECATED(msg) |
Tag for things deprecated in version ns-3.38. | |
#define | NS_DEPRECATED_3_39(msg) NS_DEPRECATED(msg) |
Tag for things deprecated in version ns-3.39. | |
#define | NS_UNUSED(x) _Pragma("GCC warning \"NS_UNUSED is deprecated, use [[maybe_unused]] directly\"")((void)(x)) |
Mark a local variable as unused. | |
#define | NS_UNUSED_GLOBAL(x) |
Mark a variable at file scope as unused. | |
#define | NS_WARNING_POP |
Pops the diagnostic warning list from the stack, restoring it to the previous state. | |
#define | NS_WARNING_PUSH |
Push the diagnostic warning list to the stack, allowing it to be restored later. | |
#define | NS_WARNING_PUSH_DEPRECATED |
Save the current warning list and disables the ones about deprecated functions and classes. | |
#define | NS_WARNING_SILENCE_DEPRECATED |
Silences the "-Wdeprecated-declarations" warnings. | |
The "core" module contains:
#define NS_DEPRECATED | ( | msg | ) | [[deprecated(msg)]] |
Mark a function as deprecated.
Users should expect deprecated features to be removed eventually.
When deprecating a feature, please update the documentation with information for users on how to update their code.
For example,
Please follow these two guidelines to ease future maintenance (primarily the eventual removal of the deprecated code):
NS_DEPRECATED_3_XX
, not the generic NS_DEPRECATED
.Typically only the declaration needs to be deprecated,
but it's helpful to put the same macro as a comment at the site of the definition, to make it easier to find all the bits which eventually have to be removed:
.
msg | Optional message to add to the compiler warning. |
Definition at line 75 of file deprecated.h.
#define NS_DEPRECATED_3_36 | ( | msg | ) | NS_DEPRECATED(msg) |
Tag for things deprecated in version ns-3.36.
Definition at line 103 of file deprecated.h.
#define NS_DEPRECATED_3_37 | ( | msg | ) | NS_DEPRECATED(msg) |
Tag for things deprecated in version ns-3.37.
Definition at line 96 of file deprecated.h.
#define NS_DEPRECATED_3_38 | ( | msg | ) | NS_DEPRECATED(msg) |
Tag for things deprecated in version ns-3.38.
Definition at line 89 of file deprecated.h.
#define NS_DEPRECATED_3_39 | ( | msg | ) | NS_DEPRECATED(msg) |
Tag for things deprecated in version ns-3.39.
Definition at line 82 of file deprecated.h.
#define NS_UNUSED | ( | x | ) | _Pragma("GCC warning \"NS_UNUSED is deprecated, use [[maybe_unused]] directly\"")((void)(x)) |
Mark a local variable as unused.
[[maybe_unused]]
directly. This macro is being kept temporarily to support older code. #define NS_UNUSED_GLOBAL | ( | x | ) |
Mark a variable at file scope as unused.
[[maybe_unused]]
directly. This macro is being kept temporarily to support older code. #define NS_WARNING_POP |
Pops the diagnostic warning list from the stack, restoring it to the previous state.
Definition at line 78 of file warnings.h.
#define NS_WARNING_PUSH |
Push the diagnostic warning list to the stack, allowing it to be restored later.
Definition at line 76 of file warnings.h.
#define NS_WARNING_PUSH_DEPRECATED |
Save the current warning list and disables the ones about deprecated functions and classes.
This macro can be used to silence deprecation warnings and should be used as a last resort to silence the compiler for very specific lines of code. The typical pattern is:
Its use is, of course, not suggested unless strictly necessary.
Definition at line 82 of file warnings.h.
#define NS_WARNING_SILENCE_DEPRECATED |
Silences the "-Wdeprecated-declarations" warnings.
Definition at line 77 of file warnings.h.