bool hasGuard(const Guard &guard) const
int immediateWidth() const
SegmentTable segments_
Contains all the segments of the bus.
virtual void setSignExtends()
static const std::string OSVALUE_SIGN
ObjectState attribute value for sign extension.
virtual void setDestinationBridge(Bridge &bridge)
int immWidth_
Bit width of the inline immediate word.
virtual void setZeroExtends()
virtual TCEString name() const
virtual void setImmediateWidth(int width)
Bridge * nextBridge() const
virtual void setWidth(int width)
virtual void setSourceBridge(Bridge &bridge)
virtual void loadState(const ObjectState *state)
Bridge * previousBridge() const
virtual bool canWrite(const Bus &bus) const
void addGuard(Guard &guard)
virtual Segment * segment(int index) const
virtual bool hasPreviousBus() const
GuardTable guards_
Contains all guards of the bus.
void loadStateWithoutReferences(const ObjectState *state)
Machine::Extension extensionMode_
Extension mode applied to the inline immediate word.
virtual void addSegment(Segment &segment)
static const std::string OSNAME_BUS
ObjectState name for Bus ObjectState.
virtual void unsetMachine()
Bus & operator=(const Bus &)
Assingment forbidden.
virtual int position() const
BridgeTable destinationBridges_
Contains the destination bridges (max 2).
static const std::string OSKEY_IMMWIDTH
ObjectState attribute key for immediate width.
virtual bool canRead(const Bus &bus) const
virtual void clearSourceBridge(Bridge &bridge)
int width_
Bit width of the bus.
virtual void setName(const std::string &name)
virtual bool isArchitectureEqual(const Bus &bus) const
std::vector< Segment * > SegmentTable
Vector of Segment pointers.
virtual void setMachine(Machine &mach)
BridgeTable sourceBridges_
Contains the source bridges (max 2).
virtual bool hasSegment(const std::string &name) const
virtual bool isConnectedTo(const Socket &socket) const
void adjustSegmentChain(const ObjectState *busState)
Guard * guard(int index) const
virtual bool canReadWrite(const Bus &bus) const
virtual void clearDestinationBridge(Bridge &bridge)
std::vector< Guard * > GuardTable
Vector of Guard pointers.
virtual ObjectState * saveState() const
virtual bool hasNextBus() const
virtual void removeGuard(Guard &guard)
static const std::string OSKEY_WIDTH
ObjectState attribute key for bus width.
virtual void removeSegment(Segment &segment)
virtual Bus * previousBus() const
virtual void setExtensionMode(const Machine::Extension extension)
std::vector< Bridge * > BridgeTable
static const std::string OSVALUE_ZERO
ObjectState attribute key for zero extension.
virtual Bus * nextBus() const
static const std::string OSKEY_EXTENSION
ObjectState attribute key for extension mode.
virtual int segmentCount() const
virtual Bus * copy() const
Bus(const std::string &name, int width, int immWidth, Machine::Extension extensionMode)
virtual void copyGuardsTo(Bus &other) const