A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
ipv6-list-routing-helper.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008 INRIA
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
7
*/
8
9
#include "
ipv6-list-routing-helper.h
"
10
11
#include "ns3/ipv6-list-routing.h"
12
#include "ns3/node.h"
13
14
namespace
ns3
15
{
16
17
Ipv6ListRoutingHelper::Ipv6ListRoutingHelper
()
18
{
19
}
20
21
Ipv6ListRoutingHelper::~Ipv6ListRoutingHelper
()
22
{
23
for
(
auto
i =
m_list
.begin(); i !=
m_list
.end(); ++i)
24
{
25
delete
i->first;
26
}
27
}
28
29
Ipv6ListRoutingHelper::Ipv6ListRoutingHelper
(
const
Ipv6ListRoutingHelper
& o)
30
{
31
for
(
auto
i = o.
m_list
.begin(); i != o.
m_list
.end(); ++i)
32
{
33
m_list
.emplace_back(
const_cast<
const
Ipv6RoutingHelper
*
>
(i->first->Copy()), i->second);
34
}
35
}
36
37
Ipv6ListRoutingHelper
*
38
Ipv6ListRoutingHelper::Copy
()
const
39
{
40
return
new
Ipv6ListRoutingHelper
(*
this
);
41
}
42
43
void
44
Ipv6ListRoutingHelper::Add
(
const
Ipv6RoutingHelper
& routing, int16_t priority)
45
{
46
m_list
.emplace_back(
const_cast<
const
Ipv6RoutingHelper
*
>
(routing.
Copy
()), priority);
47
}
48
49
Ptr<Ipv6RoutingProtocol>
50
Ipv6ListRoutingHelper::Create
(
Ptr<Node>
node)
const
51
{
52
Ptr<Ipv6ListRouting>
list =
CreateObject<Ipv6ListRouting>
();
53
for
(
auto
i =
m_list
.begin(); i !=
m_list
.end(); ++i)
54
{
55
Ptr<Ipv6RoutingProtocol>
prot = i->first->Create(node);
56
list->AddRoutingProtocol(prot, i->second);
57
}
58
return
list
;
59
}
60
61
}
// namespace ns3
ns3::Ipv6ListRoutingHelper
Helper class that adds ns3::Ipv6ListRouting objects.
Definition
ipv6-list-routing-helper.h:28
ns3::Ipv6ListRoutingHelper::m_list
std::list< std::pair< const Ipv6RoutingHelper *, int16_t > > m_list
Container for pairs of Ipv6RoutingHelper pointer / priority.
Definition
ipv6-list-routing-helper.h:82
ns3::Ipv6ListRoutingHelper::Copy
Ipv6ListRoutingHelper * Copy() const override
Definition
ipv6-list-routing-helper.cc:38
ns3::Ipv6ListRoutingHelper::Add
void Add(const Ipv6RoutingHelper &routing, int16_t priority)
Definition
ipv6-list-routing-helper.cc:44
ns3::Ipv6ListRoutingHelper::Ipv6ListRoutingHelper
Ipv6ListRoutingHelper()
Construct an Ipv6 Ipv6ListRoutingHelper which is used to make life easier for people wanting to confi...
Definition
ipv6-list-routing-helper.cc:17
ns3::Ipv6ListRoutingHelper::Create
Ptr< Ipv6RoutingProtocol > Create(Ptr< Node > node) const override
Definition
ipv6-list-routing-helper.cc:50
ns3::Ipv6ListRoutingHelper::~Ipv6ListRoutingHelper
~Ipv6ListRoutingHelper() override
Destroy an Ipv6 Ipv6ListRoutingHelper.
Definition
ipv6-list-routing-helper.cc:21
ns3::Ipv6RoutingHelper
A factory to create ns3::Ipv6RoutingProtocol objects.
Definition
ipv6-routing-helper.h:35
ns3::Ipv6RoutingHelper::Copy
virtual Ipv6RoutingHelper * Copy() const =0
virtual constructor
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
mpi-test-fixtures.h:37
ns3::CreateObject
Ptr< T > CreateObject(Args &&... args)
Create an object by type, with varying number of constructor parameters.
Definition
object.h:619
ipv6-list-routing-helper.h
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
list
#define list
Definition
openflow-interface.h:35
src
internet
helper
ipv6-list-routing-helper.cc
Generated on Fri Nov 8 2024 13:59:00 for ns-3 by
1.11.0