#include <sc_export.h>
Public メソッド | |
sc_export () | |
sc_export (const char *name_) | |
virtual | ~sc_export () |
virtual sc_interface * | get_interface () |
virtual const sc_interface * | get_interface () const |
const IF * | operator-> () const |
IF * | operator-> () |
operator IF & () | |
void | bind (IF &interface_) |
void | operator() (IF &interface_) |
virtual const char * | kind () const |
Protected メソッド | |
const char * | if_typename () const |
Protected 変数 | |
IF * | m_interface_p |
Private 型 | |
typedef sc_export< IF > | this_type |
Private メソッド | |
sc_export (const this_type &) | |
this_type & | operator= (const this_type &) |
sc_export.h の 117 行で定義されています。
typedef sc_export<IF> sc_core::sc_export< IF >::this_type [private] |
sc_core::sc_export< IF >::sc_export | ( | ) | [inline] |
sc_core::sc_export< IF >::sc_export | ( | const char * | name_ | ) | [inline, explicit] |
sc_export.h の 127 行で定義されています。
00127 : sc_export_base(name_) 00128 { 00129 m_interface_p = 0; 00130 }
virtual sc_core::sc_export< IF >::~sc_export | ( | ) | [inline, virtual] |
sc_core::sc_export< IF >::sc_export | ( | const this_type & | ) | [private] |
virtual sc_interface* sc_core::sc_export< IF >::get_interface | ( | ) | [inline, virtual] |
sc_core::sc_export_baseを実装しています。
sc_export.h の 139 行で定義されています。
00140 { 00141 return m_interface_p; 00142 }
virtual const sc_interface* sc_core::sc_export< IF >::get_interface | ( | ) | const [inline, virtual] |
sc_core::sc_export_baseを実装しています。
sc_export.h の 144 行で定義されています。
00145 { 00146 return m_interface_p; 00147 }
const IF* sc_core::sc_export< IF >::operator-> | ( | ) | const [inline] |
sc_export.h の 149 行で定義されています。
00149 { 00150 if ( m_interface_p == 0 ) 00151 { 00152 SC_REPORT_ERROR(SC_ID_SC_EXPORT_HAS_NO_INTERFACE_,name()); 00153 } 00154 return m_interface_p; 00155 }
IF* sc_core::sc_export< IF >::operator-> | ( | ) | [inline] |
sc_export.h の 157 行で定義されています。
00157 { 00158 if ( m_interface_p == 0 ) 00159 { 00160 SC_REPORT_ERROR(SC_ID_SC_EXPORT_HAS_NO_INTERFACE_,name()); 00161 } 00162 return m_interface_p; 00163 }
sc_core::sc_export< IF >::operator IF & | ( | ) | [inline] |
sc_export.h の 165 行で定義されています。
00166 { 00167 if ( m_interface_p == 0 ) 00168 { 00169 SC_REPORT_ERROR(SC_ID_SC_EXPORT_HAS_NO_INTERFACE_,name()); 00170 } 00171 return *m_interface_p; 00172 }
void sc_core::sc_export< IF >::bind | ( | IF & | interface_ | ) | [inline] |
sc_export.h の 175 行で定義されています。
00176 { 00177 if ( m_interface_p ) 00178 { 00179 SC_REPORT_ERROR(SC_ID_SC_EXPORT_ALREADY_BOUND_,name()); 00180 } 00181 else 00182 { 00183 m_interface_p = &interface_; 00184 } 00185 }
void sc_core::sc_export< IF >::operator() | ( | IF & | interface_ | ) | [inline] |
sc_export.h の 187 行で定義されています。
00188 { 00189 if ( m_interface_p ) 00190 { 00191 SC_REPORT_ERROR(SC_ID_SC_EXPORT_ALREADY_BOUND_,name()); 00192 } 00193 else 00194 { 00195 m_interface_p = &interface_; 00196 } 00197 }
virtual const char* sc_core::sc_export< IF >::kind | ( | ) | const [inline, virtual] |
const char* sc_core::sc_export< IF >::if_typename | ( | ) | const [inline, protected, virtual] |
sc_core::sc_export_baseを実装しています。
sc_export.h の 203 行で定義されています。
00203 { 00204 return typeid( IF ).name(); 00205 }
this_type& sc_core::sc_export< IF >::operator= | ( | const this_type & | ) | [private] |
sc_core::sc_export_baseを再定義しています。
IF* sc_core::sc_export< IF >::m_interface_p [protected] |
sc_export.h の 212 行で定義されています。