gem5  v19.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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

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.

Referenced by ~NetDest().

◆ 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(), and ~NetDest().

◆ 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.

Referenced by ~NetDest().

◆ 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(), and ~NetDest().

◆ count()

int NetDest::count ( ) const

◆ elementAt()

NodeID NetDest::elementAt ( MachineID  index)

Definition at line 132 of file NetDest.cc.

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

Referenced by getSize().

◆ 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(), and isSubset().

◆ getSize()

int NetDest::getSize ( ) const
inline

Definition at line 88 of file NetDest.hh.

References elementAt(), MipsISA::index, m_bits, and print().

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

◆ intersectionIsEmpty()

bool NetDest::intersectionIsEmpty ( const NetDest other_netDest) const

Referenced by intersectionIsNotEmpty(), and ~NetDest().

◆ 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 isSubset(), and network_message_to_size().

◆ isElement()

bool NetDest::isElement ( MachineID  element) const

◆ isEmpty()

bool NetDest::isEmpty ( ) const

Definition at line 180 of file NetDest.cc.

References ArmISA::i, and m_bits.

Referenced by isSubset(), PersistentTable::markEntries(), and PersistentTable::okToIssueStarving().

◆ isEqual()

bool NetDest::isEqual ( const NetDest netDest) const

Definition at line 272 of file NetDest.cc.

References ArmISA::i, and m_bits.

Referenced by ~NetDest().

◆ 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 getSize(), ArmISA::i, and m_bits.

Referenced by isSubset(), and ~NetDest().

◆ 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.

Referenced by ~NetDest().

◆ 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 getSize(), and 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)

◆ resize()

void NetDest::resize ( )

Definition at line 247 of file NetDest.cc.

References ArmISA::i, and m_bits.

Referenced by isSubset(), and NetDest().

◆ setNetDest()

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

Definition at line 55 of file NetDest.cc.

References m_bits.

Referenced by ~NetDest().

◆ smallestElement() [1/2]

MachineID NetDest::smallestElement ( ) const

Definition at line 138 of file NetDest.cc.

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

Referenced by PersistentTable::findSmallest(), and isSubset().

◆ 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 m_bits, and MachineID::type.

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 Fri Feb 28 2020 16:27:13 for gem5 by doxygen 1.8.13