gem5  v22.0.0.2
Public Member Functions | Private Member Functions | Private Attributes | List of all members
sc_core::sc_inout< T > Class Template Reference

#include <sc_inout.hh>

Inheritance diagram for sc_core::sc_inout< T >:
sc_core::sc_port< sc_signal_inout_if< T >, 1 > sc_core::sc_port_b< sc_signal_inout_if< T > > sc_core::sc_port_base sc_core::sc_object sc_core::sc_out< T >

Public Member Functions

 sc_inout ()
 
 sc_inout (const char *name)
 
virtual ~sc_inout ()
 
 sc_inout (const sc_signal_inout_if< T > &interface)
 
 sc_inout (const char *name, const sc_signal_inout_if< T > &interface)
 
 sc_inout (sc_port_b< sc_signal_inout_if< T > > &parent)
 
 sc_inout (const char *name, sc_port_b< sc_signal_inout_if< T > > &parent)
 
 sc_inout (sc_port< sc_signal_inout_if< T >, 1 > &parent)
 
 sc_inout (const char *name, sc_port< sc_signal_inout_if< T >, 1 > &parent)
 
void initialize (const T &t)
 
void initialize (const sc_signal_in_if< T > &i)
 
virtual void end_of_elaboration ()
 
const T & read () const
 
 operator const T & () const
 
void write (const T &t)
 
sc_inout< T > & operator= (const T &t)
 
sc_inout< T > & operator= (const sc_signal_in_if< T > &i)
 
sc_inout< T > & operator= (const sc_port< sc_signal_in_if< T >, 1 > &p)
 
sc_inout< T > & operator= (const sc_port< sc_signal_inout_if< T >, 1 > &p)
 
sc_inout< T > & operator= (const sc_inout< T > &p)
 
const sc_eventdefault_event () const
 
const sc_eventvalue_changed_event () const
 
bool event () const
 
sc_event_findervalue_changed () const
 
virtual const char * kind () const
 
void add_trace (sc_trace_file *tf, const std::string &name) const
 
- Public Member Functions inherited from sc_core::sc_port< sc_signal_inout_if< T >, 1 >
 sc_port ()
 
 sc_port (const char *name)
 
 sc_port (const sc_signal_inout_if< T > &interface)
 
 sc_port (const char *name, const sc_signal_inout_if< T > &interface)
 
 sc_port (sc_port_b< sc_signal_inout_if< T > > &parent)
 
 sc_port (const char *name, sc_port_b< sc_signal_inout_if< T > > &parent)
 
 sc_port (sc_port< sc_signal_inout_if< T >, N, SC_ONE_OR_MORE_BOUND > &parent)
 
 sc_port (const char *name, sc_port< sc_signal_inout_if< T >, N, SC_ONE_OR_MORE_BOUND > &parent)
 
virtual ~sc_port ()
 
virtual const char * kind () const override
 
- Public Member Functions inherited from sc_core::sc_port_b< sc_signal_inout_if< T > >
void operator() (sc_signal_inout_if< T > &i)
 
void operator() (sc_port_b< sc_signal_inout_if< T > > &p)
 
virtual void bind (sc_signal_inout_if< T > &i)
 
virtual void bind (sc_port_b< sc_signal_inout_if< T > > &p)
 
sc_signal_inout_if< T > * operator-> ()
 
const sc_signal_inout_if< T > * operator-> () const
 
sc_signal_inout_if< T > * operator[] (int n)
 
const sc_signal_inout_if< T > * operator[] (int n) const
 
sc_interfaceget_interface ()
 
const sc_interfaceget_interface () const
 
- Public Member Functions inherited from sc_core::sc_port_base
 sc_port_base (const char *name, int n, sc_port_policy p)
 
virtual ~sc_port_base ()
 
void warn_port_constructor () const
 
int maxSize () const
 
int size () const
 
const char * kind () const
 
