クラス テンプレート sc_core::sc_in< bool >

#include <sc_signal_ports.h>

sc_core::sc_in< bool >に対する継承グラフ

Inheritance graph
[凡例]

すべてのメンバ一覧

Public 型

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

Public メソッド

 sc_in ()
 sc_in (const char *name_)
 sc_in (const in_if_type &interface_)
 sc_in (const char *name_, const in_if_type &interface_)
 sc_in (in_port_type &parent_)
 sc_in (const char *name_, in_port_type &parent_)
 sc_in (inout_port_type &parent_)
 sc_in (const char *name_, inout_port_type &parent_)
 sc_in (this_type &parent_)
 sc_in (const char *name_, this_type &parent_)
virtual ~sc_in ()
void bind (const in_if_type &interface_)
void operator() (const in_if_type &interface_)
void bind (in_port_type &parent_)
void operator() (in_port_type &parent_)
void bind (inout_port_type &parent_)
void operator() (inout_port_type &parent_)
const sc_eventdefault_event () const
const sc_eventvalue_changed_event () const
const sc_eventposedge_event () const
const sc_eventnegedge_event () const
const data_typeread () const
 operator const data_type & () const
sc_event_finderpos () const
sc_event_finderneg () const
bool event () const
bool posedge () const
bool negedge () const
sc_event_findervalue_changed () const
virtual void end_of_elaboration ()
virtual const char * kind () const
void add_trace (sc_trace_file *, const std::string &) const
void add_trace_internal (sc_trace_file *, const std::string &) const

Protected メソッド

void remove_traces () const
virtual int vbind (sc_interface &)
virtual int vbind (sc_port_base &)

Protected 変数

sc_trace_params_vecm_traces

Private メソッド

 sc_in (const this_type &)
this_typeoperator= (const this_type &)

Private 変数

sc_event_finderm_change_finder_p
sc_event_finderm_neg_finder_p
sc_event_finderm_pos_finder_p


説明

template<>
class sc_core::sc_in< bool >

sc_signal_ports.h370 行で定義されています。


型定義

typedef bool sc_core::sc_in< bool >::data_type

sc_signal_ports.h377 行で定義されています。

sc_signal_ports.h379 行で定義されています。

typedef sc_port<if_type,1,SC_ONE_OR_MORE_BOUND> sc_core::sc_in< bool >::base_type

sc_core::sc_port< IF, N, P >を再定義しています。

sc_signal_ports.h380 行で定義されています。

sc_core::sc_port< IF, N, P >を再定義しています。

sc_signal_ports.h381 行で定義されています。

typedef if_type sc_core::sc_in< bool >::in_if_type

sc_signal_ports.h383 行で定義されています。

sc_signal_ports.h384 行で定義されています。

sc_signal_ports.h385 行で定義されています。

typedef sc_port<inout_if_type,1,SC_ONE_OR_MORE_BOUND> sc_core::sc_in< bool >::inout_port_type

sc_signal_ports.h386 行で定義されています。


コンストラクタとデストラクタ

sc_core::sc_in< bool >::sc_in (  )  [inline]

sc_signal_ports.h392 行で定義されています。

00393         : base_type(), m_traces( 0 ), m_change_finder_p(0), 
00394           m_neg_finder_p(0), m_pos_finder_p(0)
00395         {}

sc_core::sc_in< bool >::sc_in ( const char *  name_  )  [inline, explicit]

sc_signal_ports.h397 行で定義されています。

00398         : base_type( name_ ), m_traces( 0 ), m_change_finder_p(0), 
00399           m_neg_finder_p(0), m_pos_finder_p(0)
00400         {}

sc_core::sc_in< bool >::sc_in ( const in_if_type interface_  )  [inline, explicit]

sc_signal_ports.h402 行で定義されています。

00403         : base_type( CCAST<in_if_type&>( interface_ ) ), m_traces( 0 ), 
00404           m_change_finder_p(0), m_neg_finder_p(0), m_pos_finder_p(0)
00405         {}

sc_core::sc_in< bool >::sc_in ( const char *  name_,
const in_if_type interface_ 
) [inline]

sc_signal_ports.h407 行で定義されています。

00408         : base_type( name_, CCAST<in_if_type&>( interface_ ) ), m_traces( 0 ),
00409           m_change_finder_p(0), m_neg_finder_p(0), m_pos_finder_p(0)
00410         {}

sc_core::sc_in< bool >::sc_in ( in_port_type parent_  )  [inline, explicit]

sc_signal_ports.h412 行で定義されています。

00413         : base_type( parent_ ), m_traces( 0 ),
00414           m_change_finder_p(0), m_neg_finder_p(0), m_pos_finder_p(0)
00415         {}

sc_core::sc_in< bool >::sc_in ( const char *  name_,
in_port_type parent_ 
) [inline]

sc_signal_ports.h417 行で定義されています。

00418         : base_type( name_, parent_ ), m_traces( 0 ),
00419           m_change_finder_p(0), m_neg_finder_p(0), m_pos_finder_p(0)
00420         {}

