クラス sc_core::sc_process_handle

#include <sc_process_handle.h>

すべてのメンバ一覧

Public メソッド

 sc_process_handle ()
 sc_process_handle (sc_object *object_p)
 sc_process_handle (const sc_process_handle &orig)
 ~sc_process_handle ()
sc_process_handleoperator= (const sc_process_handle &src)
bool dynamic () const
const std::vector< sc_object * > & get_child_objects () const
sc_objectget_parent_object () const
sc_objectget_process_object () const
const char * name () const
sc_curr_proc_kind proc_kind () const
sc_eventterminated_event ()
bool terminated () const
bool valid () const
 operator sc_process_b * ()
 operator sc_cthread_handle ()
 operator sc_method_handle ()
 operator sc_thread_handle ()

Protected メソッド

bool dont_initialize () const
void dont_initialize (bool dont)

Protected 変数

sc_process_bm_target_p

Static Protected 変数

static std::vector< sc_object * > empty_vector
static sc_event non_event

Private 型

typedef sc_process_handle this_type

フレンド

class sc_object
class sc_join
class sc_module
class sc_reset
class sc_sensitive
class sc_sensitive_pos
class sc_sensitive_neg
class sc_thread_process
bool operator== (const this_type &left, const this_type &right)
bool operator!= (const this_type &left, const this_type &right)


説明

sc_process_handle.h75 行で定義されています。


型定義

sc_process_handle.h76 行で定義されています。


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

sc_core::sc_process_handle::sc_process_handle (  )  [inline]

sc_process_handle.h147 行で定義されています。

00148 {
00149     m_target_p = (sc_process_b*)0;
00150 }

sc_core::sc_process_handle::sc_process_handle ( sc_object object_p  )  [inline, explicit]

sc_process_handle.h161 行で定義されています。

00162 {
00163     m_target_p = object_p ? DCAST<sc_process_b*>(object_p) : (sc_process_b*)0;
00164     if ( m_target_p ) m_target_p->reference_increment();
00165 }

sc_core::sc_process_handle::sc_process_handle ( const sc_process_handle orig  )  [inline]

sc_process_handle.h176 行で定義されています。

00177 {
00178     m_target_p = orig.m_target_p;
00179     if ( m_target_p ) m_target_p->reference_increment();
00180 }

sc_core::sc_process_handle::~sc_process_handle (  )  [inline]

sc_process_handle.h206 行で定義されています。

00207 {
00208     if ( m_target_p ) m_target_p->reference_decrement();
00209 }


関数

sc_process_handle & sc_core::sc_process_handle::operator= ( const sc_process_handle src  )  [inline]

sc_process_handle.h191 行で定義されています。

00192 {
00193     if ( m_target_p ) m_target_p->reference_decrement();
00194     m_target_p = orig.m_target_p;
00195     if ( m_target_p ) m_target_p->reference_increment();
00196     return *this;
00197 }

bool sc_core::sc_process_handle::dynamic (  )  const [inline]

sc_process_handle.h221 行で定義されています。

00222 {
00223     return m_target_p ? m_target_p->dynamic() : false;
00224 }

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

sc_process_handle.h227 行で定義されています。

00228 {
00229     return m_target_p ? m_target_p->get_child_objects() :
00230         sc_process_handle::empty_vector;
00231 }

sc_object * sc_core::sc_process_handle::get_parent_object (  )  const [inline]

sc_process_handle.h233 行で定義されています。

00234 {
00235     return m_target_p ? m_target_p->get_parent_object() : (sc_object*)0;
00236 }

sc_object * sc_core::sc_process_handle::get_process_object (  )  const [inline]

sc_process_handle.h238 行で定義されています。

00239 {
00240     return m_target_p;
00241 }

const char * sc_core::sc_process_handle::name (  )  const [inline]

sc_process_handle.h243 行で定義されています。

00244 {
00245     return m_target_p ? m_target_p->name() : "";
00246 }

sc_curr_proc_kind sc_core::sc_process_handle::proc_kind (  )  const [inline]

sc_process_handle.h248 行で定義されています。

00249 {
00250     return m_target_p ? m_target_p->proc_kind() : SC_NO_PROC_;
00251 }

sc_event & sc_core::sc_process_handle::terminated_event (  )  [inline]

sc_process_handle.h258 行で定義されています。

00259 {
00260     return m_target_p ? m_target_p->terminated_event() :
00261         sc_process_handle::non_event;
00262 }

bool sc_core::sc_process_handle::terminated (  )  const [inline]

sc_process_handle.h253 行で定義されています。

00254 {
00255     return m_target_p ? m_target_p->terminated() : false;
00256 }

bool sc_core::sc_process_handle::valid (  )  const [inline]

sc_process_handle.h264 行で定義されています。

00265 {
00266     return m_target_p ? true : false;
00267 }

bool sc_core::sc_process_handle::dont_initialize (  )  const [inline, protected]

sc_process_handle.h108 行で定義されています。

00109         { return m_target_p ? m_target_p->dont_initialize() : false; }

void sc_core::sc_process_handle::dont_initialize ( bool  dont  )  [inline, protected]

sc_process_handle.h216 行で定義されています。

00217 {
00218     if ( m_target_p ) m_target_p->dont_initialize( dont );
00219 }

sc_core::sc_process_handle::operator sc_process_b * (  )  [inline]

sc_process_handle.h113 行で定義されています。

00114         { return m_target_p; }

sc_core::sc_process_handle::operator sc_cthread_handle (  ) 

sc_process.cpp346 行で定義されています。

00347 {
00348     return DCAST<sc_cthread_handle>(m_target_p); 
00349 }

sc_core::sc_process_handle::operator sc_method_handle (  ) 

sc_process.cpp355 行で定義されています。

00356 {
00357     return DCAST<sc_method_handle>(m_target_p); 
00358 }

sc_core::sc_process_handle::operator sc_thread_handle (  ) 

sc_process.cpp364 行で定義されています。

00365 {
00366     return DCAST<sc_thread_handle>(m_target_p); 
00367 }


フレンドと関連する関数

friend class sc_object [friend]

sc_process_handle.h80 行で定義されています。

friend class sc_join [friend]

sc_process_handle.h81 行で定義されています。

friend class sc_module [friend]

sc_process_handle.h82 行で定義されています。

friend class sc_reset [friend]

sc_process_handle.h83 行で定義されています。

friend class sc_sensitive [friend]

sc_process_handle.h84 行で定義されています。

friend class sc_sensitive_pos [friend]

sc_process_handle.h85 行で定義されています。

friend class sc_sensitive_neg [friend]

sc_process_handle.h86 行で定義されています。

friend class sc_thread_process [friend]

sc_process_handle.h87 行で定義されています。

bool operator== ( const this_type left,
const this_type right 
) [friend]

bool operator!= ( const this_type left,
const this_type right 
) [friend]


変数

sc_process_handle.h120 行で定義されています。

std::vector< sc_object * > sc_core::sc_process_handle::empty_vector [static, protected]

sc_process_handle.h123 行で定義されています。

sc_process_handle.h124 行で定義されています。


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

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