Holds a vector of ns3::DeviceEnergyModel pointers. More...
#include <device-energy-model-container.h>
Public Types | |
typedef std::vector< Ptr < DeviceEnergyModel > >::const_iterator | Iterator |
Public Member Functions | |
DeviceEnergyModelContainer () | |
Creates an empty DeviceEnergyModelContainer. More... | |
DeviceEnergyModelContainer (Ptr< DeviceEnergyModel > model) | |
DeviceEnergyModelContainer (std::string modelName) | |
DeviceEnergyModelContainer (const DeviceEnergyModelContainer &a, const DeviceEnergyModelContainer &b) | |
void | Add (DeviceEnergyModelContainer container) |
void | Add (Ptr< DeviceEnergyModel > model) |
Append a single Ptr<DeviceEnergyModel> to the end of this container. More... | |
void | Add (std::string modelName) |
Append a single Ptr<DeviceEnergyModel> referred to by its object name to the end of this container. More... | |
Iterator | Begin (void) const |
Get an iterator which refers to the first DeviceEnergyModel pointer in the container. More... | |
void | Clear (void) |
Removes all elements in the container. More... | |
Iterator | End (void) const |
Get an iterator which refers to the last DeviceEnergyModel pointer in the container. More... | |
Ptr< DeviceEnergyModel > | Get (uint32_t i) const |
Get the i-th Ptr<DeviceEnergyModel> stored in this container. More... | |
uint32_t | GetN (void) const |
Get the number of Ptr<DeviceEnergyModel> stored in this container. More... | |
Private Attributes | |
std::vector< Ptr < DeviceEnergyModel > > | m_models |
Holds a vector of ns3::DeviceEnergyModel pointers.
DeviceEnergyModelContainer returns a list of DeviceEnergyModel pointers installed on a node. Users can use this list to access DeviceEnergyModel objects to obtain total device energy consumption on a node easily.
Definition at line 43 of file device-energy-model-container.h.
typedef std::vector< Ptr<DeviceEnergyModel> >::const_iterator ns3::DeviceEnergyModelContainer::Iterator |
Definition at line 46 of file device-energy-model-container.h.
ns3::DeviceEnergyModelContainer::DeviceEnergyModelContainer | ( | ) |
Creates an empty DeviceEnergyModelContainer.
Definition at line 31 of file device-energy-model-container.cc.
References NS_LOG_FUNCTION.
ns3::DeviceEnergyModelContainer::DeviceEnergyModelContainer | ( | Ptr< DeviceEnergyModel > | model | ) |
model | Pointer to a DeviceEnergyModel. |
Creates a DeviceEnergyModelContainer with exactly one DeviceEnergyModel previously instantiated.
Definition at line 36 of file device-energy-model-container.cc.
References m_models, NS_ASSERT, and NS_LOG_FUNCTION.
ns3::DeviceEnergyModelContainer::DeviceEnergyModelContainer | ( | std::string | modelName | ) |
modelName | Name of DeviceEnergyModel. |
Creates an DeviceEnergyModelContainer with exactly one DeviceEnergyModel previously instantiated and assigned a name using the Object name service. This DeviceEnergyModel is specified by its assigned name.
Definition at line 43 of file device-energy-model-container.cc.
References m_models, NS_ASSERT, and NS_LOG_FUNCTION.
ns3::DeviceEnergyModelContainer::DeviceEnergyModelContainer | ( | const DeviceEnergyModelContainer & | a, |
const DeviceEnergyModelContainer & | b | ||
) |
a | A DeviceEnergyModelContainer. |
b | Another DeviceEnergyModelContainer. |
Creates a DeviceEnergyModelContainer by concatenating DeviceEnergyModelContainer b to DeviceEnergyModelContainer a.
Definition at line 51 of file device-energy-model-container.cc.
References Add(), and NS_LOG_FUNCTION.
void ns3::DeviceEnergyModelContainer::Add | ( | DeviceEnergyModelContainer | container | ) |
container | Another DeviceEnergyModelContainer. |
Appends the contents of another DeviceEnergyModelContainer to the end of this DeviceEnergyModelContainer.
Definition at line 88 of file device-energy-model-container.cc.
References Begin(), End(), m_models, and NS_LOG_FUNCTION.
Referenced by ns3::EnergySource::AppendDeviceEnergyModel(), DeviceEnergyModelContainer(), and ns3::EnergySource::FindDeviceEnergyModels().
void ns3::DeviceEnergyModelContainer::Add | ( | Ptr< DeviceEnergyModel > | model | ) |
Append a single Ptr<DeviceEnergyModel> to the end of this container.
model | Pointer to an DeviceEnergyModel. |
Definition at line 98 of file device-energy-model-container.cc.
References m_models, NS_ASSERT, and NS_LOG_FUNCTION.
void ns3::DeviceEnergyModelContainer::Add | ( | std::string | modelName | ) |
Append a single Ptr<DeviceEnergyModel> referred to by its object name to the end of this container.
modelName | Name of DeviceEnergyModel object. |
Definition at line 106 of file device-energy-model-container.cc.
References m_models, NS_ASSERT, and NS_LOG_FUNCTION.
DeviceEnergyModelContainer::Iterator ns3::DeviceEnergyModelContainer::Begin | ( | void | ) | const |
Get an iterator which refers to the first DeviceEnergyModel pointer in the container.
DeviceEnergyModels 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 DeviceEnergyModels.
Definition at line 60 of file device-energy-model-container.cc.
References m_models, and NS_LOG_FUNCTION.
Referenced by Add(), ns3::EnergySource::CalculateTotalCurrent(), ns3::EnergySource::DisposeDeviceModels(), ns3::EnergySource::FindDeviceEnergyModels(), ns3::EnergySource::InitializeDeviceModels(), and ns3::EnergySource::NotifyEnergyDrained().
void ns3::DeviceEnergyModelContainer::Clear | ( | void | ) |
Removes all elements in the container.
Definition at line 115 of file device-energy-model-container.cc.
References m_models, and NS_LOG_FUNCTION.
Referenced by ns3::EnergySource::BreakDeviceEnergyModelRefCycle().
DeviceEnergyModelContainer::Iterator ns3::DeviceEnergyModelContainer::End | ( | void | ) | const |
Get an iterator which refers to the last DeviceEnergyModel pointer in the container.
DeviceEnergyModels 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 DeviceEnergyModels.
Definition at line 67 of file device-energy-model-container.cc.
References m_models, and NS_LOG_FUNCTION.
Referenced by Add(), ns3::EnergySource::CalculateTotalCurrent(), ns3::EnergySource::DisposeDeviceModels(), ns3::EnergySource::FindDeviceEnergyModels(), ns3::EnergySource::InitializeDeviceModels(), and ns3::EnergySource::NotifyEnergyDrained().
Ptr< DeviceEnergyModel > ns3::DeviceEnergyModelContainer::Get | ( | uint32_t | i | ) | const |
Get the i-th Ptr<DeviceEnergyModel> stored in this container.
i | Index of the requested Ptr<DeviceEnergyModel>. |
Definition at line 81 of file device-energy-model-container.cc.
References m_models, and NS_LOG_FUNCTION.
Referenced by ns3::AcousticModemEnergyTestCase::DoRun(), main(), BasicEnergyUpdateTest::StateSwitchTest(), and BatteryLifetimeTest::VariableLoadTest().
uint32_t ns3::DeviceEnergyModelContainer::GetN | ( | void | ) | const |
Get the number of Ptr<DeviceEnergyModel> stored in this container.
Definition at line 74 of file device-energy-model-container.cc.
References m_models, and NS_LOG_FUNCTION.
Referenced by BasicEnergyUpdateTest::StateSwitchTest().
|
private |
Definition at line 171 of file device-energy-model-container.h.
Referenced by Add(), Begin(), Clear(), DeviceEnergyModelContainer(), End(), Get(), and GetN().