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

Tuple class for associating AftField and AftData values. More...

#include <AftKey.h>

Public Member Functions

 AftKey ()
 Empty constructor for keys.
 
 AftKey (const AftField &newField, const AftDataPtr &newData)
 Default constructor for keys. More...
 
const AftField field () const
 
const AftDataPtrdata () const
 
bool operator== (const AftKey &key) const
 Comparator for keys. More...
 

Static Public Member Functions

static AftDataPrefix::Ptr createDataPrefix (const AftKeyVector &keys)
 Concatanates key vector data into an AftDataPrefix. More...
 
static AftDataPtr dataForField (const AftKeyVector &keys, const std::string &fieldName)
 Returns a pointer to the data for a key field (if it exists) More...
 
template<class T >
static std::shared_ptr< T > dataForField (const AftKeyVector &keys, const std::string &fieldName)
 Returns a pointer to the data for a key field (if it exists) More...
 

Protected Member Functions

uint32_t append (AftDataBytes &aData)
 Append data in key to the end of the supplied data vector. More...
 

Protected Attributes

AftField _field
 Field value used for key.
 
AftDataPtr _data
 Associated field data.
 

Friends

std::ostream & operator<< (std::ostream &os, const AftKey &aKey)
 Define << class operator to append description to an output stream. More...
 

Detailed Description

Tuple class for associating AftField and AftData values.

Constructor & Destructor Documentation

AftKey::AftKey ( const AftField newField,
const AftDataPtr newData 
)
inline

Default constructor for keys.

Parameters
[in]newFieldField value for key
[in]newDataReference to data value for key

Member Function Documentation

uint32_t AftKey::append ( AftDataBytes aData)
inlineprotected

Append data in key to the end of the supplied data vector.

Parameters
[in]dataReference to data vector to append to
Returns
Length in bits of data appended
static AftDataPrefix::Ptr AftKey::createDataPrefix ( const AftKeyVector keys)
inlinestatic

Concatanates key vector data into an AftDataPrefix.

Parameters
[in]keysReference to key vector to concatanate Returns Shared pointer to AftDataPrefix that contains concatenated result
const AftDataPtr& AftKey::data ( ) const
inline
Returns
Key data
static AftDataPtr AftKey::dataForField ( const AftKeyVector keys,
const std::string &  fieldName 
)
inlinestatic

Returns a pointer to the data for a key field (if it exists)

Parameters
[in]keysReference to key vector to search
[in]fieldNameReference to field name to search for Returns Shared pointer to AftData class that matches field
template<class T >
static std::shared_ptr<T> AftKey::dataForField ( const AftKeyVector keys,
const std::string &  fieldName 
)
inlinestatic

Returns a pointer to the data for a key field (if it exists)

Parameters
[in]keysReference to key vector to search
[in]fieldNameReference to field name to search for Returns Shared pointer to AftData class that matches field
const AftField AftKey::field ( ) const
inline
Returns
Key field
bool AftKey::operator== ( const AftKey key) const
inline

Comparator for keys.

Parameters
[in]keyReference to key to compare against

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const AftKey aKey 
)
friend

Define << class operator to append description to an output stream.

Parameters
[in]osReference to output stream to append to
[in]keyReference to key to append description of to stream

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