58,59c58,60
< * The ClockedObject class extends the SimObject with a clock and
< * accessor functions to relate ticks to the cycles of the object.
---
> * Helper class for objects that need to be clocked. Clocked objects
> * typically inherit from this class. Objects that need SimObject
> * functionality as well should inherit from ClockedObject.
61c62
< class ClockedObject : public SimObject
---
> class Clocked
65d65
<
75,81d74
< * Prevent inadvertent use of the copy constructor and assignment
< * operator by making them private.
< */
< ClockedObject(ClockedObject&);
< ClockedObject& operator=(ClockedObject&);
<
< /**
121,122c114,115
< ClockedObject(const ClockedObjectParams* p) :
< SimObject(p), tick(0), cycle(0), clockDomain(*p->clk_domain)
---
> Clocked(ClockDomain &clk_domain)
> : tick(0), cycle(0), clockDomain(clk_domain)
128a122,124
> Clocked(Clocked &) = delete;
> Clocked &operator=(Clocked &) = delete;
>
132c128
< virtual ~ClockedObject() { }
---
> virtual ~Clocked() { }
223a220,231
> /**
> * The ClockedObject class extends the SimObject with a clock and
> * accessor functions to relate ticks to the cycles of the object.
> */
> class ClockedObject
> : public SimObject, public Clocked
> {
> public:
> ClockedObject(const ClockedObjectParams *p)
> : SimObject(p), Clocked(*p->clk_domain) { }
> };
>