sc_core::sc_in< bool >::sc_in ( inout_port_type parent_  )  [inline, explicit]

sc_signal_ports.h422 行で定義されています。

00423         : base_type(), m_traces( 0 ),
00424           m_change_finder_p(0), m_neg_finder_p(0), m_pos_finder_p(0)
00425         { sc_port_base::bind( parent_ ); }

sc_core::sc_in< bool >::sc_in ( const char *  name_,
inout_port_type parent_ 
) [inline]

sc_signal_ports.h427 行で定義されています。

00428         : base_type( name_ ), m_traces( 0 ),
00429           m_change_finder_p(0), m_neg_finder_p(0), m_pos_finder_p(0)
00430         { sc_port_base::bind( parent_ ); }

sc_core::sc_in< bool >::sc_in ( this_type parent_  )  [inline]

sc_signal_ports.h432 行で定義されています。

00433         : base_type( parent_ ), m_traces( 0 ),
00434           m_change_finder_p(0), m_neg_finder_p(0), m_pos_finder_p(0)
00435         {}

sc_core::sc_in< bool >::sc_in ( const char *  name_,
this_type parent_ 
) [inline]

sc_signal_ports.h444 行で定義されています。

00445         : base_type( name_, parent_ ), m_traces( 0 ),
00446           m_change_finder_p(0), m_neg_finder_p(0), m_pos_finder_p(0)
00447         {}

virtual sc_core::sc_in< bool >::~sc_in (  )  [inline, virtual]

sc_signal_ports.h452 行で定義されています。

00453         {
00454             remove_traces();
00455             if ( m_change_finder_p ) delete m_change_finder_p;
00456             if ( m_neg_finder_p ) delete m_neg_finder_p;
00457             if ( m_pos_finder_p ) delete m_pos_finder_p;
00458         }

sc_core::sc_in< bool >::sc_in ( const this_type  )  [private]


関数

void sc_core::sc_in< bool >::bind ( const in_if_type interface_  )  [inline]

sc_signal_ports.h463 行で定義されています。

00464         { sc_port_base::bind( CCAST<in_if_type&>( interface_ ) ); }

void sc_core::sc_in< bool >::operator() ( const in_if_type interface_  )  [inline]

sc_signal_ports.h466 行で定義されています。

00467         { sc_port_base::bind( CCAST<in_if_type&>( interface_ ) ); }

void sc_core::sc_in< bool >::bind ( in_port_type parent_  )  [inline]

sc_core::sc_port_b< IF >を再定義しています。

sc_signal_ports.h472 行で定義されています。

00473         { sc_port_base::bind( parent_ ); }

void sc_core::sc_in< bool >::operator() ( in_port_type parent_  )  [inline]

sc_core::sc_port_b< IF >を再定義しています。

sc_signal_ports.h475 行で定義されています。

00476         { sc_port_base::bind( parent_ ); }

void sc_core::sc_in< bool >::bind ( inout_port_type parent_  )  [inline]

sc_signal_ports.h481 行で定義されています。

00482         { sc_port_base::bind( parent_ ); }

void sc_core::sc_in< bool >::operator() ( inout_port_type parent_  )  [inline]

sc_signal_ports.h484 行で定義されています。

00485         { sc_port_base::bind( parent_ ); }

const sc_event& sc_core::sc_in< bool >::default_event (  )  const [inline]

sc_signal_ports.h492 行で定義されています。

00493         { return (*this)->default_event(); }

const sc_event& sc_core::sc_in< bool >::value_changed_event (  )  const [inline]

sc_signal_ports.h498 行で定義されています。

00499         { return (*this)->value_changed_event(); }

const sc_event& sc_core::sc_in< bool >::posedge_event (  )  const [inline]

sc_signal_ports.h503 行で定義されています。

00504         { return (*this)->posedge_event(); }

const sc_event& sc_core::sc_in< bool >::negedge_event (  )  const [inline]

sc_signal_ports.h508 行で定義されています。

00509         { return (*this)->negedge_event(); }

const data_type& sc_core::sc_in< bool >::read (  )  const [inline]

sc_signal_ports.h514 行で定義されています。

00515         { return (*this)->read(); }

sc_core::sc_in< bool >::operator const data_type & (  )  const [inline]

sc_signal_ports.h517 行で定義されています。

00518         { return (*this)->read(); }

sc_event_finder& sc_core::sc_in< bool >::pos (  )  const [inline]

sc_signal_ports.h523 行で定義されています。

00524     {
00525         if ( !m_pos_finder_p )
00526         {
00527             m_pos_finder_p = new sc_event_finder_t<in_if_type>(
00528                 *this, &in_if_type::posedge_event );
00529         } 
00530         return *m_pos_finder_p;
00531     }

sc_event_finder& sc_core::sc_in< bool >::neg (  )  const [inline]

sc_signal_ports.h535 行で定義されています。

