INET Framework for OMNeT++/OMNEST
inet::ospfv3::Ipv6AddressRange Struct Reference

#include <Ospfv3Common.h>

Public Member Functions

 Ipv6AddressRange ()
 
 Ipv6AddressRange (Ipv6Address prefixPar, int prefixLengthPar)
 
bool operator< (const Ipv6AddressRange &other) const
 
bool operator== (const Ipv6AddressRange &other) const
 
bool contains (const Ipv6Address &other) const
 
bool contains (const Ipv6AddressRange &other) const
 
bool containsRange (const Ipv6Address &otherAddress, const int otherMask) const
 
bool containedByRange (const Ipv6Address &otherAddress, const int otherMask) const
 
bool operator!= (Ipv6AddressRange other) const
 
std::string str () const
 

Public Attributes

Ipv6Address prefix
 
short prefixLength
 

Constructor & Destructor Documentation

◆ Ipv6AddressRange() [1/2]

inet::ospfv3::Ipv6AddressRange::Ipv6AddressRange ( )
inline
93 : prefix(), prefixLength() {}

◆ Ipv6AddressRange() [2/2]

inet::ospfv3::Ipv6AddressRange::Ipv6AddressRange ( Ipv6Address  prefixPar,
int  prefixLengthPar 
)
inline
94 : prefix(prefixPar), prefixLength(prefixLengthPar) {}

Member Function Documentation

◆ containedByRange()

bool inet::ospfv3::Ipv6AddressRange::containedByRange ( const Ipv6Address otherAddress,
const int  otherMask 
) const
inline
123  {
124  return prefix.getPrefix(otherMask) == otherAddress.getPrefix(otherMask) && (otherMask <= prefixLength);
125  }

Referenced by inet::ospfv3::Ospfv3Area::calculateInterAreaRoutes().

◆ contains() [1/2]

bool inet::ospfv3::Ipv6AddressRange::contains ( const Ipv6Address other) const
inline
107  {
109  }

Referenced by inet::ospfv3::Ospfv3Area::addAddressRange().

◆ contains() [2/2]

bool inet::ospfv3::Ipv6AddressRange::contains ( const Ipv6AddressRange other) const
inline
112  {
113 
114  return prefix.getPrefix(prefixLength) == other.prefix.getPrefix(prefixLength) && (prefixLength <= other.prefixLength);
115  }

◆ containsRange()

bool inet::ospfv3::Ipv6AddressRange::containsRange ( const Ipv6Address otherAddress,
const int  otherMask 
) const
inline
118  {
119  return prefix.getPrefix(prefixLength) == otherAddress.getPrefix(prefixLength) && (prefixLength <= otherMask);
120  }

◆ operator!=()

bool inet::ospfv3::Ipv6AddressRange::operator!= ( Ipv6AddressRange  other) const
inline
128  {
129  return !operator==(other);
130  }

◆ operator<()

bool inet::ospfv3::Ipv6AddressRange::operator< ( const Ipv6AddressRange other) const
inline
97  {
98  return (prefixLength > other.prefixLength) || ((prefixLength == other.prefixLength) && (prefix < other.prefix));
99  }

◆ operator==()

bool inet::ospfv3::Ipv6AddressRange::operator== ( const Ipv6AddressRange other) const
inline
102  {
103  return (prefix == other.prefix) && (prefixLength == other.prefixLength);
104  }

Referenced by operator!=().

◆ str()

std::string inet::ospfv3::Ipv6AddressRange::str ( ) const
inline
136 {
137  std::string str(prefix.str());
138  str += "/";
139  str += prefixLength;
140  return str;
141 }

Referenced by inet::ospfv3::Ospfv3Area::addAddressRange().

Member Data Documentation

◆ prefix

◆ prefixLength


The documentation for this struct was generated from the following file:
inet::ospfv3::Ipv6AddressRange::str
std::string str() const
Definition: Ospfv3Common.h:135
inet::Ipv6Address::str
std::string str() const
Returns the textual representation of the address in the standard notation.
Definition: Ipv6Address.cc:168
inet::ospfv3::Ipv6AddressRange::operator==
bool operator==(const Ipv6AddressRange &other) const
Definition: Ospfv3Common.h:101
inet::Ipv6Address::getPrefix
Ipv6Address getPrefix(int prefixLength) const
Get the Ipv6 first prefixLength bits of the address, with the rest set to zero.
Definition: Ipv6Address.cc:299
inet::ospfv3::Ipv6AddressRange::prefix
Ipv6Address prefix
Definition: Ospfv3Common.h:91
inet::ospfv3::Ipv6AddressRange::prefixLength
short prefixLength
Definition: Ospfv3Common.h:92