sc_core::sc_inout< T > Class Template Reference

#include <sysc/communication/sc_signal_ports.h>

Inheritance diagram for sc_core::sc_inout< T >:

Inheritance graph
[legend]
Collaboration diagram for sc_core::sc_inout< T >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef T data_type
typedef sc_signal_inout_if
< data_type
if_type
typedef sc_port< if_type,
1, SC_ONE_OR_MORE_BOUND > 
base_type
typedef sc_inout< data_typethis_type
typedef sc_signal_in_if
< data_type
in_if_type
typedef sc_port< in_if_type,
1, SC_ONE_OR_MORE_BOUND > 
in_port_type
typedef if_type inout_if_type
typedef base_type inout_port_type

Public Member Functions

 sc_inout ()
 sc_inout (const char *name_)
 sc_inout (inout_if_type &interface_)
 sc_inout (const char *name_, inout_if_type &interface_)
 sc_inout (inout_port_type &parent_)
 sc_inout (const char *name_, inout_port_type &parent_)
 sc_inout (this_type &parent_)
 sc_inout (const char *name_, this_type &parent_)
virtual ~sc_inout ()
const sc_eventdefault_event () const
const sc_eventvalue_changed_event () const
const data_typeread () const
 operator const data_type & () const
bool event () const
void write (const data_type &value_)
this_typeoperator= (const data_type &value_)
this_typeoperator= (const in_if_type &interface_)
this_typeoperator= (const in_port_type &port_)
this_typeoperator= (const inout_port_type &port_)
this_typeoperator= (const this_type &port_)
void initialize (const data_type &value_)
void initialize (const in_if_type &interface_)
virtual void end_of_elaboration ()
 called by elaboration_done (does nothing)
sc_event_findervalue_changed () const
virtual const char * kind () const
void add_trace_internal (sc_trace_file *, const std::string &) const
void add_trace (sc_trace_file *, const std::string &) const
void bind (IF &interface_)
 bind an interface of type IF to this port
void bind (this_type &parent_)
 bind a parent port with type IF to this port
void operator() (IF &interface_)
 bind an interface of type IF to this port
void operator() (this_type &parent_)
 bind a parent port with type IF to this port
int size () const
 number of connected interfaces
IF * operator-> ()
 allow to call methods provided by the first interface
const IF * operator-> () const
 allow to call methods provided by the first interface
const IF * get_interface (int iface_i) const
 allow to call methods provided by interface at index
IF * get_interface (int iface_i)
 allow to call methods provided by interface at index
virtual sc_interfaceget_interface ()
 get the first interface without checking for nil
virtual const sc_interfaceget_interface () const
 get the first interface without checking for nil
IF * operator[] (int index_)
const IF * operator[] (int index_) const
 allow to call methods provided by interface at index
const char * name () const
 return full name of sc_object
const char * basename () const
 return base name of sc_object (last part)
virtual void print (::std::ostream &os=::std::cout) const
 print object
virtual void dump (::std::ostream &os=::std::cout) const
 dump() is more detailed than print()
virtual void trace (sc_trace_file *tf) const
sc_simcontextsimcontext () const
bool add_attribute (sc_attr_base &)
 add attribute
sc_attr_baseget_attribute (const std::string &name_)
 get attribute by name
const sc_attr_baseget_attribute (const std::string &name_) const
 get attribute by name
sc_attr_baseremove_attribute (const std::string &name_)
 remove attribute by name
void remove_all_attributes ()
 remove all attributes
int num_attributes () const
 get the number of attributes
sc_attr_cltnattr_cltn ()
 get the attribute collection
const sc_attr_cltnattr_cltn () const
 get the attribute collection
virtual const std::vector
< sc_object * > & 
get_child_objects () const
 return child objects
sc_objectget_parent () const
 return parent object
sc_objectget_parent_object () const
 return parent object

Protected Member Functions

void remove_traces () const
void bind (sc_interface &interface_)
 bind interface to this port
virtual int vbind (sc_interface &)
 called by pbind (for internal use only)
virtual int vbind (sc_port_base &)
virtual void make_sensitive (sc_thread_handle, sc_event_finder *=0) const
 called by the sc_sensitive* classes