- Public Member Functions inherited from sc_core::sc_object
const char * name () const
 
const char * basename () const
 
virtual void print (std::ostream &=std::cout) const
 
virtual void dump (std::ostream &=std::cout) const
 
virtual const std::vector< sc_object * > & get_child_objects () const
 
virtual const std::vector< sc_event * > & get_child_events () const
 
sc_objectget_parent_object () const
 
bool add_attribute (sc_attr_base &)
 
sc_attr_baseget_attribute (const std::string &)
 
sc_attr_baseremove_attribute (const std::string &)
 
void remove_all_attributes ()
 
int num_attributes () const
 
sc_attr_cltnattr_cltn ()
 
const sc_attr_cltnattr_cltn () const
 
sc_simcontextsimcontext () const
 

Private Member Functions

 sc_inout (const sc_inout< T > &)
 

Private Attributes

T * initValue
 
sc_event_finder_t< sc_signal_inout_if< T > > _valueChangedFinder
 
sc_trace_params_vec traceParamsVec
 

Additional Inherited Members

- Protected Member Functions inherited from sc_core::sc_port_b< sc_signal_inout_if< T > >
void before_end_of_elaboration () override
 
void end_of_elaboration () override
 
void start_of_simulation () override
 
void end_of_simulation () override
 
 sc_port_b (int n, sc_port_policy p)
 
 sc_port_b (const char *name, int n, sc_port_policy p)
 
virtual ~sc_port_b ()
 
int vbind (sc_interface &i) override
 
int vbind (sc_port_base &pb) override
 
- Protected Member Functions inherited from sc_core::sc_port_base
void bind (sc_interface &)
 
void bind (sc_port_base &)
 
void report_error (const char *id, const char *add_msg) const
 
- Protected Member Functions inherited from sc_core::sc_object
 sc_object ()
 
 sc_object (const char *)
 
 sc_object (const sc_object &)
 
sc_objectoperator= (const sc_object &)
 
virtual ~sc_object ()
 

Detailed Description

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

Definition at line 54 of file sc_inout.hh.

Constructor & Destructor Documentation

◆ sc_inout() [1/9]

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

Definition at line 57 of file sc_inout.hh.

◆ sc_inout() [2/9]

template<class T >
sc_core::sc_inout< T >::sc_inout ( const char *  name)
inlineexplicit

Definition at line 60 of file sc_inout.hh.

◆ ~sc_inout()

template<class T >
virtual sc_core::sc_inout< T >::~sc_inout ( )
inlinevirtual

Definition at line 64 of file sc_inout.hh.

◆ sc_inout() [3/9]

template<class T >
sc_core::sc_inout< T >::sc_inout ( const sc_signal_inout_if< T > &  interface)
inlineexplicit

Definition at line 67 of file sc_inout.hh.

◆ sc_inout() [4/9]

template<class T >
sc_core::sc_inout< T >::sc_inout ( const char *  name,
const sc_signal_inout_if< T > &  interface 
)
inline

Definition at line 71 of file sc_inout.hh.

◆ sc_inout() [5/9]

template<class T >
sc_core::sc_inout< T >::sc_inout ( sc_port_b< sc_signal_inout_if< T > > &  parent)
inlineexplicit

Definition at line 75 of file sc_inout.hh.

◆ sc_inout() [6/9]

template<class T >
sc_core::sc_inout< T >::sc_inout ( const char *  name,
sc_port_b< sc_signal_inout_if< T > > &  parent 
)
inline

Definition at line 79 of file sc_inout.hh.

◆ sc_inout() [7/9]

template<class T >
sc_core::sc_inout< T >::sc_inout ( sc_port< sc_signal_inout_if< T >, 1 > &  parent)
inlineexplicit

Definition at line 83 of file sc_inout.hh.

◆ sc_inout() [8/9]

template<class T >
sc_core::sc_inout< T >::sc_inout ( const char *  name,
sc_port< sc_signal_inout_if< T >, 1 > &  parent 
)
inline

