A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
channel-list.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2009 University of Washington
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 */
17
18#ifndef CHANNEL_LIST_H
19#define CHANNEL_LIST_H
20
21#include "ns3/ptr.h"
22
23#include <vector>
24
25namespace ns3
26{
27
28class Channel;
29class CallbackBase;
30
31/**
32 * \ingroup network
33 *
34 * \brief the list of simulation channels.
35 *
36 * Every Channel created is automatically added to this list.
37 */
39{
40 public:
41 /// Channel container iterator
42 typedef std::vector<Ptr<Channel>>::const_iterator Iterator;
43
44 /**
45 * \param channel channel to add
46 * \returns index of channel in list.
47 *
48 * This method is called automatically from Channel::Channel so
49 * the user has little reason to call it himself.
50 */
51 static uint32_t Add(Ptr<Channel> channel);
52 /**
53 * \returns a C++ iterator located at the beginning of this
54 * list.
55 */
56 static Iterator Begin();
57 /**
58 * \returns a C++ iterator located at the end of this
59 * list.
60 */
61 static Iterator End();
62 /**
63 * \param n index of requested channel.
64 * \returns the Channel associated to index n.
65 */
67 /**
68 * \returns the number of channels currently in the list.
69 */
70 static uint32_t GetNChannels();
71};
72
73} // namespace ns3
74
75#endif /* CHANNEL_LIST_H */
the list of simulation channels.
Definition: channel-list.h:39
static Ptr< Channel > GetChannel(uint32_t n)
static uint32_t Add(Ptr< Channel > channel)
static uint32_t GetNChannels()
static Iterator Begin()
std::vector< Ptr< Channel > >::const_iterator Iterator
Channel container iterator.
Definition: channel-list.h:42
static Iterator End()
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:77
Every class exported by the ns3 library is enclosed in the ns3 namespace.