virtual void make_sensitive (sc_method_handle, sc_event_finder *=0) const
virtual void before_end_of_elaboration ()
 called by construction_done (does nothing by default)
virtual void start_of_simulation ()
 called by start_simulation (does nothing by default)
virtual void end_of_simulation ()
 called by simulation_done (does nothing by default)
void report_error (const char *id, const char *add_msg=0) const
 error reporting
void add_static_event (sc_method_handle process_p, const sc_event &event) const
void add_static_event (sc_thread_handle process_p, const sc_event &event) const

Protected Attributes

data_typem_init_val
sc_trace_params_vecm_traces
sc_bind_infom_bind_info

Friends

class sc_sensitive
class sc_sensitive_neg
class sc_sensitive_pos


Detailed Description

template<class T>
class sc_core::sc_inout< T >

Definition at line 884 of file sc_signal_ports.h.


Member Typedef Documentation

template<class T>
typedef T sc_core::sc_inout< T >::data_type

template<class T>
typedef sc_signal_inout_if<data_type> sc_core::sc_inout< T >::if_type

Definition at line 893 of file sc_signal_ports.h.

template<class T>
typedef sc_port<if_type,1,SC_ONE_OR_MORE_BOUND> sc_core::sc_inout< T >::base_type

Reimplemented from sc_core::sc_port< IF, N, P >.

Reimplemented in sc_core::sc_out< T >, sc_core::sc_inout_rv< W >, and sc_core::sc_out_rv< W >.

Definition at line 894 of file sc_signal_ports.h.

template<class T>
typedef sc_inout<data_type> sc_core::sc_inout< T >::this_type

Reimplemented from sc_core::sc_port< IF, N, P >.

Reimplemented in sc_core::sc_out< T >, sc_core::sc_inout_rv< W >, and sc_core::sc_out_rv< W >.

Definition at line 895 of file sc_signal_ports.h.

template<class T>
typedef sc_signal_in_if<data_type> sc_core::sc_inout< T >::in_if_type

template<class T>
typedef sc_port<in_if_type,1,SC_ONE_OR_MORE_BOUND> sc_core::sc_inout< T >::in_port_type

template<class T>
typedef if_type sc_core::sc_inout< T >::inout_if_type

template<class T>
typedef base_type sc_core::sc_inout< T >::inout_port_type


Constructor & Destructor Documentation

template<class T>
sc_core::sc_inout< T >::sc_inout (  )  [inline]

Definition at line 906 of file sc_signal_ports.h.

template<class T>
sc_core::sc_inout< T >::sc_inout ( const char *  name_  )  [inline, explicit]

Definition at line 911 of file sc_signal_ports.h.

template<class T>
sc_core::sc_inout< T >::sc_inout ( inout_if_type interface_  )  [inline, explicit]

Definition at line 916 of file sc_signal_ports.h.

template<class T>
sc_core::sc_inout< T >::sc_inout ( const char *  name_,
inout_if_type interface_ 
) [inline]

Definition at line 921 of file sc_signal_ports.h.

template<class T>
sc_core::sc_inout< T >::sc_inout ( inout_port_type parent_  )  [inline, explicit]

Definition at line 926 of file sc_signal_ports.h.

template<class T>
sc_core::sc_inout< T >::sc_inout ( const char *  name_,
inout_port_type parent_ 
) [inline]

Definition at line 931 of file sc_signal_ports.h.

template<class T>
sc_core::sc_inout< T >::sc_inout ( this_type parent_  )  [inline]

Definition at line 936 of file sc_signal_ports.h.

template<class T>
sc_core::sc_inout< T >::sc_inout ( const char *  name_,
this_type parent_ 
) [inline]

Definition at line 941 of file sc_signal_ports.h.

template<class T>
sc_core::sc_inout< T >::~sc_inout (  )  [inline, virtual]

Definition at line 1079 of file sc_signal_ports.h.


Member Function Documentation

template<class T>
const sc_event& sc_core::sc_inout< T >::default_event (  )  const [inline]

Definition at line 956 of file sc_signal_ports.h.

template<class T>
const sc_event& sc_core::sc_inout< T >::value_changed_event (  )  const [inline]

