keep track of a set of node pointers. More...
#include "node-container.h"
Public Types | |
typedef std::vector< Ptr< Node > >::const_iterator | Iterator |
Node container iterator. | |
Public Member Functions | |
NodeContainer () | |
Create an empty NodeContainer. | |
template<typename... Ts> | |
NodeContainer (const NodeContainer &nc, Ts &&... args) | |
Create a node container which is a concatenation of multiple input NodeContainers. | |
NodeContainer (Ptr< Node > node) | |
Create a NodeContainer with exactly one node which has been previously instantiated. | |
NodeContainer (std::string nodeName) | |
Create a NodeContainer with exactly one node which has been previously instantiated and assigned a name using the Object Name Service. | |
NodeContainer (uint32_t n, uint32_t systemId=0) | |
Create a NodeContainer with the requested number of Nodes. | |
void | Add (const NodeContainer &nc) |
Append the contents of another NodeContainer to the end of this container. | |
template<typename... Ts> | |
void | Add (const NodeContainer &nc, Ts &&... args) |
Append the contents of another NodeContainer to the end of this container. | |
void | Add (Ptr< Node > node) |
Append a single Ptr<Node> to this container. | |
void | Add (std::string nodeName) |
Append to this container the single Ptr<Node> referred to via its object name service registered name. | |
Iterator | Begin () const |
Get an iterator which refers to the first Node in the container. | |
bool | Contains (uint32_t id) const |
Return true if container contains a Node with index id. | |
void | Create (uint32_t n) |
Create n nodes and append pointers to them to the end of this NodeContainer. | |
void | Create (uint32_t n, uint32_t systemId) |
Create n nodes with specified systemId for distributed simulations and append pointers to them to the end of this NodeContainer. | |
Iterator | End () const |
Get an iterator which indicates past-the-last Node in the container. | |
Ptr< Node > | Get (uint32_t i) const |
Get the Ptr<Node> stored in this container at a given index. | |
uint32_t | GetN () const |
Get the number of Ptr<Node> stored in this container. | |
Static Public Member Functions | |
static NodeContainer | GetGlobal () |
Create a NodeContainer that contains a list of all nodes created through NodeContainer::Create() and stored in the ns3::NodeList. | |
Private Attributes | |
std::vector< Ptr< Node > > | m_nodes |
Nodes smart pointers. | |
keep track of a set of node pointers.
Typically ns-3 helpers operate on more than one node at a time. For example a device helper may want to install devices on a large number of similar nodes. The helper Install methods usually take a NodeContainer as a parameter. NodeContainers hold the multiple Ptr<Node> which are used to refer to the nodes.
Definition at line 39 of file node-container.h.
typedef std::vector<Ptr<Node>>::const_iterator ns3::NodeContainer::Iterator |
Node container iterator.
Definition at line 43 of file node-container.h.
ns3::NodeContainer::NodeContainer | ( | ) |
Create an empty NodeContainer.
Definition at line 38 of file node-container.cc.
Create a NodeContainer with exactly one node which has been previously instantiated.
The single Node is specified by a smart pointer.
node | The Ptr<Node> to add to the container. |
Definition at line 42 of file node-container.cc.
References m_nodes.
ns3::NodeContainer::NodeContainer | ( | std::string | nodeName | ) |
Create a NodeContainer with exactly one node which has been previously instantiated and assigned a name using the Object Name Service.
This Node is then specified by its assigned name.
Definition at line 47 of file node-container.cc.
References m_nodes.
Create a NodeContainer with the requested number of Nodes.
This is syntactic sugar for
[in] | n | The number of nodes to create. |
[in] | systemId | The system id or rank associated with this node |
Definition at line 53 of file node-container.cc.
References Create(), and m_nodes.
ns3::NodeContainer::NodeContainer | ( | const NodeContainer & | nc, |
Ts &&... | args | ||
) |
Create a node container which is a concatenation of multiple input NodeContainers.
Ts | [deduced] Template type parameter pack for the multiple NodeContainers |
nc | The first NodeContainer |
args | The remaining NodeContainers |
Definition at line 286 of file node-container.h.
References Add().
void ns3::NodeContainer::Add | ( | const NodeContainer & | nc | ) |
Append the contents of another NodeContainer to the end of this container.
nc | The NodeContainer to append. |
Definition at line 102 of file node-container.cc.
References Begin(), End(), and m_nodes.
Referenced by NodeContainer(), Add(), Experiment::AssignNeighbors(), ns3::NoBackhaulEpcHelper::AssignStreams(), ns3::BriteTopologyHelper::BuildBriteTopology(), BulkSendBasicTestCase::DoRun(), BulkSendSeqTsSizeTestCase::DoRun(), BriteTopologyFunctionTestCase::DoRun(), IcmpTimeExceedTestCase::DoRun(), IcmpV6TimeExceedTestCase::DoRun(), EpcS1uDlTestCase::DoRun(), EpcS1uUlTestCase::DoRun(), NixVectorRoutingTest::DoRun(), CsmaPingTestCase::DoRun(), CsmaStarTestCase::DoRun(), Ns3TcpLossTestCase::DoRun(), Ns3TcpStateTestCase::DoRun(), Experiment::GenerateNeighbors(), GetGlobal(), and NeighborCacheExample::Run().
void ns3::NodeContainer::Add | ( | const NodeContainer & | nc, |
Ts &&... | args | ||
) |
Append the contents of another NodeContainer to the end of this container.
Ts | [deduced] Template type parameter pack for the multiple NodeContainer |
nc | The NodeContainer to append |
args | The remaining NodeContainers to append |
Definition at line 296 of file node-container.h.
References Add().
Append a single Ptr<Node> to this container.
node | The Ptr<Node> to append. |
Definition at line 111 of file node-container.cc.
References m_nodes.
void ns3::NodeContainer::Add | ( | std::string | nodeName | ) |
NodeContainer::Iterator ns3::NodeContainer::Begin | ( | ) | const |
Get an iterator which refers to the first Node in the container.
Nodes can be retrieved from the container in two ways. First, directly by an index into the container, and second, using an iterator. This method is used in the iterator method and is typically used in a for-loop to run through the Nodes
Definition at line 60 of file node-container.cc.
References m_nodes.
Referenced by ns3::SameRoomPositionAllocator::SameRoomPositionAllocator(), Add(), ns3::LteHelper::AddX2Interface(), ns3::AodvHelper::AssignStreams(), ns3::OnOffHelper::AssignStreams(), ns3::InternetStackHelper::AssignStreams(), ns3::RipHelper::AssignStreams(), ns3::RipNgHelper::AssignStreams(), ns3::GroupMobilityHelper::AssignStreams(), ns3::MobilityHelper::AssignStreams(), ns3::OlsrHelper::AssignStreams(), ns3::DistributedSimulatorImpl::CalculateLookAhead(), ns3::NullMessageSimulatorImpl::CalculateLookAhead(), RandomRoomPositionAllocatorTestCase::DoRun(), SameRoomPositionAllocatorTestCase::DoRun(), Ipv4DeduplicationTest::DoRun(), Ipv4DeduplicationPerformanceTest::DoRun(), LteCellSelectionTestCase::DoRun(), SixlowpanIphcStatefulImplTest::DoRun(), ns3::MobilityHelper::EnableAscii(), ns3::UanHelper::EnableAscii(), ns3::AsciiTraceHelperForDevice::EnableAsciiImpl(), ns3::AsciiTraceHelperForIpv4::EnableAsciiIpv4Impl(), ns3::AsciiTraceHelperForIpv6::EnableAsciiIpv6Impl(), ns3::AthstatsHelper::EnableAthstats(), ns3::PcapHelperForIpv4::EnablePcapIpv4(), ns3::PcapHelperForIpv6::EnablePcapIpv6(), ns3::SameRoomPositionAllocator::GetNext(), ns3::FdNetDeviceHelper::Install(), ns3::CsmaHelper::Install(), ns3::SimpleNetDeviceHelper::Install(), ns3::WifiHelper::Install(), ns3::MeshHelper::Install(), ns3::UdpServerHelper::Install(), ns3::UdpClientHelper::Install(), ns3::UdpTraceClientHelper::Install(), ns3::BuildingsHelper::Install(), ns3::Ping6Helper::Install(), ns3::LrWpanHelper::Install(), ns3::BulkSendHelper::Install(), ns3::OnOffHelper::Install(), ns3::PacketSinkHelper::Install(), ns3::ThreeGppHttpClientHelper::Install(), ns3::ThreeGppHttpServerHelper::Install(), ns3::UdpEchoServerHelper::Install(), ns3::UdpEchoClientHelper::Install(), ns3::EnergySourceHelper::Install(), ns3::InternetStackHelper::Install(), ns3::PacketSocketHelper::Install(), ns3::AdhocAlohaNoackIdealPhyHelper::Install(), ns3::SpectrumAnalyzerHelper::Install(), ns3::WaveformGeneratorHelper::Install(), ns3::WimaxHelper::Install(), ns3::UanHelper::Install(), ns3::GroupMobilityHelper::Install(), ns3::MobilityHelper::Install(), ns3::TvSpectrumTransmitterHelper::Install(), ns3::PingHelper::Install(), ns3::V4PingHelper::Install(), ns3::V4TraceRouteHelper::Install(), ns3::TvSpectrumTransmitterHelper::InstallAdjacent(), ns3::LteHelper::InstallEnbDevice(), ns3::LteSimpleHelper::InstallEnbDevice(), ns3::LteHelper::InstallUeDevice(), ns3::LteSimpleHelper::InstallUeDevice(), UanExperiment::SendPackets(), UanExperiment::SetupApplications(), UanExperiment::SetupCommunications(), ns3::AnimationInterface::TrackIpv4Route(), NetAnimExperiment::UpdatePositions(), and Experiment::UpdatePositions().
bool ns3::NodeContainer::Contains | ( | uint32_t | id | ) | const |
Return true if container contains a Node with index id.
id | Node Id |
Definition at line 124 of file node-container.cc.
References m_nodes.
void ns3::NodeContainer::Create | ( | uint32_t | n | ) |
Create n nodes and append pointers to them to the end of this NodeContainer.
Nodes are at the heart of any ns-3 simulation. One of the first tasks that any simulation needs to do is to create a number of nodes. This method automates that task.
n | The number of Nodes to create |
Definition at line 84 of file node-container.cc.
References m_nodes.
Referenced by ns3::CsmaStarHelper::CsmaStarHelper(), NodeContainer(), ns3::PointToPointDumbbellHelper::PointToPointDumbbellHelper(), ns3::PointToPointGridHelper::PointToPointGridHelper(), ns3::PointToPointStarHelper::PointToPointStarHelper(), ns3::BriteTopologyHelper::BuildBriteTopology(), BatteryLifetimeTest::ConstantLoadTest(), AodvExample::CreateNodes(), ChainRegressionTest::CreateNodes(), Bug772ChainTest::CreateNodes(), DsdvManetExample::CreateNodes(), TracerouteExample::CreateNodes(), MeshTest::CreateNodes(), HwmpProactiveRegressionTest::CreateNodes(), HwmpReactiveRegressionTest::CreateNodes(), HwmpSimplestRegressionTest::CreateNodes(), HwmpDoRfRegressionTest::CreateNodes(), PeerManagementProtocolRegressionTest::CreateNodes(), FlameRegressionTest::CreateNodes(), ns3::olsr::Bug780Test::CreateNodes(), ns3::olsr::HelloRegressionTest::CreateNodes(), ns3::olsr::TcRegressionTest::CreateNodes(), Ns2MobilityHelperTest::CreateNodes(), BasicEnergyDepletionTest::DepletionTestCase(), UdpClientServerTestCase::DoRun(), UdpTraceClientServerTestCase::DoRun(), UdpEchoClientSetFillTestCase::DoRun(), BriteTopologyFunctionTestCase::DoRun(), RandomRoomPositionAllocatorTestCase::DoRun(), SameRoomPositionAllocatorTestCase::DoRun(), BuildingsChannelConditionModelTestCase::DoRun(), BuildingsHelperOneTestCase::DoRun(), BuildingsPenetrationLossesTestCase::DoRun(), OutdoorRandomWalkTestCase::DoRun(), ThreeGppV2vBuildingsChCondModelTestCase::DoRun(), ThreeGppV2vUrbanLosNlosvChCondModelTestCase::DoRun(), ThreeGppV2vHighwayLosNlosvChCondModelTestCase::DoRun(), DhcpTestCase::DoRun(), IcmpEchoReplyTestCase::DoRun(), IcmpTimeExceedTestCase::DoRun(), IcmpV6EchoReplyTestCase::DoRun(), IcmpV6TimeExceedTestCase::DoRun(), Ipv4DeduplicationTest::DoRun(), Ipv4DeduplicationPerformanceTest::DoRun(), Ipv4DynamicGlobalRoutingTestCase::DoRun(), IpAddressHelperTestCasev6::DoRun(), ChannelTest::DoRun(), NetDeviceContainerTest::DoRun(), InterfaceContainerTest::DoRun(), FlushTest::DoRun(), DuplicateTest::DoRun(), DynamicPartialTest::DoRun(), ns3::TcpGeneralTest::DoRun(), EpcS1uDlTestCase::DoRun(), EpcS1uUlTestCase::DoRun(), CarrierAggregationConfigTestCase::DoRun(), CarrierAggregationTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), LenaCqaFfMacSchedulerTestCase1::DoRun(), LenaCqaFfMacSchedulerTestCase2::DoRun(), LteCqiGenerationTestCase::DoRun(), LteCqiGenerationDlPowerControlTestCase::DoRun(), ns3::LenaDeactivateBearerTestCase::DoRun(), LteDownlinkPowerControlTestCase::DoRun(), LteDownlinkPowerControlRrcConnectionReconfigurationTestCase::DoRun(), LenaFdBetFfMacSchedulerTestCase1::DoRun(), LenaFdBetFfMacSchedulerTestCase2::DoRun(), LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaFdTbfqFfMacSchedulerTestCase1::DoRun(), LenaFdTbfqFfMacSchedulerTestCase2::DoRun(), LteHardFrTestCase::DoRun(), LteStrictFrTestCase::DoRun(), LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), LteDistributedFfrAreaTestCase::DoRun(), LenaHarqTestCase::DoRun(), LteInterferenceHardFrTestCase::DoRun(), LteInterferenceStrictFrTestCase::DoRun(), LteInterferenceTestCase::DoRun(), LteIpv6RoutingTestCase::DoRun(), LteLinkAdaptationTestCase::DoRun(), LenaMimoTestCase::DoRun(), LtePathlossModelSystemTestCase::DoRun(), LenaPfFfMacSchedulerTestCase1::DoRun(), LenaPfFfMacSchedulerTestCase2::DoRun(), LenaDataPhyErrorModelTestCase::DoRun(), LenaDlCtrlPhyErrorModelTestCase::DoRun(), LtePrimaryCellChangeTestCase::DoRun(), LenaPssFfMacSchedulerTestCase1::DoRun(), LenaPssFfMacSchedulerTestCase2::DoRun(), LteRadioLinkFailureTestCase::DoRun(), LteRlcAmE2eTestCase::DoRun(), LteRlcUmE2eTestCase::DoRun(), LenaRrFfMacSchedulerTestCase::DoRun(), LteSecondaryCellSelectionTestCase::DoRun(), LenaTdBetFfMacSchedulerTestCase1::DoRun(), LenaTdBetFfMacSchedulerTestCase2::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), LenaTdTbfqFfMacSchedulerTestCase1::DoRun(), LenaTdTbfqFfMacSchedulerTestCase2::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LteUeMeasurementsTestCase::DoRun(), LteUeMeasurementsPiecewiseTestCase1::DoRun(), LteUeMeasurementsPiecewiseTestCase2::DoRun(), LteUeMeasurementsPiecewiseTestCase3::DoRun(), LteUeMeasurementsHandoverTestCase::DoRun(), LteUplinkOpenLoopPowerControlTestCase::DoRun(), LteUplinkClosedLoopPowerControlAbsoluteModeTestCase::DoRun(), LteUplinkClosedLoopPowerControlAccumulatedModeTestCase::DoRun(), LteEnbAntennaTestCase::DoRun(), LteEpcE2eDataTestCase::DoRun(), LteHandoverDelayTestCase::DoRun(), LteHandoverFailureTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), LteRrcConnectionEstablishmentTestCase::DoRun(), LteRrcConnectionEstablishmentErrorTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteX2HandoverTestCase::DoRun(), WaypointMobilityModelViaHelper::DoRun(), MobilityTraceTestCase::DoRun(), PacketSocketAppsTest::DoRun(), NixVectorRoutingTest::DoRun(), ThreeGppChannelConditionModelTestCase::DoRun(), V2vUrbanProbChCondModelTestCase::DoRun(), V2vHighwayProbChCondModelTestCase::DoRun(), ThreeGppRmaPropagationLossModelTestCase::DoRun(), ThreeGppUmaPropagationLossModelTestCase::DoRun(), ThreeGppUmiPropagationLossModelTestCase::DoRun(), ThreeGppIndoorOfficePropagationLossModelTestCase::DoRun(), ThreeGppV2vUrbanPropagationLossModelTestCase::DoRun(), ThreeGppV2vHighwayPropagationLossModelTestCase::DoRun(), SixlowpanIphcStatefulImplTest::DoRun(), SpectrumIdealPhyTestCase::DoRun(), ThreeGppChannelMatrixComputationTest::DoRun(), ThreeGppChannelMatrixUpdateTest::DoRun(), ThreeGppSpectrumPropagationLossModelTest::DoRun(), OverallGainAverageTest::DoRun(), CsmaBroadcastTestCase::DoRun(), CsmaMulticastTestCase::DoRun(), CsmaOneSubnetTestCase::DoRun(), CsmaPacketSocketTestCase::DoRun(), CsmaPingTestCase::DoRun(), CsmaRawIpSocketTestCase::DoRun(), CsmaStarTestCase::DoRun(), Ns3TcpLossTestCase::DoRun(), Ns3TcpSocketTestCaseCsma::DoRun(), Ns3TcpStateTestCase::DoRun(), WifiAcMappingTest::DoRun(), Issue211Test::DoRun(), WifiMsduAggregatorThroughputTest::DoRun(), TcFlowControlTestCase::DoRun(), BlockAckAggregationDisabledTest::DoRun(), PreservePacketsInAmpdus::DoRun(), WifiChannelSwitchingTest::DoRun(), OfdmaAckSequenceTest::DoRun(), Bug730TestCase::DoRun(), QosFragmentationTestCase::DoRun(), SetChannelFrequencyTest::DoRun(), Bug2222TestCase::DoRun(), Bug2843TestCase::DoRun(), Issue169TestCase::DoRun(), IdealRateManagerChannelWidthTest::DoRun(), IdealRateManagerMimoTest::DoRun(), Ns3WimaxNetworkEntryTestCase::DoRun(), Ns3WimaxManagementConnectionsTestCase::DoRun(), Ns3WimaxSfCreationTestCase::DoRun(), Ns3WimaxSimpleOFDMTestCase::DoRunOnce(), Ns3WimaxSFTypeTestCase::DoRunOnce(), Ns3WimaxSchedulingTestCase::DoRunOnce(), PingTestCase::DoSetup(), LinkTest::DoSetup(), LanTest::DoSetup(), TwoLinkTest::DoSetup(), TwoLanTest::DoSetup(), BridgeTest::DoSetup(), TwoBridgeTest::DoSetup(), TestUlOfdmaPowerControl::DoSetup(), WifiPrimaryChannelsTest::DoSetup(), experiment(), ns3::TvSpectrumTransmitterHelper::InstallRandomRegionalTransmitters(), UanExperiment::Prepare(), AnimationInterfaceTestCase::PrepareNetwork(), AnimationRemainingEnergyTestCase::PrepareNetwork(), RoutingExperiment::Run(), NeighborCacheExample::Run(), Experiment::Run(), NetAnimExperiment::Run(), TestInterBssConstantObssPdAlgo::RunOne(), Issue40TestCase::RunOne(), Bug2470TestCase::RunSubtest(), TbfQueueDiscTestCase::RunTbfTest(), ThreeGppShadowingTestCase::RunTest(), StaWifiMacScanningTestCase::Setup(), and BatteryLifetimeTest::VariableLoadTest().
Create n nodes with specified systemId for distributed simulations and append pointers to them to the end of this NodeContainer.
Nodes are at the heart of any ns-3 simulation. One of the first tasks that any simulation needs to do is to create a number of nodes. This method automates that task, and adds the ability to specify systemId for distributed simulations.
n | The number of Nodes to create |
systemId | The system id or rank associated with this node |
Definition at line 93 of file node-container.cc.
References m_nodes.
NodeContainer::Iterator ns3::NodeContainer::End | ( | ) | const |
Get an iterator which indicates past-the-last Node in the container.
Nodes can be retrieved from the container in two ways. First, directly by an index into the container, and second, using an iterator. This method is used in the iterator method and is typically used in a for-loop to run through the Nodes
Definition at line 66 of file node-container.cc.
References m_nodes.
Referenced by ns3::SameRoomPositionAllocator::SameRoomPositionAllocator(), Add(), ns3::LteHelper::AddX2Interface(), ns3::AodvHelper::AssignStreams(), ns3::OnOffHelper::AssignStreams(), ns3::InternetStackHelper::AssignStreams(), ns3::RipHelper::AssignStreams(), ns3::RipNgHelper::AssignStreams(), ns3::GroupMobilityHelper::AssignStreams(), ns3::MobilityHelper::AssignStreams(), ns3::OlsrHelper::AssignStreams(), ns3::DistributedSimulatorImpl::CalculateLookAhead(), ns3::NullMessageSimulatorImpl::CalculateLookAhead(), RandomRoomPositionAllocatorTestCase::DoRun(), SameRoomPositionAllocatorTestCase::DoRun(), Ipv4DeduplicationTest::DoRun(), Ipv4DeduplicationPerformanceTest::DoRun(), LteCellSelectionTestCase::DoRun(), SixlowpanIphcStatefulImplTest::DoRun(), ns3::MobilityHelper::EnableAscii(), ns3::UanHelper::EnableAscii(), ns3::AsciiTraceHelperForDevice::EnableAsciiImpl(), ns3::AsciiTraceHelperForIpv4::EnableAsciiIpv4Impl(), ns3::AsciiTraceHelperForIpv6::EnableAsciiIpv6Impl(), ns3::AthstatsHelper::EnableAthstats(), ns3::PcapHelperForIpv4::EnablePcapIpv4(), ns3::PcapHelperForIpv6::EnablePcapIpv6(), ns3::SameRoomPositionAllocator::GetNext(), ns3::FdNetDeviceHelper::Install(), ns3::CsmaHelper::Install(), ns3::SimpleNetDeviceHelper::Install(), ns3::WifiHelper::Install(), ns3::MeshHelper::Install(), ns3::UdpServerHelper::Install(), ns3::UdpClientHelper::Install(), ns3::UdpTraceClientHelper::Install(), ns3::BuildingsHelper::Install(), ns3::Ping6Helper::Install(), ns3::LrWpanHelper::Install(), ns3::BulkSendHelper::Install(), ns3::OnOffHelper::Install(), ns3::PacketSinkHelper::Install(), ns3::ThreeGppHttpClientHelper::Install(), ns3::ThreeGppHttpServerHelper::Install(), ns3::UdpEchoServerHelper::Install(), ns3::UdpEchoClientHelper::Install(), ns3::EnergySourceHelper::Install(), ns3::InternetStackHelper::Install(), ns3::PacketSocketHelper::Install(), ns3::AdhocAlohaNoackIdealPhyHelper::Install(), ns3::SpectrumAnalyzerHelper::Install(), ns3::WaveformGeneratorHelper::Install(), ns3::WimaxHelper::Install(), ns3::UanHelper::Install(), ns3::GroupMobilityHelper::Install(), ns3::MobilityHelper::Install(), ns3::TvSpectrumTransmitterHelper::Install(), ns3::PingHelper::Install(), ns3::V4PingHelper::Install(), ns3::V4TraceRouteHelper::Install(), ns3::TvSpectrumTransmitterHelper::InstallAdjacent(), ns3::LteHelper::InstallEnbDevice(), ns3::LteSimpleHelper::InstallEnbDevice(), ns3::LteHelper::InstallUeDevice(), ns3::LteSimpleHelper::InstallUeDevice(), UanExperiment::SendPackets(), UanExperiment::SetupApplications(), UanExperiment::SetupCommunications(), ns3::AnimationInterface::TrackIpv4Route(), NetAnimExperiment::UpdatePositions(), and Experiment::UpdatePositions().
Get the Ptr<Node> stored in this container at a given index.
Nodes can be retrieved from the container in two ways. First, directly by an index into the container, and second, using an iterator. This method is used in the direct method and is used to retrieve the indexed Ptr<Node>.
i | the index of the requested node pointer. |
Definition at line 78 of file node-container.cc.
References m_nodes.
Referenced by ns3::CsmaStarHelper::CsmaStarHelper(), ns3::PointToPointDumbbellHelper::PointToPointDumbbellHelper(), ns3::PointToPointGridHelper::PointToPointGridHelper(), ns3::PointToPointStarHelper::PointToPointStarHelper(), Experiment::AssignNeighbors(), ns3::PointToPointStarHelper::BoundingBox(), BuildAppsTest(), AnimationRemainingEnergyTestCase::CheckLogic(), ns3::BriteTopologyHelper::ConstructTopology(), ChainRegressionTest::CreateDevices(), Bug772ChainTest::CreateDevices(), AodvExample::CreateNodes(), TracerouteExample::CreateNodes(), ns3::olsr::Bug780Test::CreateNodes(), ns3::olsr::HelloRegressionTest::CreateNodes(), ns3::olsr::TcRegressionTest::CreateNodes(), Ns2MobilityHelperTest::CreateNodes(), ChainRegressionTest::DoRun(), BulkSendBasicTestCase::DoRun(), BulkSendSeqTsSizeTestCase::DoRun(), UdpClientServerTestCase::DoRun(), UdpTraceClientServerTestCase::DoRun(), UdpEchoClientSetFillTestCase::DoRun(), BriteTopologyFunctionTestCase::DoRun(), BuildingsChannelConditionModelTestCase::DoRun(), BuildingsHelperOneTestCase::DoRun(), BuildingsPenetrationLossesTestCase::DoRun(), OutdoorRandomWalkTestCase::DoRun(), ThreeGppV2vBuildingsChCondModelTestCase::DoRun(), ThreeGppV2vUrbanLosNlosvChCondModelTestCase::DoRun(), ThreeGppV2vHighwayLosNlosvChCondModelTestCase::DoRun(), PingTestCase::DoRun(), IcmpEchoReplyTestCase::DoRun(), IcmpTimeExceedTestCase::DoRun(), IcmpV6EchoReplyTestCase::DoRun(), IcmpV6TimeExceedTestCase::DoRun(), Ipv4DeduplicationTest::DoRun(), LinkTest::DoRun(), LanTest::DoRun(), TwoLinkTest::DoRun(), TwoLanTest::DoRun(), BridgeTest::DoRun(), TwoBridgeTest::DoRun(), Ipv4DynamicGlobalRoutingTestCase::DoRun(), IpAddressHelperTestCasev6::DoRun(), ChannelTest::DoRun(), NetDeviceContainerTest::DoRun(), InterfaceContainerTest::DoRun(), FlushTest::DoRun(), DuplicateTest::DoRun(), DynamicPartialTest::DoRun(), ns3::TcpGeneralTest::DoRun(), EpcS1uDlTestCase::DoRun(), EpcS1uUlTestCase::DoRun(), CarrierAggregationConfigTestCase::DoRun(), CarrierAggregationTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), LenaCqaFfMacSchedulerTestCase1::DoRun(), LenaCqaFfMacSchedulerTestCase2::DoRun(), LteCqiGenerationTestCase::DoRun(), ns3::LenaDeactivateBearerTestCase::DoRun(), LenaFdBetFfMacSchedulerTestCase1::DoRun(), LenaFdBetFfMacSchedulerTestCase2::DoRun(), LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaFdTbfqFfMacSchedulerTestCase1::DoRun(), LenaFdTbfqFfMacSchedulerTestCase2::DoRun(), LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), LteDistributedFfrAreaTestCase::DoRun(), LenaHarqTestCase::DoRun(), LteInterferenceHardFrTestCase::DoRun(), LteInterferenceStrictFrTestCase::DoRun(), LteIpv6RoutingTestCase::DoRun(), LenaMimoTestCase::DoRun(), LtePathlossModelSystemTestCase::DoRun(), LenaPfFfMacSchedulerTestCase1::DoRun(), LenaPfFfMacSchedulerTestCase2::DoRun(), LenaDataPhyErrorModelTestCase::DoRun(), LenaDlCtrlPhyErrorModelTestCase::DoRun(), LenaPssFfMacSchedulerTestCase1::DoRun(), LenaPssFfMacSchedulerTestCase2::DoRun(), LteRadioLinkFailureTestCase::DoRun(), LenaRrFfMacSchedulerTestCase::DoRun(), LenaTdBetFfMacSchedulerTestCase1::DoRun(), LenaTdBetFfMacSchedulerTestCase2::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), LenaTdTbfqFfMacSchedulerTestCase1::DoRun(), LenaTdTbfqFfMacSchedulerTestCase2::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LteUeMeasurementsPiecewiseTestCase1::DoRun(), LteUeMeasurementsPiecewiseTestCase2::DoRun(), LteUeMeasurementsPiecewiseTestCase3::DoRun(), LteUeMeasurementsHandoverTestCase::DoRun(), LteUplinkOpenLoopPowerControlTestCase::DoRun(), LteUplinkClosedLoopPowerControlAbsoluteModeTestCase::DoRun(), LteUplinkClosedLoopPowerControlAccumulatedModeTestCase::DoRun(), LteEpcE2eDataTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), LteRrcConnectionEstablishmentErrorTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteX2HandoverTestCase::DoRun(), WaypointMobilityModelViaHelper::DoRun(), PacketSocketAppsTest::DoRun(), NixVectorRoutingTest::DoRun(), ThreeGppChannelConditionModelTestCase::DoRun(), V2vUrbanProbChCondModelTestCase::DoRun(), V2vHighwayProbChCondModelTestCase::DoRun(), ThreeGppRmaPropagationLossModelTestCase::DoRun(), ThreeGppUmaPropagationLossModelTestCase::DoRun(), ThreeGppUmiPropagationLossModelTestCase::DoRun(), ThreeGppIndoorOfficePropagationLossModelTestCase::DoRun(), ThreeGppV2vUrbanPropagationLossModelTestCase::DoRun(), ThreeGppV2vHighwayPropagationLossModelTestCase::DoRun(), SixlowpanIphcStatefulImplTest::DoRun(), SpectrumIdealPhyTestCase::DoRun(), ThreeGppChannelMatrixComputationTest::DoRun(), ThreeGppChannelMatrixUpdateTest::DoRun(), ThreeGppSpectrumPropagationLossModelTest::DoRun(), OverallGainAverageTest::DoRun(), CsmaBroadcastTestCase::DoRun(), CsmaMulticastTestCase::DoRun(), CsmaOneSubnetTestCase::DoRun(), CsmaPacketSocketTestCase::DoRun(), CsmaPingTestCase::DoRun(), CsmaRawIpSocketTestCase::DoRun(), CsmaStarTestCase::DoRun(), Ns3TcpLossTestCase::DoRun(), Ns3TcpSocketTestCaseCsma::DoRun(), Ns3TcpStateTestCase::DoRun(), WifiAcMappingTest::DoRun(), Issue211Test::DoRun(), WifiMsduAggregatorThroughputTest::DoRun(), TcFlowControlTestCase::DoRun(), BlockAckAggregationDisabledTest::DoRun(), PreservePacketsInAmpdus::DoRun(), WifiUseAvailBwTest::DoRun(), Bug730TestCase::DoRun(), QosFragmentationTestCase::DoRun(), SetChannelFrequencyTest::DoRun(), Bug2222TestCase::DoRun(), StaWifiMacScanningTestCase::DoRun(), PingTestCase::DoSetup(), TwoLinkTest::DoSetup(), TwoLanTest::DoSetup(), BridgeTest::DoSetup(), TwoBridgeTest::DoSetup(), TestUlOfdmaPowerControl::DoSetup(), WifiPrimaryChannelsTest::DoSetup(), experiment(), Experiment::GenerateNeighbors(), ns3::CsmaStarHelper::GetHub(), ns3::PointToPointStarHelper::GetHub(), ns3::PointToPointDumbbellHelper::GetLeft(), ns3::PointToPointDumbbellHelper::GetRight(), ns3::CsmaStarHelper::GetSpokeNode(), ns3::PointToPointStarHelper::GetSpokeNode(), ns3::PointToPointHelper::Install(), MeshTest::InstallApplication(), AodvExample::InstallApplications(), DsdvManetExample::InstallApplications(), TracerouteExample::InstallApplications(), HwmpProactiveRegressionTest::InstallApplications(), HwmpReactiveRegressionTest::InstallApplications(), HwmpSimplestRegressionTest::InstallApplications(), HwmpDoRfRegressionTest::InstallApplications(), FlameRegressionTest::InstallApplications(), ns3::PointToPointGridHelper::InstallStack(), AnimationInterfaceTestCase::PrepareNetwork(), AnimationRemainingEnergyTestCase::PrepareNetwork(), HwmpReactiveRegressionTest::ResetPosition(), HwmpSimplestRegressionTest::ResetPosition(), RoutingExperiment::Run(), NeighborCacheExample::Run(), Experiment::Run(), NetAnimExperiment::Run(), TestInterBssConstantObssPdAlgo::RunOne(), Issue40TestCase::RunOne(), TbfQueueDiscTestCase::RunTbfTest(), ThreeGppShadowingTestCase::RunTest(), Experiment::SelectSrcDest(), Experiment::SendMultiDestinations(), WifiChannelSwitchingTest::SendPacket(), ns3::LteHexGridEnbTopologyHelper::SetPositionAndInstallEnbDevice(), UanExperiment::SetupPositions(), and UpdateAnimation().
|
static |
Create a NodeContainer that contains a list of all nodes created through NodeContainer::Create() and stored in the ns3::NodeList.
Whenever a Node is created, a Ptr<Node> is added to a global list of all nodes in the system. It is sometimes useful to be able to get to all nodes in one place. This method creates a NodeContainer that is initialized to contain all of the simulation nodes,
Definition at line 28 of file node-container.cc.
References Add(), ns3::NodeList::Begin(), and ns3::NodeList::End().
Referenced by ns3::DistributedSimulatorImpl::CalculateLookAhead(), ns3::NullMessageSimulatorImpl::CalculateLookAhead(), ns3::MobilityHelper::EnableAsciiAll(), ns3::UanHelper::EnableAsciiAll(), ns3::AsciiTraceHelperForDevice::EnableAsciiAll(), ns3::AsciiTraceHelperForDevice::EnableAsciiImpl(), ns3::AsciiTraceHelperForIpv4::EnableAsciiIpv4All(), ns3::AsciiTraceHelperForIpv4::EnableAsciiIpv4Impl(), ns3::AsciiTraceHelperForIpv6::EnableAsciiIpv6All(), ns3::AsciiTraceHelperForIpv6::EnableAsciiIpv6Impl(), ns3::PcapHelperForIpv4::EnablePcapIpv4(), ns3::PcapHelperForIpv4::EnablePcapIpv4All(), ns3::PcapHelperForIpv6::EnablePcapIpv6(), ns3::PcapHelperForIpv6::EnablePcapIpv6All(), ns3::EnergySourceHelper::InstallAll(), ns3::InternetStackHelper::InstallAll(), and ns3::MobilityHelper::InstallAll().
uint32_t ns3::NodeContainer::GetN | ( | ) | const |
Get the number of Ptr<Node> stored in this container.
Nodes can be retrieved from the container in two ways. First, directly by an index into the container, and second, using an iterator. This method is used in the direct method and is typically used to define an ending condition in a for-loop that runs through the stored Nodes
Definition at line 72 of file node-container.cc.
References m_nodes.
Referenced by ns3::CsmaStarHelper::CsmaStarHelper(), ns3::PointToPointStarHelper::PointToPointStarHelper(), ns3::CsmaStarHelper::AssignIpv4Addresses(), ns3::PointToPointStarHelper::AssignIpv4Addresses(), ns3::CsmaStarHelper::AssignIpv6Addresses(), ns3::PointToPointStarHelper::AssignIpv6Addresses(), Experiment::AssignNeighbors(), ns3::PointToPointStarHelper::BoundingBox(), Ipv4DeduplicationPerformanceTest::DoRun(), EpcS1uDlTestCase::DoRun(), EpcS1uUlTestCase::DoRun(), CarrierAggregationConfigTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), LenaCqaFfMacSchedulerTestCase1::DoRun(), LenaCqaFfMacSchedulerTestCase2::DoRun(), ns3::LenaDeactivateBearerTestCase::DoRun(), LenaFdTbfqFfMacSchedulerTestCase1::DoRun(), LenaFdTbfqFfMacSchedulerTestCase2::DoRun(), LteDistributedFfrAreaTestCase::DoRun(), LteIpv6RoutingTestCase::DoRun(), LenaPssFfMacSchedulerTestCase1::DoRun(), LenaPssFfMacSchedulerTestCase2::DoRun(), LenaTdTbfqFfMacSchedulerTestCase1::DoRun(), LenaTdTbfqFfMacSchedulerTestCase2::DoRun(), LteUeMeasurementsHandoverTestCase::DoRun(), LteEpcE2eDataTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteX2HandoverTestCase::DoRun(), CsmaStarTestCase::DoRun(), RocketfuelTopologyReaderWeightsTest::DoRun(), RocketfuelTopologyReaderMapsTest::DoRun(), ns3::PointToPointHelper::Install(), ns3::PointToPointGridHelper::InstallStack(), ns3::PointToPointDumbbellHelper::LeftCount(), ns3::PointToPointDumbbellHelper::RightCount(), NetAnimExperiment::Run(), Experiment::Run(), Experiment::SelectSrcDest(), Experiment::SendMultiDestinations(), ns3::LteHexGridEnbTopologyHelper::SetPositionAndInstallEnbDevice(), ns3::CsmaStarHelper::SpokeCount(), ns3::PointToPointStarHelper::SpokeCount(), ns3::AnimationInterface::TrackIpv4Route(), and UpdateAnimation().
Nodes smart pointers.
Definition at line 273 of file node-container.h.
Referenced by NodeContainer(), Add(), Begin(), Contains(), Create(), End(), Get(), and GetN().