クラス テンプレート sc_core::sc_export< IF >

#include <sc_export.h>

sc_core::sc_export< IF >に対する継承グラフ

Inheritance graph
[凡例]

すべてのメンバ一覧

Public メソッド

 sc_export ()
 sc_export (const char *name_)
virtual ~sc_export ()
virtual sc_interfaceget_interface ()
virtual const sc_interfaceget_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_typeoperator= (const this_type &)


説明

template<class IF>
class sc_core::sc_export< IF >

sc_export.h117 行で定義されています。


型定義

template<class IF>
typedef sc_export<IF> sc_core::sc_export< IF >::this_type [private]

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

sc_export.h119 行で定義されています。


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

template<class IF>
sc_core::sc_export< IF >::sc_export (  )  [inline]

sc_export.h122 行で定義されています。

00122                 : sc_export_base()
00123     {
00124         m_interface_p = 0;
00125     }

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

sc_export.h127 行で定義されています。

00127                                             : sc_export_base(name_)
00128     {
00129         m_interface_p = 0;
00130     }

template<class IF>
virtual sc_core::sc_export< IF >::~sc_export (  )  [inline, virtual]

sc_export.h133 行で定義されています。

00134     {
00135     }

template<class IF>
sc_core::sc_export< IF >::sc_export ( const this_type  )  [private]


関数

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

sc_core::sc_export_baseを実装しています。

sc_export.h139 行で定義されています。

00140     {
00141         return m_interface_p;
00142     }

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

sc_core::sc_export_baseを実装しています。

sc_export.h144 行で定義されています。

00145     {
00146         return m_interface_p;
00147     }

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

sc_export.h149 行で定義されています。

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     }

template<class IF>
IF* sc_core::sc_export< IF >::operator-> (  )  [inline]

sc_export.h157 行で定義されています。

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     }

template<class IF>
sc_core::sc_export< IF >::operator IF & (  )  [inline]

sc_export.h165 行で定義されています。

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     }

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

sc_export.h175 行で定義されています。

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     }

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

sc_export.h187 行で定義されています。

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     }

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

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

sc_export.h200 行で定義されています。

00200 { return "sc_export"; }

template<class IF>
const char* sc_core::sc_export< IF >::if_typename (  )  const [inline, protected, virtual]

sc_core::sc_export_baseを実装しています。

sc_export.h203 行で定義されています。

00203                                   {
00204     return typeid( IF ).name();
00205   }

template<class IF>
this_type& sc_core::sc_export< IF >::operator= ( const this_type  )  [private]

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


変数

template<class IF>
IF* sc_core::sc_export< IF >::m_interface_p [protected]

sc_export.h212 行で定義されています。


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

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