Definition at line 962 of file sc_signal_ports.h.

template<class T>
const data_type& sc_core::sc_inout< T >::read (  )  const [inline]

Definition at line 968 of file sc_signal_ports.h.

template<class T>
sc_core::sc_inout< T >::operator const data_type & (  )  const [inline]

Definition at line 971 of file sc_signal_ports.h.

template<class T>
bool sc_core::sc_inout< T >::event (  )  const [inline]

Definition at line 977 of file sc_signal_ports.h.

template<class T>
void sc_core::sc_inout< T >::write ( const data_type value_  )  [inline]

Definition at line 983 of file sc_signal_ports.h.

template<class T>
this_type& sc_core::sc_inout< T >::operator= ( const data_type value_  )  [inline]

template<class T>
this_type& sc_core::sc_inout< T >::operator= ( const in_if_type interface_  )  [inline]

Reimplemented in sc_core::sc_out< T >.

Definition at line 989 of file sc_signal_ports.h.

template<class T>
this_type& sc_core::sc_inout< T >::operator= ( const in_port_type port_  )  [inline]

Reimplemented in sc_core::sc_out< T >.

Definition at line 992 of file sc_signal_ports.h.

template<class T>
this_type& sc_core::sc_inout< T >::operator= ( const inout_port_type port_  )  [inline]

template<class T>
this_type& sc_core::sc_inout< T >::operator= ( const this_type port_  )  [inline]

template<class T>
void sc_core::sc_inout< T >::initialize ( const data_type value_  )  [inline]

Definition at line 1094 of file sc_signal_ports.h.

template<class T>
void sc_core::sc_inout< T >::initialize ( const in_if_type interface_  )  [inline]

Definition at line 1006 of file sc_signal_ports.h.

template<class T>
void sc_core::sc_inout< T >::end_of_elaboration (  )  [inline, virtual]

called by elaboration_done (does nothing)

Reimplemented from sc_core::sc_port_base.

Reimplemented in sc_core::sc_inout_rv< W >.

Definition at line 1113 of file sc_signal_ports.h.

template<class T>
sc_event_finder& sc_core::sc_inout< T >::value_changed (  )  const [inline]

Definition at line 1019 of file sc_signal_ports.h.

template<class T>
virtual const char* sc_core::sc_inout< T >::kind (  )  const [inline, virtual]

Reimplemented from sc_core::sc_port< IF, N, P >.

Reimplemented in sc_core::sc_out< T >, sc_core::sc_inout_rv< W >, and sc_core::sc_out_rv< W >.

Definition at line 1029 of file sc_signal_ports.h.

template<class T>
void sc_core::sc_inout< T >::add_trace_internal ( sc_trace_file tf_,
const std::string &  name_ 
) const [inline]

Definition at line 1136 of file sc_signal_ports.h.

template<class T>
void sc_core::sc_inout< T >::add_trace ( sc_trace_file tf_,
const std::string &  name_ 
) const [inline]

Definition at line 1150 of file sc_signal_ports.h.

template<class T>
void sc_core::sc_inout< T >::remove_traces (  )  const [inline, protected]

Definition at line 1159 of file sc_signal_ports.h.

template<class IF>
void sc_core::sc_port_b< IF >::bind ( IF &  interface_  )  [inline, inherited]

bind an interface of type IF to this port

Definition at line 308 of file sc_port.h.

template<class IF>
void sc_core::sc_port_b< IF >::bind ( this_type parent_  )  [inline, inherited]

bind a parent port with type IF to this port

Reimplemented from sc_core::sc_port_base.

Reimplemented in sc_core::sc_in< T >, sc_core::sc_core::sc_in< bool >, sc_core::sc_core::sc_in< sc_dt::sc_logic >, and sc_core::sc_in< sc_dt::sc_lv< W > >.

Definition at line 318 of file sc_port.h.

void sc_core::sc_port_base::bind ( sc_interface interface_  )  [protected, inherited]

bind interface to this port

Definition at line 304 of file sc_port.cpp.

template<class IF>
void sc_core::sc_port_b< IF >::operator() ( IF &  interface_  )  [inline, inherited]

bind an interface of type IF to this port

Definition at line 312 of file sc_port.h.