Definition at line 87 of file sc_inout.hh.

◆ sc_inout() [9/9]

template<class T >
sc_core::sc_inout< T >::sc_inout ( const sc_inout< T > &  )
private

Member Function Documentation

◆ add_trace()

template<class T >
void sc_core::sc_inout< T >::add_trace ( sc_trace_file tf,
const std::string &  name 
) const
inline

Definition at line 167 of file sc_inout.hh.

◆ default_event()

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

Definition at line 155 of file sc_inout.hh.

◆ end_of_elaboration()

template<class T >
virtual void sc_core::sc_inout< T >::end_of_elaboration ( )
inlinevirtual

Implements sc_core::sc_port_base.

Reimplemented in sc_core::sc_inout_rv< W >.

Definition at line 106 of file sc_inout.hh.

Referenced by sc_core::sc_inout_resolved::end_of_elaboration().

◆ event()

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

Definition at line 161 of file sc_inout.hh.

◆ initialize() [1/2]

template<class T >
void sc_core::sc_inout< T >::initialize ( const sc_signal_in_if< T > &  i)
inline

Definition at line 103 of file sc_inout.hh.

Referenced by sc_core::sc_inout< sc_dt::sc_lv< W > >::initialize().

◆ initialize() [2/2]

template<class T >
void sc_core::sc_inout< T >::initialize ( const T &  t)
inline

Definition at line 93 of file sc_inout.hh.

Referenced by sc_core::sc_inout< sc_dt::sc_logic >::initialize().

◆ kind()

template<class T >
virtual const char* sc_core::sc_inout< T >::kind ( ) const
inlinevirtual

Reimplemented from sc_core::sc_object.

Reimplemented in sc_core::sc_out< T >.

Definition at line 164 of file sc_inout.hh.

◆ operator const T &()

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

Definition at line 121 of file sc_inout.hh.

◆ operator=() [1/5]

template<class T >
sc_inout<T>& sc_core::sc_inout< T >::operator= ( const sc_inout< T > &  p)
inline

Definition at line 149 of file sc_inout.hh.

◆ operator=() [2/5]

template<class T >
sc_inout<T>& sc_core::sc_inout< T >::operator= ( const sc_port< sc_signal_in_if< T >, 1 > &  p)
inline

Definition at line 137 of file sc_inout.hh.

◆ operator=() [3/5]

template<class T >
sc_inout<T>& sc_core::sc_inout< T >::operator= ( const sc_port< sc_signal_inout_if< T >, 1 > &  p)
inline

Definition at line 143 of file sc_inout.hh.

◆ operator=() [4/5]

template<class T >
sc_inout<T>& sc_core::sc_inout< T >::operator= ( const sc_signal_in_if< T > &  i)
inline

Definition at line 131 of file sc_inout.hh.

◆ operator=() [5/5]

template<class T >
sc_inout<T>& sc_core::sc_inout< T >::operator= ( const T &  t)
inline

Definition at line 125 of file sc_inout.hh.

Referenced by sc_core::sc_out< bool >::operator=().

◆ read()

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

◆ value_changed()

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

Definition at line 162 of file sc_inout.hh.

◆ value_changed_event()

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

Definition at line 157 of file sc_inout.hh.

◆ write()

template<class T >
void sc_core::sc_inout< T >::write ( const T &  t)
inline

Member Data Documentation

◆ _valueChangedFinder

template<class T >
sc_event_finder_t<sc_signal_inout_if<T> > sc_core::sc_inout< T >::_valueChangedFinder
mutableprivate

◆ initValue

template<class T >
T* sc_core::sc_inout< T >::initValue
private

◆ traceParamsVec

template<class T >
sc_trace_params_vec sc_core::sc_inout< T >::traceParamsVec
mutableprivate

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

Generated on Thu Jul 28 2022 13:35:01 for gem5 by doxygen 1.8.17