クラス sc_core::sc_attr_cltn

#include <sc_attribute.h>

すべてのメンバ一覧

Public 型

typedef sc_attr_baseelem_type
typedef elem_typeiterator
typedef const elem_typeconst_iterator

Public メソッド

 sc_attr_cltn ()
 sc_attr_cltn (const sc_attr_cltn &)
 ~sc_attr_cltn ()
bool push_back (sc_attr_base *)
sc_attr_baseoperator[] (const std::string &name_)
const sc_attr_baseoperator[] (const std::string &name_) const
sc_attr_baseremove (const std::string &name_)
void remove_all ()
int size () const
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const

Private メソッド

sc_attr_cltnoperator= (const sc_attr_cltn &)

Private 変数

sc_pvector< sc_attr_base * > m_cltn


説明

sc_attribute.h90 行で定義されています。


型定義

sc_attribute.h95 行で定義されています。

sc_attribute.h96 行で定義されています。

sc_attribute.h97 行で定義されています。


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

sc_core::sc_attr_cltn::sc_attr_cltn (  ) 

sc_attribute.cpp91 行で定義されています。

00092 {}

sc_core::sc_attr_cltn::sc_attr_cltn ( const sc_attr_cltn a  ) 

sc_attribute.cpp94 行で定義されています。

00095 : m_cltn( a.m_cltn )
00096 {}

sc_core::sc_attr_cltn::~sc_attr_cltn (  ) 

sc_attribute.cpp100 行で定義されています。

00101 {
00102     remove_all();
00103 }


関数

bool sc_core::sc_attr_cltn::push_back ( sc_attr_base attribute_  ) 

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

00112 {
00113     if( attribute_ == 0 ) {
00114         return false;
00115     }
00116     for( int i = m_cltn.size() - 1; i >= 0; -- i ) {
00117         if( attribute_->name() == m_cltn[i]->name() ) {
00118             return false;
00119         }
00120     }
00121     m_cltn.push_back( attribute_ );
00122     return true;
00123 }

sc_attr_base * sc_core::sc_attr_cltn::operator[] ( const std::string &  name_  ) 

sc_attribute.cpp130 行で定義されています。

00131 {
00132     for( int i = m_cltn.size() - 1; i >= 0; -- i ) {
00133         if( name_ == m_cltn[i]->name() ) {
00134             return m_cltn[i];
00135         }
00136     }
00137     return 0;
00138 }

const sc_attr_base * sc_core::sc_attr_cltn::operator[] ( const std::string &  name_  )  const

sc_attribute.cpp141 行で定義されています。

00142 {
00143     for( int i = m_cltn.size() - 1; i >= 0; -- i ) {
00144         if( name_ == m_cltn[i]->name() ) {
00145             return m_cltn[i];
00146         }
00147     }
00148     return 0;
00149 }

sc_attr_base * sc_core::sc_attr_cltn::remove ( const std::string &  name_  ) 

sc_attribute.cpp156 行で定義されています。

00157 {
00158     for( int i = m_cltn.size() - 1; i >= 0; -- i ) {
00159         if( name_ == m_cltn[i]->name() ) {
00160             sc_attr_base* attribute = m_cltn[i];
00161             m_cltn[i] = m_cltn[m_cltn.size() - 1];
00162             m_cltn.decr_count();
00163             return attribute;
00164         }
00165     }
00166     return 0;
00167 }

void sc_core::sc_attr_cltn::remove_all (  ) 

sc_attribute.cpp173 行で定義されています。

00174 {
00175     m_cltn.erase_all();
00176 }

int sc_core::sc_attr_cltn::size (  )  const [inline]

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

00125         { return m_cltn.size(); }

iterator sc_core::sc_attr_cltn::begin (  )  [inline]

sc_attribute.h128 行で定義されています。

00129         { return m_cltn.begin(); }

const_iterator sc_core::sc_attr_cltn::begin (  )  const [inline]

sc_attribute.h130 行で定義されています。

00131         { return m_cltn.begin(); }

iterator sc_core::sc_attr_cltn::end (  )  [inline]

sc_attribute.h134 行で定義されています。

00135         { return m_cltn.end(); }

const_iterator sc_core::sc_attr_cltn::end (  )  const [inline]

sc_attribute.h136 行で定義されています。

00137         { return m_cltn.end(); }

sc_attr_cltn& sc_core::sc_attr_cltn::operator= ( const sc_attr_cltn  )  [private]


変数

sc_attribute.h141 行で定義されています。


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

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