A Discrete-Event Network Simulator
API
ns3::QKDControlContainer Class Reference

holds a vector of std::pair of Ptr<QKDControl> and interface index. More...

#include "qkd-control-container.h"

+ Collaboration diagram for ns3::QKDControlContainer:

Public Types

typedef std::vector< std::pair< Ptr< QKDControl >, uint32_t > >::const_iterator Iterator
 Container Const Iterator for pairs of QKDControl smart pointer / Interface Index. More...
 

Public Member Functions

 QKDControlContainer ()
 Constructor. More...
 
void Add (const QKDControlContainer &other)
 Concatenate the entries in the other container with ours. More...
 
void Add (Ptr< QKDControl >, uint32_t ipInterfacePair)
 Manually add an entry to the container consisting of a previously composed entry std::pair. More...
 
void Add (std::pair< Ptr< QKDControl >, uint32_t > ipInterfacePair)
 Manually add an entry to the container consisting of a previously composed entry std::pair. More...
 
Iterator Begin (void) const
 Get an iterator which refers to the first pair in the container. More...
 
Iterator End (void) const
 Get an iterator which indicates past-the-last Node in the container. More...
 
std::pair< Ptr< QKDControl >, uint32_t > Get (uint32_t i) const
 Get the std::pair of an Ptr<QKDControl> and interface stored at the location specified by the index. More...
 
uint32_t GetN (void) const
 Get the number of nodes in the container. More...
 

Private Types

typedef std::vector< std::pair< Ptr< QKDControl >, uint32_t > > InterfaceVector
 Container for pairs of QKDControl smart pointer / Interface Index. More...
 

Private Attributes

InterfaceVector m_list
 List of QKD Encryptors and interfaces index. More...
 

Detailed Description

holds a vector of std::pair of Ptr<QKDControl> and interface index.

Typically ns-3 QKDControls are installed on nodes using an QKD helper.

See also
QKDControl

Definition at line 40 of file qkd-control-container.h.

Member Typedef Documentation

◆ InterfaceVector

typedef std::vector<std::pair<Ptr<QKDControl>,uint32_t> > ns3::QKDControlContainer::InterfaceVector
private

Container for pairs of QKDControl smart pointer / Interface Index.

Definition at line 136 of file qkd-control-container.h.

◆ Iterator

typedef std::vector<std::pair<Ptr<QKDControl>, uint32_t> >::const_iterator ns3::QKDControlContainer::Iterator

Container Const Iterator for pairs of QKDControl smart pointer / Interface Index.

Definition at line 46 of file qkd-control-container.h.

Constructor & Destructor Documentation

◆ QKDControlContainer()

ns3::QKDControlContainer::QKDControlContainer ( )

Constructor.

Definition at line 27 of file qkd-control-container.cc.

Member Function Documentation

◆ Add() [1/3]

void ns3::QKDControlContainer::Add ( const QKDControlContainer other)

Concatenate the entries in the other container with ours.

Parameters
otherThe other container.

Definition at line 32 of file qkd-control-container.cc.

References m_list.

Referenced by Add(), and ns3::QKDLinkHelper::InstallQKDControl().

+ Here is the caller graph for this function:

◆ Add() [2/3]

void ns3::QKDControlContainer::Add ( Ptr< QKDControl qkde,
uint32_t  ipInterfacePair 
)

Manually add an entry to the container consisting of a previously composed entry std::pair.

Parameters
TheQKD control object.
ipInterfacePairThe pair of a pointer to Ipv4 object and interface index of the Ipv4Interface to add to the container.

Definition at line 59 of file qkd-control-container.cc.

References m_list.

◆ Add() [3/3]

void ns3::QKDControlContainer::Add ( std::pair< Ptr< QKDControl >, uint32_t >  ipInterfacePair)

Manually add an entry to the container consisting of a previously composed entry std::pair.

Parameters
Thepair of QKD control objects.
ipInterfacePairThe pair of a pointer to Ipv4 object and interface index of the Ipv4Interface to add to the container.

Definition at line 63 of file qkd-control-container.cc.

References Add().

+ Here is the call graph for this function:

◆ Begin()

QKDControlContainer::Iterator ns3::QKDControlContainer::Begin ( void  ) const

Get an iterator which refers to the first pair in the container.

Pairs can be retrieved from the container in two ways. First, directly by an index into the container, and second, using an iterator. This method is used in the iterator method and is typically used in a for-loop to run through the pairs

for (i = container.Begin (); i != container.End (); ++i)
{
std::pair<Ptr<QKDControl>, uint32_t> pair = *i;
method (pair.first, pair.second); // use the pair
}
std::vector< std::pair< Ptr< QKDControl >, uint32_t > >::const_iterator Iterator
Container Const Iterator for pairs of QKDControl smart pointer / Interface Index.
Returns
An iterator which refers to the first pair in the container.

Definition at line 41 of file qkd-control-container.cc.

References m_list.

◆ End()

QKDControlContainer::Iterator ns3::QKDControlContainer::End ( void  ) const

Get an iterator which indicates past-the-last Node in the container.

Nodes can be retrieved from the container in two ways. First, directly by an index into the container, and second, using an iterator. This method is used in the iterator method and is typically used in a for-loop to run through the Nodes

for (i = container.Begin (); i != container.End (); ++i)
{
std::pair<Ptr<QKDControl>, uint32_t> pair = *i;
method (pair.first, pair.second); // use the pair
}
std::vector< Ptr< Node > >::const_iterator Iterator
Node container iterator.
Returns
An iterator which indicates an ending condition for a loop.

Definition at line 47 of file qkd-control-container.cc.

References m_list.

◆ Get()

std::pair< Ptr< QKDControl >, uint32_t > ns3::QKDControlContainer::Get ( uint32_t  i) const

Get the std::pair of an Ptr<QKDControl> and interface stored at the location specified by the index.

Parameters
iThe index of the container entry to retrieve.
Returns
The pair of QKD controls and the interface index.

Definition at line 69 of file qkd-control-container.cc.

References m_list.

◆ GetN()

uint32_t ns3::QKDControlContainer::GetN ( void  ) const

Get the number of nodes in the container.

Returns
The number of nodes.

Definition at line 53 of file qkd-control-container.cc.

References m_list.

Member Data Documentation

◆ m_list

InterfaceVector ns3::QKDControlContainer::m_list
private

List of QKD Encryptors and interfaces index.

Definition at line 137 of file qkd-control-container.h.

Referenced by Add(), Begin(), End(), Get(), and GetN().


The documentation for this class was generated from the following files: