A Discrete-Event Network Simulator
API
energy-source-container.h
Go to the documentation of this file.
1/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2/*
3 * Copyright (c) 2008 INRIA
4 * Copyright (c) 2010 Network Security Lab, University of Washington, Seattle.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation;
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 *
19 * Authors: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
20 * Sidharth Nabar <snabar@uw.edu>, He Wu <mdzz@u.washington.edu>
21 */
22
23#ifndef ENERGY_SOURCE_CONTAINER_H
24#define ENERGY_SOURCE_CONTAINER_H
25
26#include "ns3/energy-source.h"
27#include "ns3/object.h"
28#include <vector>
29#include <stdint.h>
30
31namespace ns3 {
32
45{
46public:
48 typedef std::vector< Ptr<EnergySource> >::const_iterator Iterator;
49
50public:
55 static TypeId GetTypeId (void);
61
69
77 EnergySourceContainer (std::string sourceName);
78
90 const EnergySourceContainer &b);
91
111 Iterator Begin (void) const;
112
132 Iterator End (void) const;
133
139 uint32_t GetN (void) const;
140
148
155 void Add (EnergySourceContainer container);
156
162 void Add (Ptr<EnergySource> source);
163
170 void Add (std::string sourceName);
171
172private:
173 virtual void DoDispose (void);
174
178 virtual void DoInitialize (void);
179
180private:
181 std::vector< Ptr<EnergySource> > m_sources;
182
183};
184
185} // namespace ns3
186
187#endif /* ENERGY_SOURCE_CONTAINER_H */
Holds a vector of ns3::EnergySource pointers.
Ptr< EnergySource > Get(uint32_t i) const
Get the i-th Ptr<EnergySource> stored in this container.
EnergySourceContainer()
Creates an empty EnergySourceContainer.
static TypeId GetTypeId(void)
Get the type ID.
std::vector< Ptr< EnergySource > >::const_iterator Iterator
Const iterator for EnergySource container.
Iterator Begin(void) const
Get an iterator which refers to the first EnergySource pointer in the container.
std::vector< Ptr< EnergySource > > m_sources
Energy source container.
virtual void DoInitialize(void)
Calls Object::Start () for all EnergySource objects.
void Add(EnergySourceContainer container)
uint32_t GetN(void) const
Get the number of Ptr<EnergySource> stored in this container.
Iterator End(void) const
Get an iterator which refers to the last EnergySource pointer in the container.
virtual void DoDispose(void)
Destructor implementation.
A base class which provides memory management and object aggregation.
Definition: object.h:88
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:74
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.