template<class IF>
void sc_core::sc_port_b< IF >::operator() ( this_type parent_  )  [inline, inherited]

bind a parent port with type IF to this port

Reimplemented in sc_core::sc_in< T >, sc_core::sc_core::sc_in< bool >, sc_core::sc_core::sc_in< sc_dt::sc_logic >, and sc_core::sc_in< sc_dt::sc_lv< W > >.

Definition at line 322 of file sc_port.h.

template<class IF>
int sc_core::sc_port_b< IF >::size (  )  const [inline, inherited]

number of connected interfaces

Definition at line 328 of file sc_port.h.

template<class IF>
IF * sc_core::sc_port_b< IF >::operator-> (  )  [inline, inherited]

allow to call methods provided by the first interface

Definition at line 492 of file sc_port.h.

template<class IF>
const IF * sc_core::sc_port_b< IF >::operator-> (  )  const [inline, inherited]

allow to call methods provided by the first interface

Definition at line 504 of file sc_port.h.

template<class IF>
const IF * sc_core::sc_port_b< IF >::get_interface ( int  iface_i  )  const [inline, inherited]

allow to call methods provided by interface at index

Definition at line 536 of file sc_port.h.

template<class IF>
IF * sc_core::sc_port_b< IF >::get_interface ( int  index_  )  [inline, inherited]

allow to call methods provided by interface at index

Note:
that we special-case index of zero, since the method may be called before binding has occurred, and we need to return a zero in that case not an error.

Definition at line 522 of file sc_port.h.

template<class IF>
virtual sc_interface* sc_core::sc_port_b< IF >::get_interface (  )  [inline, virtual, inherited]

get the first interface without checking for nil

Implements sc_core::sc_port_base.

Definition at line 350 of file sc_port.h.

template<class IF>
virtual const sc_interface* sc_core::sc_port_b< IF >::get_interface (  )  const [inline, virtual, inherited]

get the first interface without checking for nil

Implements sc_core::sc_port_base.

Definition at line 354 of file sc_port.h.

template<class IF>
IF* sc_core::sc_port_b< IF >::operator[] ( int  index_  )  [inline, inherited]

Definition at line 341 of file sc_port.h.

template<class IF>
const IF* sc_core::sc_port_b< IF >::operator[] ( int  index_  )  const [inline, inherited]

allow to call methods provided by interface at index

Definition at line 344 of file sc_port.h.

template<class IF>
int sc_core::sc_port_b< IF >::vbind ( sc_interface interface_  )  [inline, protected, virtual, inherited]

called by pbind (for internal use only)

Implements sc_core::sc_port_base.

Reimplemented in sc_core::sc_in< T >, sc_core::sc_core::sc_in< bool >, sc_core::sc_core::sc_in< sc_dt::sc_logic >, and sc_core::sc_in< sc_dt::sc_lv< W > >.

Definition at line 553 of file sc_port.h.

template<class IF>
int sc_core::sc_port_b< IF >::vbind ( sc_port_base parent_  )  [inline, protected, virtual, inherited]

template<class IF>
void sc_core::sc_port_b< IF >::make_sensitive ( sc_thread_handle  handle_,
sc_event_finder event_finder_ = 0 
) const [inline, protected, virtual, inherited]

called by the sc_sensitive* classes

Reimplemented from sc_core::sc_port_base.

Definition at line 625 of file sc_port.h.

template<class IF>
void sc_core::sc_port_b< IF >::make_sensitive ( sc_method_handle  handle_p,
sc_event_finder event_finder_ = 0 
) const [inline, protected, virtual, inherited]

Reimplemented from sc_core::sc_port_base.

Definition at line 646 of file sc_port.h.

void sc_core::sc_port_base::before_end_of_elaboration (  )  [protected, virtual, inherited]

called by construction_done (does nothing by default)

Definition at line 351 of file sc_port.cpp.

void sc_core::sc_port_base::start_of_simulation (  )  [protected, virtual, inherited]

called by start_simulation (does nothing by default)

Definition at line 362 of file sc_port.cpp.

void sc_core::sc_port_base::end_of_simulation (  )  [protected, virtual, inherited]

called by simulation_done (does nothing by default)

Definition at line 367 of file sc_port.cpp.

