11#include "ns3/assert.h"
12#include "ns3/config.h"
14#include "ns3/object-vector.h"
15#include "ns3/simulator.h"
102 .SetGroupName(
"Network")
103 .AddAttribute(
"ChannelList",
104 "The list of all channels created during the simulation.",
137 (*
DoGet()) =
nullptr;
200 "Channel index " << n <<
" is out of range (only have " <<
m_channels.size()
static Ptr< Channel > GetChannel(uint32_t n)
static uint32_t Add(Ptr< Channel > channel)
static uint32_t GetNChannels()
std::vector< Ptr< Channel > >::const_iterator Iterator
Channel container iterator.
private implementation detail of the ChannelList API.
uint32_t Add(Ptr< Channel > channel)
static TypeId GetTypeId()
Get the type ID.
~ChannelListPriv() override
static Ptr< ChannelListPriv > * DoGet()
Get the channel list object.
static Ptr< ChannelListPriv > Get()
Get the channel list object.
static void Delete()
Delete the channel list object.
ChannelList::Iterator Begin() const
Ptr< Channel > GetChannel(uint32_t n)
void DoDispose() override
Dispose the channels in the list.
ChannelList::Iterator End() const
std::vector< Ptr< Channel > > m_channels
channel objects container
A base class which provides memory management and object aggregation.
void Initialize()
Invoke DoInitialize on all Objects aggregated to this one.
virtual void DoDispose()
Destructor implementation.
Smart pointer class similar to boost::intrusive_ptr.
static EventId Schedule(const Time &delay, FUNC f, Ts &&... args)
Schedule an event to expire after delay.
static EventId ScheduleDestroy(FUNC f, Ts &&... args)
Schedule an event to run at the end of the simulation, when Simulator::Destroy() is called.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
void UnregisterRootNamespaceObject(Ptr< Object > obj)
void RegisterRootNamespaceObject(Ptr< Object > obj)
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Ptr< T > CreateObject(Args &&... args)
Create an object by type, with varying number of constructor parameters.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ptr< const AttributeChecker > MakeObjectVectorChecker()
ObjectPtrContainerValue ObjectVectorValue
ObjectVectorValue is an alias for ObjectPtrContainerValue.
Ptr< const AttributeAccessor > MakeObjectVectorAccessor(U T::*memberVariable)
MakeAccessorHelper implementation for ObjectVector.