--- a/src/routing/olsr/olsr.cc Mon Jul 30 17:43:52 2007 +0100
+++ b/src/routing/olsr/olsr.cc Mon Jul 30 19:11:21 2007 +0100
@@ -28,23 +28,14 @@
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::Iterator> (NodeList::Begin (), NodeList::End ());
}
void
EnableNode (Ptr<Node> node)
{
- ComponentManager::Create<OlsrAgent, Ptr<Node> >
- (OlsrAgent::cid, OlsrAgent::iid, node)->Start ();
+ ComponentManager::Create<OlsrAgent, Ptr<Node> >
+ (OlsrAgent::cid, OlsrAgent::iid, node)->Start ();
}
--- a/src/routing/olsr/olsr.h Mon Jul 30 17:43:52 2007 +0100
+++ b/src/routing/olsr/olsr.h Mon Jul 30 19:11:21 2007 +0100
@@ -32,11 +32,30 @@
void EnableAllNodes (void);
// \brief Start the OLSR routing agent on a given list of nodes
- void EnableNodes (NodeList::Iterator begin, NodeList::Iterator end);
+ template <typename InputIterator>
+ void EnableNodes (InputIterator begin, InputIterator end);
// \brief Start the OLSR routing agent on the given nodes
void EnableNode (Ptr<Node> node);
}
}
+
+// implementation
+namespace ns3
+{
+ namespace olsr
+ {
+ template <typename InputIterator>
+ void EnableNodes (InputIterator begin, InputIterator end)
+ {
+ for (InputIterator i = begin; i != end; i++)
+ {
+ EnableNode (*i);
+ }
+ }
+ }
+}
+
+
#endif /* OLSR_H */