begin_construction Class Reference

#include <rc_reconfigurable.h>

Inheritance diagram for begin_construction:

rc_reconfigurable_module< Module, false > rc_reconfigurable_module< Module, true >

List of all members.


Detailed Description

Helper class that frames the construction of a reconfigurable object. (internally used).

A class that is derived from rc_reconfigurable can be additionally derived from internals::reconfigurable::begin_contruction to allow the identification of the current reconfigurable context during a subsequent base class and member construction.

It helps function rc_get_reconfigurable_context() in providing the correct context instance before its construction actually is complete. The construction of the reconfigurable object's base classes and members is framed by its creation and a final call to finish().

Note:
For an example how this class is used, see documentation of class rc_reconfigurable_module.

Definition at line 100 of file rc_reconfigurable.h.


Protected Member Functions

 begin_construction (rc_reconfigurable &reconf)
 Marks the begin of a reconfigurable object's construction.
void finish ()
 Marks the end of a reconfigurable object's construction.
void finish (sc_object &reconf)
 Marks the end of a reconfigurable object's construction.
 ~begin_construction ()
 Destructor.

Private Member Functions

 begin_construction (const begin_construction &reconf)
 (disabled)
begin_constructionoperator= (const begin_construction &reconf)
 (disabled)

Private Attributes

rc_reconfigurablep_previous
 A pointer to a possibly enclosing reconfigurable object that is currently under construction, too.
bool p_finished
 Flag that indicates whether finish() has been called.

Static Private Attributes

static
rc_reconfigurable
s_current = NULL
 A pointer to the reconfigurable object that is currently under construction.

Friends

void end_construction (begin_construction &constr)
 Marks the end of a reconfigurable object's construction.
rc_reconfigurableReChannel::rc_get_reconfigurable_context ()
rc_reconfigurableReChannel::rc_get_reconfigurable_context (sc_object *start_search)

Constructor & Destructor Documentation

begin_construction ( rc_reconfigurable reconf  )  [explicit, protected]

Marks the begin of a reconfigurable object's construction.

Attention:
finish() has to be called once at the end of construction! Otherwise it will result in undefined behavior.

Definition at line 47 of file rc_reconfigurable.cpp.

~begin_construction (  )  [inline, protected]

Destructor.

Note:
Destructor calls finish() (for continuity purposes).

Definition at line 143 of file rc_reconfigurable.h.

begin_construction ( const begin_construction reconf  )  [private]

(disabled)


Member Function Documentation

void finish (  )  [protected]

Marks the end of a reconfigurable object's construction.

Attention:
finish() has to be called once at the end of construction! Otherwise it will result in undefined behavior.
See also:
end_construction()

Definition at line 53 of file rc_reconfigurable.cpp.

Referenced by ReChannel::internals::reconfigurable::end_construction(), and begin_construction::~begin_construction().

void finish ( sc_object &  reconf  )  [protected]

Marks the end of a reconfigurable object's construction.

Parameters:
reconf reference to the constructed sc_object
If the reconfigurable object is derived from sc_object this is the best point to initialise rc_reconfigurable with a reference to its sc_object.

Attention:
finish() has to be called once at the end of construction! Otherwise it will result in undefined behavior.

Definition at line 61 of file rc_reconfigurable.cpp.

begin_construction& operator= ( const begin_construction reconf  )  [private]

(disabled)


Friends And Related Function Documentation

void end_construction ( begin_construction constr  )  [friend]

Marks the end of a reconfigurable object's construction.

Parameters:
constr The construction observer
A global function doing the same as calling finish() on the begin_construction object.

See also:
end_construction()

Definition at line 181 of file rc_reconfigurable.h.

rc_reconfigurable* ReChannel::rc_get_reconfigurable_context (  )  [friend]

rc_reconfigurable* ReChannel::rc_get_reconfigurable_context ( sc_object *  start_search  )  [friend]


Member Data Documentation

rc_reconfigurable* p_previous [private]

A pointer to a possibly enclosing reconfigurable object that is currently under construction, too.

Definition at line 151 of file rc_reconfigurable.h.

Referenced by begin_construction::finish().

bool p_finished [private]

Flag that indicates whether finish() has been called.

Definition at line 155 of file rc_reconfigurable.h.

Referenced by begin_construction::finish().

rc_reconfigurable * s_current = NULL [static, private]

A pointer to the reconfigurable object that is currently under construction.

Definition at line 162 of file rc_reconfigurable.h.

Referenced by begin_construction::begin_construction(), and begin_construction::finish().


The documentation for this class was generated from the following files:
Generated on Tue Jan 1 23:14:16 2008 for ReChannel by  doxygen 1.5.3