From 222eea66fa2d876c734b3bbac7a3232189d4ea6d Mon Sep 17 00:00:00 2001 From: "Gustavo J. A. M. Carneiro" Date: Mon, 30 Jul 2007 19:11:21 +0100 Subject: [PATCH] Patch from Mathieu, makes EnableNodes templated --- src/routing/olsr/olsr.cc | 15 +++------------ src/routing/olsr/olsr.h | 21 ++++++++++++++++++++- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/routing/olsr/olsr.cc b/src/routing/olsr/olsr.cc index 298c65216..1f6b0aa30 100644 --- a/src/routing/olsr/olsr.cc +++ b/src/routing/olsr/olsr.cc @@ -28,23 +28,14 @@ namespace ns3 { namespace olsr { void EnableAllNodes (void) { - EnableNodes (NodeList::Begin (), NodeList::End ()); -} - -void -EnableNodes (NodeList::Iterator begin, NodeList::Iterator end) -{ - for (NodeList::Iterator i = begin; i != end; i++) - { - EnableNode (*i); - } + EnableNodes (NodeList::Begin (), NodeList::End ()); } void EnableNode (Ptr node) { - ComponentManager::Create > - (OlsrAgent::cid, OlsrAgent::iid, node)->Start (); + ComponentManager::Create > + (OlsrAgent::cid, OlsrAgent::iid, node)->Start (); } diff --git a/src/routing/olsr/olsr.h b/src/routing/olsr/olsr.h index 3239e153a..b06c63097 100644 --- a/src/routing/olsr/olsr.h +++ b/src/routing/olsr/olsr.h @@ -32,11 +32,30 @@ namespace ns3 void EnableAllNodes (void); // \brief Start the OLSR routing agent on a given list of nodes - void EnableNodes (NodeList::Iterator begin, NodeList::Iterator end); + template + void EnableNodes (InputIterator begin, InputIterator end); // \brief Start the OLSR routing agent on the given nodes void EnableNode (Ptr node); } } + +// implementation +namespace ns3 +{ + namespace olsr + { + template + void EnableNodes (InputIterator begin, InputIterator end) + { + for (InputIterator i = begin; i != end; i++) + { + EnableNode (*i); + } + } + } +} + + #endif /* OLSR_H */