AFI
Advanced Forwarding Interface
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Groups
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
AftDataIP6Addr Class Reference

Data class for IPv6 addresses. More...

#include <AftData.h>

Inheritance diagram for AftDataIP6Addr:
AftData

Public Types

typedef std::shared_ptr
< AftDataIP6Addr
Ptr
 Pointer type for all AftData IPv6 addresses.
 

Public Member Functions

 AftDataIP6Addr (AftDataBytes newAddress)
 Constructor for IPv6 address. More...
 
 AftDataIP6Addr (uint8_t *newAddress, uint32_t newBitLength)
 Constructor for IPv6 address. More...
 
 AftDataIP6Addr (uint8_t *newAddress)
 Constructor for IPv6 address. More...
 
 AftDataIP6Addr (std::string prefixString)
 Constructor for IPv6 address. More...
 
const AftDataBytesdata () const
 
const uint8_t * dataArray () const
 
virtual uint32_t append (AftDataBytes &aData)
 Append contents of data object to AftDataBytes vector. More...
 
virtual const std::string dataClass () const
 
virtual std::ostream & description (std::ostream &os) const
 Append a description of the data to an output stream. More...
 
virtual int compare (const AftData &aData) const
 Compare data. More...
 
- Public Member Functions inherited from AftData
 AftData (uint32_t newBitLength)
 Base constructor for data objects. More...
 
const uint32_t bitLength () const
 
const uint32_t byteLength () const
 
bool operator== (const AftData &aData) const
 Comparator for data. More...
 

Static Public Member Functions

static AftDataIP6Addr::Ptr create (AftDataBytes newAddress)
 Factory generator for IPv6 address. More...
 
static AftDataIP6Addr::Ptr create (uint8_t *newAddress, uint32_t newBitLength)
 Factory generator for IPv6 address. More...
 
static AftDataIP6Addr::Ptr create (std::string prefixString)
 Factory generator for IPv4 address. More...
 

Protected Attributes

AftDataBytes _data
 Encapsulated IP6 address.
 
- Protected Attributes inherited from AftData
uint32_t _bitLength
 Size of encapsulated data in bits.
 

Additional Inherited Members

- Protected Member Functions inherited from AftData
void setBitLength (uint32_t newBitLength)
 Set the bitlength of the data. More...
 

Detailed Description

Data class for IPv6 addresses.

Constructor & Destructor Documentation

AftDataIP6Addr::AftDataIP6Addr ( AftDataBytes  newAddress)
inline

Constructor for IPv6 address.

Parameters
[in]newAddressIPv6 address as a byte vector to represent in data
AftDataIP6Addr::AftDataIP6Addr ( uint8_t *  newAddress,
uint32_t  newBitLength 
)
inline

Constructor for IPv6 address.

Parameters
[in]newAddressIPv6 address as a C-style byte array to represent in data
[in]newBitLengthLength of IPv6 address in bits (i.e. subnet length)
AftDataIP6Addr::AftDataIP6Addr ( uint8_t *  newAddress)
inline

Constructor for IPv6 address.

Parameters
[in]newAddressIPv6 address as a C-style byte array to represent in data
AftDataIP6Addr::AftDataIP6Addr ( std::string  prefixString)
inline

Constructor for IPv6 address.

Parameters
[in]prefixStringIPv6 address as a standard-notation string to represent in data

Member Function Documentation

virtual uint32_t AftDataIP6Addr::append ( AftDataBytes newData)
inlinevirtual

Append contents of data object to AftDataBytes vector.

Parameters
[in]dataReference to AftDataBytes vector to append to

Reimplemented from AftData.

virtual int AftDataIP6Addr::compare ( const AftData aData) const
inlinevirtual

Compare data.

Parameters
[in]aDataReference to data to compare against
Returns
Zero if data is the same

Reimplemented from AftData.

static AftDataIP6Addr::Ptr AftDataIP6Addr::create ( AftDataBytes  newAddress)
inlinestatic

Factory generator for IPv6 address.

Parameters
[in]newAddressIPv6 address as a byte vector to represent in data
static AftDataIP6Addr::Ptr AftDataIP6Addr::create ( uint8_t *  newAddress,
uint32_t  newBitLength 
)
inlinestatic

Factory generator for IPv6 address.

Parameters
[in]newAddressIPv6 address as a C-style byte array to represent in data
[in]newBitLengthLength of IPv6 address in bits (i.e. subnet length)
static AftDataIP6Addr::Ptr AftDataIP6Addr::create ( std::string  prefixString)
inlinestatic

Factory generator for IPv4 address.

Parameters
[in]prefixStringIPv4 address as a dot-notation string to represent in data
const AftDataBytes& AftDataIP6Addr::data ( ) const
inline
Returns
Returns reference to vector of bytes used for address
const uint8_t* AftDataIP6Addr::dataArray ( ) const
inline
Returns
Reference to base of prefix as uint8_t pointer
virtual const std::string AftDataIP6Addr::dataClass ( ) const
inlinevirtual
Returns
String description of data type

Reimplemented from AftData.

virtual std::ostream& AftDataIP6Addr::description ( std::ostream &  os) const
inlinevirtual

Append a description of the data to an output stream.

Parameters
[in]osReference to output stream to append description to
Returns
Reference to output stream with text description of data appended

Reimplemented from AftData.


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