gem5  v22.1.0.0
Public Member Functions | Private Attributes | List of all members
gem5::ruby::Set Class Reference

#include <Set.hh>

Public Member Functions

 Set ()
 
 Set (int size)
 
 Set (const Set &obj)
 
 ~Set ()
 
Setoperator= (const Set &obj)
 
void add (NodeID index)
 
void addSet (const Set &obj)
 
void remove (NodeID index)
 
void removeSet (const Set &obj)
 
void clear ()
 
void broadcast ()
 
int count () const
 
bool isEqual (const Set &obj) const
 
Set OR (const Set &obj) const
 
Set AND (const Set &obj) const
 
bool intersectionIsEmpty (const Set &obj) const
 
bool isSuperset (const Set &test) const
 
bool isSubset (const Set &test) const
 
bool isElement (NodeID element) const
 
bool isBroadcast () const
 
bool isEmpty () const
 
NodeID smallestElement () const
 
bool elementAt (int index) const
 
int getSize () const
 
void setSize (int size)
 
void print (std::ostream &out) const
 

Private Attributes

int m_nSize
 
std::bitset< NUMBER_BITS_PER_SET > bits
 

Detailed Description

Definition at line 48 of file Set.hh.

Constructor & Destructor Documentation

◆ Set() [1/3]

gem5::ruby::Set::Set ( )
inline

Definition at line 57 of file Set.hh.

◆ Set() [2/3]

gem5::ruby::Set::Set ( int  size)
inline

Definition at line 59 of file Set.hh.

References fatal.

◆ Set() [3/3]

gem5::ruby::Set::Set ( const Set obj)
inline

Definition at line 67 of file Set.hh.

◆ ~Set()

gem5::ruby::Set::~Set ( )
inline

Definition at line 68 of file Set.hh.

Member Function Documentation

◆ add()

void gem5::ruby::Set::add ( NodeID  index)
inline

Definition at line 78 of file Set.hh.

References bits, and gem5::MipsISA::index.

Referenced by gem5::ruby::AccessTraceForAddress::update().

◆ addSet()

void gem5::ruby::Set::addSet ( const Set obj)
inline

Definition at line 88 of file Set.hh.

References bits, and m_nSize.

Referenced by gem5::ruby::AddressProfiler::profileGetS(), and gem5::ruby::AddressProfiler::profileGetX().

◆ AND()

Set gem5::ruby::Set::AND ( const Set obj) const
inline

Definition at line 153 of file Set.hh.

References bits, m_nSize, and gem5::VegaISA::r.

◆ broadcast()

void gem5::ruby::Set::broadcast ( )
inline

Definition at line 118 of file Set.hh.

References bits, gem5::ArmISA::j, and m_nSize.

◆ clear()

void gem5::ruby::Set::clear ( )
inline

Definition at line 113 of file Set.hh.

References bits.

◆ count()

int gem5::ruby::Set::count ( ) const
inline

◆ elementAt()

bool gem5::ruby::Set::elementAt ( int  index) const
inline

Definition at line 206 of file Set.hh.

References bits, and gem5::MipsISA::index.

◆ getSize()

int gem5::ruby::Set::getSize ( ) const
inline

Definition at line 208 of file Set.hh.

References m_nSize.

◆ intersectionIsEmpty()

bool gem5::ruby::Set::intersectionIsEmpty ( const Set obj) const
inline

Definition at line 163 of file Set.hh.

References bits, and gem5::VegaISA::r.

◆ isBroadcast()

bool gem5::ruby::Set::isBroadcast ( ) const
inline

Definition at line 189 of file Set.hh.

References bits, and m_nSize.

◆ isElement()

bool gem5::ruby::Set::isElement ( NodeID  element) const
inline

Definition at line 183 of file Set.hh.

References bits.

◆ isEmpty()

bool gem5::ruby::Set::isEmpty ( ) const
inline

Definition at line 194 of file Set.hh.

References bits.

◆ isEqual()

bool gem5::ruby::Set::isEqual ( const Set obj) const
inline

Definition at line 135 of file Set.hh.

References bits, and m_nSize.

◆ isSubset()

bool gem5::ruby::Set::isSubset ( const Set test) const
inline

Definition at line 181 of file Set.hh.

◆ isSuperset()

bool gem5::ruby::Set::isSuperset ( const Set test) const
inline

Definition at line 174 of file Set.hh.

References bits, m_nSize, and gem5::VegaISA::r.

◆ operator=()

Set& gem5::ruby::Set::operator= ( const Set obj)
inline

Definition at line 70 of file Set.hh.

References bits, and m_nSize.

◆ OR()

Set gem5::ruby::Set::OR ( const Set obj) const
inline

Definition at line 143 of file Set.hh.

References bits, m_nSize, and gem5::VegaISA::r.

◆ print()

void gem5::ruby::Set::print ( std::ostream &  out) const
inline

Definition at line 221 of file Set.hh.

References bits, and m_nSize.

Referenced by gem5::ruby::operator<<().

◆ remove()

void gem5::ruby::Set::remove ( NodeID  index)
inline

◆ removeSet()

void gem5::ruby::Set::removeSet ( const Set obj)
inline

Definition at line 107 of file Set.hh.

References bits, and m_nSize.

◆ setSize()

void gem5::ruby::Set::setSize ( int  size)
inline

Definition at line 211 of file Set.hh.

References bits, fatal, and m_nSize.

◆ smallestElement()

NodeID gem5::ruby::Set::smallestElement ( ) const
inline

Definition at line 196 of file Set.hh.

References bits, gem5::ArmISA::i, m_nSize, and panic.

Member Data Documentation

◆ bits

std::bitset<NUMBER_BITS_PER_SET> gem5::ruby::Set::bits
private

◆ m_nSize

int gem5::ruby::Set::m_nSize
private

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

Generated on Wed Dec 21 2022 10:24:22 for gem5 by doxygen 1.9.1