gem5  v20.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Private Attributes | List of all members
Flags< T > Class Template Reference

#include <flags.hh>

Public Types

typedef T Type
 

Public Member Functions

 Flags ()
 
 Flags (Type flags)
 
 operator const Type () const
 
template<typename U >
const Flags< T > & operator= (const Flags< U > &flags)
 
const Flags< T > & operator= (T flags)
 
bool isSet () const
 
bool isSet (Type flags) const
 
bool allSet () const
 
bool allSet (Type flags) const
 
bool noneSet () const
 
bool noneSet (Type flags) const
 
void clear ()
 
void clear (Type flags)
 
void set (Type flags)
 
void set (Type f, bool val)
 
void update (Type flags, Type mask)
 

Private Attributes

_flags
 

Detailed Description

template<typename T>
class Flags< T >

Definition at line 33 of file flags.hh.

Member Typedef Documentation

◆ Type

template<typename T>
typedef T Flags< T >::Type

Definition at line 39 of file flags.hh.

Constructor & Destructor Documentation

◆ Flags() [1/2]

template<typename T>
Flags< T >::Flags ( )
inline

Definition at line 40 of file flags.hh.

◆ Flags() [2/2]

template<typename T>
Flags< T >::Flags ( Type  flags)
inline

Definition at line 41 of file flags.hh.

Member Function Documentation

◆ allSet() [1/2]

template<typename T>
bool Flags< T >::allSet ( ) const
inline

Definition at line 62 of file flags.hh.

◆ allSet() [2/2]

template<typename T>
bool Flags< T >::allSet ( Type  flags) const
inline

Definition at line 63 of file flags.hh.

◆ clear() [1/2]

template<typename T>
void Flags< T >::clear ( )
inline

◆ clear() [2/2]

template<typename T>
void Flags< T >::clear ( Type  flags)
inline

Definition at line 67 of file flags.hh.

◆ isSet() [1/2]

template<typename T>
bool Flags< T >::isSet ( ) const
inline

Definition at line 60 of file flags.hh.

Referenced by Event::acquire(), Packet::cacheResponding(), EventQueue::checkpointReschedule(), Request::contextId(), Packet::deleteData(), Request::extraDataValid(), Packet::getAddr(), Request::getArchFlags(), Packet::getConstPtr(), Request::getExtraData(), Request::getFlags(), Request::getPaddr(), Request::getPC(), Packet::getPtr(), Packet::getRaw(), Request::getReqInstSeqNum(), Request::getSize(), Packet::getSize(), Request::getVaddr(), Request::hasContextId(), Request::hasInstSeqNum(), Request::hasPaddr(), Request::hasPC(), Packet::hasSharers(), Request::hasSize(), Request::hasSubstreamId(), Request::hasVaddr(), Request::isAcquire(), LSQ< Impl >::LSQRequest::isAnyOutstandingRequest(), Request::isArgSegment(), LSQ< Impl >::LSQRequest::isAtomic(), Request::isAtomic(), Request::isAtomicNoReturn(), Request::isAtomicReturn(), Packet::isBlockCached(), Request::isCacheClean(), Request::isCacheInvalidate(), Request::isCacheMaintenance(), LSQ< Impl >::LSQRequest::isComplete(), Request::isCondSwap(), LSQ< Impl >::LSQRequest::isDelayed(), Request::isDeviceScope(), Event::isExitEvent(), Packet::isExpressSnoop(), Event::isFlagSet(), Request::isGlobalSegment(), Request::isGroupSegment(), Request::isInstFetch(), Request::isKernargSegment(), Request::isKernel(), Request::isLLSC(), LSQ< Impl >::LSQRequest::isLoad(), Request::isLockedRMW(), Event::isManaged(), Request::isPrefetch(), Request::isPrefetchEx(), Request::isPriv(), Request::isPrivateSegment(), Request::isPTWalk(), Request::isReadonlySegment(), Request::isRelease(), LSQ< Impl >::LSQRequest::isReleased(), Request::isScoped(), Packet::isSecure(), Request::isSecure(), LSQ< Impl >::LSQRequest::isSent(), Request::isSpillSegment(), LSQ< Impl >::LSQRequest::isSplit(), TraceCPU::ElasticDataGen::GraphNode::isStrictlyOrdered(), Request::isStrictlyOrdered(), Request::isSwap(), Request::isSystemScope(), Request::isToPOC(), Request::isToPOU(), LSQ< Impl >::LSQRequest::isTranslationBlocked(), LSQ< Impl >::LSQRequest::isTranslationComplete(), Request::isUncacheable(), Request::isWavefrontScope(), Request::isWorkgroupScope(), Stats::Text::noOutput(), Stats::DistPrint::operator()(), Packet::Packet(), Event::release(), Packet::responderHadWritable(), Packet::satisfied(), Event::scheduled(), Packet::setAddr(), Packet::setCacheResponding(), Packet::setData(), Request::setFlags(), Request::setMemSpaceConfigFlags(), Packet::setRaw(), Packet::setSatisfied(), Packet::setSize(), Request::setSubStreamId(), Request::splitOnVaddr(), Event::squashed(), Request::streamId(), Request::substreamId(), Packet::suppressFuncError(), Request::time(), Stats::Text::visit(), LSQ< Impl >::LSQRequest::writebackScheduled(), and Packet::writeThrough().

