A Discrete-Event Network Simulator

The "core" module contains: More...

+ Collaboration diagram for Core:


 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.
 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 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.
 A way to extract data from simple csv files.
 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.
 Management of lengths in real world units.
 NonCopyable and Singleton
 Helpers to make classes non-copyable or singleton.
 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.
 Control the virtual time and the execution of simulation events.
 Smart Pointer
 Heap memory management.
 System Services
 System-independent interfaces to operating system services: files system, threading, wall clock time.
 Tools to define and execute unit tests.
 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.


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.


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...


 Mark a function as deprecated. More...
 Tag for things deprecated in version ns-3.34. More...
 Tag for things deprecated in version ns-3.35. More...
#define NS_UNUSED(x)   ((void)(x))
 Mark a local variable as unused. More...
#define NS_UNUSED_GLOBAL(x)   x
 Mark a variable at file scope as unused. More...

Detailed Description

The "core" module contains:

Move all Private and Impl classes to namespace ns3::impl?

Macro Definition Documentation



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,

* Do something useful.
* \deprecated This method will go away in future versions of ns-3.
* See instead TheNewWay()
void SomethingUseful (void);
* Do something more useful.
void TheNewWay (void);

To ease future maintenance please use the versioned forms: NS_DEPRECATED_3_XX, not the generic NS_DEPRECATED

Definition at line 62 of file deprecated.h.



Tag for things deprecated in version ns-3.34.

Definition at line 80 of file deprecated.h.



Tag for things deprecated in version ns-3.35.

Definition at line 71 of file deprecated.h.


#define NS_UNUSED (   x)    ((void)(x))

Mark a local variable as unused.

Definition at line 36 of file unused.h.


#define NS_UNUSED_GLOBAL (   x)    x

Mark a variable at file scope as unused.

Definition at line 50 of file unused.h.

void TheNewWay(void)
NS_DEPRECATED_3_XX void SomethingUseful(void)