gem5  v20.1.0.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
NetDest Class Reference

#include <NetDest.hh>

Public Member Functions

 NetDest ()
 
 NetDest (int bit_size)
 
NetDestoperator= (const Set &obj)
 
 ~NetDest ()
 
void add (MachineID newElement)
 
void addNetDest (const NetDest &netDest)
 
void setNetDest (MachineType machine, const Set &set)
 
void remove (MachineID oldElement)
 
void removeNetDest (const NetDest &netDest)
 
void clear ()
 
void broadcast ()
 
void broadcast (MachineType machine)
 
int count () const
 
bool isEqual (const NetDest &netDest) const
 
NetDest OR (const NetDest &orNetDest) const
 
NetDest AND (const NetDest &andNetDest) const
 
bool intersectionIsNotEmpty (const NetDest &other_netDest) const
 
bool intersectionIsEmpty (const NetDest &other_netDest) const
 
bool isSuperset (const NetDest &test) const
 
bool isSubset (const NetDest &test) const
 
bool isElement (MachineID element) const
 
bool isBroadcast () const
 
bool isEmpty () const
 
std::vector< NodeIDgetAllDest ()
 
MachineID smallestElement () const
 
MachineID smallestElement (MachineType machine) const
 
void resize ()
 
int getSize () const
 
NodeID elementAt (MachineID index)
 
void print (std::ostream &out) const
 

Private Member Functions

int vecIndex (MachineID m) const
 
NodeID bitIndex (NodeID index) const
 

Private Attributes

std::vector< Setm_bits
 

Detailed Description

Definition at line 39 of file NetDest.hh.

Constructor & Destructor Documentation

◆ NetDest() [1/2]

NetDest::NetDest ( )

Definition at line 33 of file NetDest.cc.

References resize().

◆ NetDest() [2/2]

NetDest::NetDest ( int  bit_size)
explicit

◆ ~NetDest()

NetDest::~NetDest ( )
inline

Definition at line 49 of file NetDest.hh.

Member Function Documentation

◆ add()

void NetDest::add ( MachineID  newElement)

◆ addNetDest()

void NetDest::addNetDest ( const NetDest netDest)

Definition at line 46 of file NetDest.cc.

References getSize(), ArmISA::i, and m_bits.

◆ AND()

NetDest NetDest::AND ( const NetDest andNetDest) const

Definition at line 204 of file NetDest.cc.

References getSize(), ArmISA::i, and m_bits.

Referenced by PerfectSwitch::operateMessageBuffer().

◆ bitIndex()

NodeID NetDest::bitIndex ( NodeID  index) const
inlineprivate

Definition at line 106 of file NetDest.hh.

References MipsISA::index.

Referenced by add(), elementAt(), isElement(), and remove().

◆ broadcast() [1/2]

void NetDest::broadcast ( )

Definition at line 87 of file NetDest.cc.

◆ broadcast() [2/2]

void NetDest::broadcast ( MachineType  machine)

Definition at line 96 of file NetDest.cc.

References add(), and ArmISA::i.

◆ clear()

void NetDest::clear ( )

Definition at line 79 of file NetDest.cc.

References ArmISA::i, and m_bits.

Referenced by NetworkInterface::flitisizeMessage().

◆ count()

int NetDest::count ( ) const

◆ elementAt()

NodeID NetDest::elementAt ( MachineID  index)

Definition at line 132 of file NetDest.cc.

References bitIndex(), MipsISA::index, m_bits, and vecIndex().

◆ getAllDest()

std::vector< NodeID > NetDest::getAllDest ( )

Definition at line 106 of file NetDest.cc.

References ArmISA::i, isElement(), ArmISA::j, and m_bits.

Referenced by NetworkInterface::flitisizeMessage().

◆ getSize()

int NetDest::getSize ( ) const
inline

Definition at line 88 of file NetDest.hh.

References m_bits.

Referenced by add(), addNetDest(), AND(), intersectionIsNotEmpty(), OR(), and removeNetDest().

◆ intersectionIsEmpty()

bool NetDest::intersectionIsEmpty ( const NetDest other_netDest) const

Referenced by intersectionIsNotEmpty().

◆ intersectionIsNotEmpty()

bool NetDest::intersectionIsNotEmpty ( const NetDest other_netDest) const

◆ isBroadcast()

bool NetDest::isBroadcast ( ) const

Definition at line 168 of file NetDest.cc.

References ArmISA::i, and m_bits.

Referenced by network_message_to_size().

◆ isElement()

bool NetDest::isElement ( MachineID  element) const

◆ isEmpty()

bool NetDest::isEmpty ( ) const

◆ isEqual()

bool NetDest::isEqual ( const NetDest netDest) const

Definition at line 272 of file NetDest.cc.

References ArmISA::i, m_bits, and ArmISA::n.

◆ isSubset()

bool NetDest::isSubset ( const NetDest test) const
inline

◆ isSuperset()

bool NetDest::isSuperset ( const NetDest test) const

Definition at line 228 of file NetDest.cc.

References ArmISA::i, and m_bits.

◆ operator=()

NetDest& NetDest::operator= ( const Set obj)

◆ OR()

NetDest NetDest::OR ( const NetDest orNetDest) const

Definition at line 192 of file NetDest.cc.

References getSize(), ArmISA::i, and m_bits.

◆ print()

void NetDest::print ( std::ostream &  out) const

Definition at line 258 of file NetDest.cc.

References ArmISA::i, isElement(), ArmISA::j, and m_bits.

Referenced by operator<<().

◆ remove()

void NetDest::remove ( MachineID  oldElement)

Definition at line 64 of file NetDest.cc.

References bitIndex(), m_bits, MachineID::num, and vecIndex().

Referenced by PersistentTable::persistentRequestUnlock().

◆ removeNetDest()

void NetDest::removeNetDest ( const NetDest netDest)

Definition at line 70 of file NetDest.cc.

References getSize(), ArmISA::i, and m_bits.

Referenced by NetworkInterface::flitisizeMessage(), and PerfectSwitch::operateMessageBuffer().

◆ resize()

void NetDest::resize ( )

Definition at line 247 of file NetDest.cc.

References ArmISA::i, and m_bits.

Referenced by NetDest().

◆ setNetDest()

void NetDest::setNetDest ( MachineType  machine,
const Set set 
)

Definition at line 55 of file NetDest.cc.

References m_bits.

◆ smallestElement() [1/2]

MachineID NetDest::smallestElement ( ) const

◆ smallestElement() [2/2]

MachineID NetDest::smallestElement ( MachineType  machine) const

Definition at line 153 of file NetDest.cc.

References isElement(), ArmISA::j, m_bits, and panic.

◆ vecIndex()

int NetDest::vecIndex ( MachineID  m) const
inlineprivate

Definition at line 99 of file NetDest.hh.

References ArmISA::m, and m_bits.

Referenced by add(), elementAt(), isElement(), and remove().

Member Data Documentation

◆ m_bits

std::vector<Set> NetDest::m_bits
private

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

Generated on Wed Sep 30 2020 14:02:28 for gem5 by doxygen 1.8.17