◆ isSet() [2/2]

template<typename T>
bool Flags< T >::isSet ( Type  flags) const
inline

Definition at line 61 of file flags.hh.

◆ noneSet() [1/2]

template<typename T>
bool Flags< T >::noneSet ( ) const
inline

◆ noneSet() [2/2]

template<typename T>
bool Flags< T >::noneSet ( Type  flags) const
inline

Definition at line 65 of file flags.hh.

◆ operator const Type()

template<typename T>
Flags< T >::operator const Type ( ) const
inline

Definition at line 43 of file flags.hh.

◆ operator=() [1/2]

template<typename T>
template<typename U >
const Flags<T>& Flags< T >::operator= ( const Flags< U > &  flags)
inline

Definition at line 47 of file flags.hh.

◆ operator=() [2/2]

template<typename T>
const Flags<T>& Flags< T >::operator= ( flags)
inline

Definition at line 54 of file flags.hh.

◆ set() [1/2]

template<typename T>
void Flags< T >::set ( Type  flags)
inline

Definition at line 68 of file flags.hh.

Referenced by Packet::allocate(), LSQ< Impl >::LSQRequest::complete(), Packet::copyResponderFlags(), Packet::dataDynamic(), Packet::dataStatic(), Packet::dataStaticConst(), ArmISA::TableWalker::doL1Descriptor(), ArmISA::TableWalker::doLongDescriptor(), GarnetSyntheticTraffic::generatePkt(), Check::initiateCheck(), Check::initiatePrefetch(), LSQ< Impl >::LSQRequest::LSQRequest(), LSQ< Impl >::LSQRequest::markDelayed(), Stats::DataWrap< SparseHistogram, SparseHistInfoProxy >::name(), Packet::Packet(), LSQ< Impl >::LSQRequest::packetNotSent(), LSQ< Impl >::LSQRequest::packetSent(), ArmISA::TableWalker::processWalk(), ArmISA::TableWalker::processWalkAArch64(), ArmISA::TableWalker::processWalkLPAE(), LSQ< Impl >::LSQRequest::release(), Request::Request(), Packet::setBlockCached(), Packet::setCacheResponding(), Request::setContext(), Packet::setExpressSnoop(), Request::setExtraData(), Event::setFlags(), Request::setFlags(), Packet::setHasSharers(), Request::setMemSpaceConfigFlags(), Request::setPaddr(), Request::setPC(), Request::setReqInstSeqNum(), Packet::setResponderHadWritable(), Packet::setSatisfied(), Packet::setSize(), Request::setStreamId(), Request::setSubStreamId(), Packet::setSuppressFuncError(), X86ISA::Walker::WalkerState::setupWalk(), Request::setVirt(), Packet::setWriteThrough(), Event::squash(), LSQ< Impl >::LSQRequest::squashTranslation(), X86ISA::Walker::WalkerState::stepWalk(), MemTest::tick(), LSQ< Impl >::LSQRequest::writebackDone(), and LSQ< Impl >::LSQRequest::writebackScheduled().

◆ set() [2/2]

template<typename T>
void Flags< T >::set ( Type  f,
bool  val 
)
inline

Definition at line 69 of file flags.hh.

◆ update()

template<typename T>
void Flags< T >::update ( Type  flags,
Type  mask 
)
inline

Definition at line 71 of file flags.hh.

Member Data Documentation

◆ _flags

template<typename T>
T Flags< T >::_flags
private

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

Generated on Thu May 28 2020 16:21:45 for gem5 by doxygen 1.8.13