Patch from Mathieu, makes EnableNodes templated

This commit is contained in:
Gustavo J. A. M. Carneiro
2007-07-30 19:11:21 +01:00
parent 072626d390
commit 222eea66fa
2 changed files with 23 additions and 13 deletions

View File

@@ -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::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 ();
}

View File

@@ -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 <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 */