00536     {
00537         if ( !m_neg_finder_p )
00538         {
00539             m_neg_finder_p = new sc_event_finder_t<in_if_type>(
00540                 *this, &in_if_type::negedge_event );
00541         } 
00542         return *m_neg_finder_p;
00543     }

bool sc_core::sc_in< bool >::event (  )  const [inline]

sc_signal_ports.h548 行で定義されています。

00549         { return (*this)->event(); }

bool sc_core::sc_in< bool >::posedge (  )  const [inline]

sc_signal_ports.h553 行で定義されています。

00554         { return (*this)->posedge(); }

bool sc_core::sc_in< bool >::negedge (  )  const [inline]

sc_signal_ports.h558 行で定義されています。

00559         { return (*this)->negedge(); }

sc_event_finder& sc_core::sc_in< bool >::value_changed (  )  const [inline]

sc_signal_ports.h563 行で定義されています。

00564     {
00565         if ( !m_change_finder_p )
00566         {
00567             m_change_finder_p = new sc_event_finder_t<in_if_type>(
00568                 *this, &in_if_type::value_changed_event );
00569         }
00570         return *m_change_finder_p;
00571     }

void sc_core::sc_in< bool >::end_of_elaboration (  )  [virtual]

sc_core::sc_port_baseを再定義しています。

sc_signal_ports.cpp84 行で定義されています。

00085 {
00086     if( m_traces != 0 ) {
00087         for( int i = 0; i < (int)m_traces->size(); ++ i ) {
00088             sc_trace_params* p = (*m_traces)[i];
00089             in_if_type* iface = DCAST<in_if_type*>( get_interface() );
00090             sc_trace( p->tf, iface->read(), p->name );
00091         }
00092         remove_traces();
00093     }
00094 }

virtual const char* sc_core::sc_in< bool >::kind (  )  const [inline, virtual]

sc_core::sc_port< IF, N, P >を再定義しています。

sc_signal_ports.h580 行で定義されています。

00581         { return "sc_in"; }

void sc_core::sc_in< bool >::add_trace ( sc_trace_file tf_,
const std::string &  name_ 
) const

sc_signal_ports.cpp111 行で定義されています。

00113 {
00114     sc_deprecated_add_trace();
00115         add_trace_internal(tf_, name_);
00116 }

void sc_core::sc_in< bool >::add_trace_internal ( sc_trace_file tf_,
const std::string &  name_ 
) const

sc_signal_ports.cpp99 行で定義されています。

00101 {
00102     if( tf_ != 0 ) {
00103         if( m_traces == 0 ) {
00104             m_traces = new sc_trace_params_vec;
00105         }
00106         m_traces->push_back( new sc_trace_params( tf_, name_ ) );
00107     }
00108 }

void sc_core::sc_in< bool >::remove_traces (  )  const [protected]

sc_signal_ports.cpp119 行で定義されています。

00120 {
00121     if( m_traces != 0 ) {
00122         for( int i = m_traces->size() - 1; i >= 0; -- i ) {
00123             delete (*m_traces)[i];
00124         }
00125         delete m_traces;
00126         m_traces = 0;
00127     }
00128 }

int sc_core::sc_in< bool >::vbind ( sc_interface interface_  )  [protected, virtual]

sc_core::sc_port_b< IF >を再定義しています。

sc_signal_ports.cpp134 行で定義されています。

00135 {
00136     return sc_port_b<if_type>::vbind( interface_ );
00137 }

int sc_core::sc_in< bool >::vbind ( sc_port_base parent_  )  [protected, virtual]

sc_core::sc_port_b< IF >を再定義しています。

sc_signal_ports.cpp140 行で定義されています。

00141 {
00142     in_port_type* in_parent = DCAST<in_port_type*>( &parent_ );
00143     if( in_parent != 0 ) {
00144         sc_port_base::bind( *in_parent );
00145         return 0;
00146     }
00147     inout_port_type* inout_parent = DCAST<inout_port_type*>( &parent_ );
00148     if( inout_parent != 0 ) {
00149         sc_port_base::bind( *inout_parent );
00150         return 0;
00151     }
00152     // type mismatch
00153     return 2;
00154 }

this_type& sc_core::sc_in< bool >::operator= ( const this_type  )  [private]

sc_core::sc_port< IF, N, P >を再定義しています。


変数

sc_trace_params_vec* sc_core::sc_in< bool >::m_traces [mutable, protected]

sc_signal_ports.h593 行で定義されています。

sc_event_finder* sc_core::sc_in< bool >::m_change_finder_p [mutable, private]

sc_signal_ports.h602 行で定義されています。

sc_event_finder* sc_core::sc_in< bool >::m_neg_finder_p [mutable, private]

sc_signal_ports.h603 行で定義されています。

sc_event_finder* sc_core::sc_in< bool >::m_pos_finder_p [mutable, private]

sc_signal_ports.h604 行で定義されています。


このクラスの説明は次のファイルから生成されました:

SystemCに対してFri Jun 6 20:11:51 2008に生成されました。  doxygen 1.5.6