void sc_core::sc_port_base::report_error ( const char *  id,
const char *  add_msg = 0 
) const [protected, inherited]

error reporting

Definition at line 257 of file sc_port.cpp.

void sc_core::sc_port_base::add_static_event ( sc_method_handle  process_p,
const sc_event event 
) const [protected, inherited]

Definition at line 241 of file sc_port.cpp.

void sc_core::sc_port_base::add_static_event ( sc_thread_handle  process_p,
const sc_event event 
) const [protected, inherited]

Definition at line 247 of file sc_port.cpp.

const char* sc_core::sc_object::name (  )  const [inline, inherited]

return full name of sc_object

Definition at line 80 of file sc_object.h.

const char * sc_core::sc_object::basename (  )  const [inherited]

return base name of sc_object (last part)

Definition at line 95 of file sc_object.cpp.

void sc_core::sc_object::print ( ::std::ostream &  os = ::std::cout  )  const [virtual, inherited]

void sc_core::sc_object::dump ( ::std::ostream &  os = ::std::cout  )  const [virtual, inherited]

void sc_core::sc_object::trace ( sc_trace_file tf  )  const [virtual, inherited]

sc_simcontext* sc_core::sc_object::simcontext (  )  const [inline, inherited]

Definition at line 95 of file sc_object.h.

bool sc_core::sc_object::add_attribute ( sc_attr_base attribute_  )  [inherited]

add attribute

Definition at line 311 of file sc_object.cpp.

sc_attr_base * sc_core::sc_object::get_attribute ( const std::string &  name_  )  [inherited]

get attribute by name

Definition at line 321 of file sc_object.cpp.

const sc_attr_base * sc_core::sc_object::get_attribute ( const std::string &  name_  )  const [inherited]

get attribute by name

Definition at line 328 of file sc_object.cpp.

sc_attr_base * sc_core::sc_object::remove_attribute ( const std::string &  name_  )  [inherited]

remove attribute by name

Definition at line 338 of file sc_object.cpp.

void sc_core::sc_object::remove_all_attributes (  )  [inherited]

remove all attributes

Definition at line 350 of file sc_object.cpp.

int sc_core::sc_object::num_attributes (  )  const [inherited]

get the number of attributes

Definition at line 360 of file sc_object.cpp.

sc_attr_cltn & sc_core::sc_object::attr_cltn (  )  [inherited]

get the attribute collection

Definition at line 372 of file sc_object.cpp.

const sc_attr_cltn & sc_core::sc_object::attr_cltn (  )  const [inherited]

get the attribute collection

Definition at line 379 of file sc_object.cpp.

virtual const std::vector<sc_object*>& sc_core::sc_object::get_child_objects (  )  const [inline, virtual, inherited]

return child objects

Reimplemented in sc_core::sc_module, and sc_core::sc_process_b.

Definition at line 121 of file sc_object.h.

sc_object* sc_core::sc_object::get_parent (  )  const [inline, inherited]

return parent object

Definition at line 125 of file sc_object.h.

sc_object* sc_core::sc_object::get_parent_object (  )  const [inline, inherited]

return parent object

Definition at line 127 of file sc_object.h.


Friends And Related Function Documentation

template<class IF>
friend class sc_sensitive [friend, inherited]

Reimplemented from sc_core::sc_port_base.

Definition at line 295 of file sc_port.h.

template<class IF>
friend class sc_sensitive_neg [friend, inherited]

Reimplemented from sc_core::sc_port_base.

Definition at line 296 of file sc_port.h.

template<class IF>
friend class sc_sensitive_pos [friend, inherited]

Reimplemented from sc_core::sc_port_base.

Definition at line 297 of file sc_port.h.


Member Data Documentation

template<class T>
data_type* sc_core::sc_inout< T >::m_init_val [protected]

Definition at line 1034 of file sc_signal_ports.h.

template<class T>
sc_trace_params_vec* sc_core::sc_inout< T >::m_traces [mutable, protected]

Definition at line 1047 of file sc_signal_ports.h.

Definition at line 215 of file sc_port.h.


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

Generated on Wed Jan 21 15:32:13 2009 for SystemC by  doxygen 1.5.5