クラス テンプレート sc_core::sc_pvector< T >

#include <sc_vector.h>

すべてのメンバ一覧

Public 型

typedef const T * const_iterator
typedef T * iterator

Public メソッド

 sc_pvector (int alloc_n=0)
 sc_pvector (const sc_pvector< T > &rhs)
 ~sc_pvector ()
int size () const
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
sc_pvector< T > & operator= (const sc_pvector< T > &rhs)
T & operator[] (unsigned int i)
const T & operator[] (unsigned int i) const
T & fetch (int i)
const T & fetch (int i) const
T * raw_data ()
const T * raw_data () const
 operator const ::std::vector< T > & () const
void push_back (T item)
void erase_all ()
void sort (CFT compar)
void put (T item, int i)
void decr_count ()
void decr_count (int k)

Protected 変数

mutable::std::vector< T > m_vector


説明

template<class T>
class sc_core::sc_pvector< T >

sc_vector.h68 行で定義されています。


型定義

template<class T>
typedef const T* sc_core::sc_pvector< T >::const_iterator

sc_vector.h72 行で定義されています。

template<class T>
typedef T* sc_core::sc_pvector< T >::iterator

sc_vector.h73 行で定義されています。


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

template<class T>
sc_core::sc_pvector< T >::sc_pvector ( int  alloc_n = 0  )  [inline]

sc_vector.h77 行で定義されています。

00078         {
00079         }

template<class T>
sc_core::sc_pvector< T >::sc_pvector ( const sc_pvector< T > &  rhs  )  [inline]

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

00082         : m_vector( rhs.m_vector )
00083         {}

template<class T>
sc_core::sc_pvector< T >::~sc_pvector (  )  [inline]

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

00086         {}


関数

template<class T>
int sc_core::sc_pvector< T >::size (  )  const [inline]

sc_vector.h89 行で定義されています。

00090         { return m_vector.size(); }

template<class T>
iterator sc_core::sc_pvector< T >::begin (  )  [inline]

sc_vector.h93 行で定義されています。

00094         { return (iterator) &ACCESS(0); }

template<class T>
const_iterator sc_core::sc_pvector< T >::begin (  )  const [inline]

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

00097         { return (const_iterator) &ACCESS(0); }

template<class T>
iterator sc_core::sc_pvector< T >::end (  )  [inline]

sc_vector.h99 行で定義されています。

00100         { return static_cast<iterator> (&ACCESS(m_vector.size()-1)+1); }

template<class T>
const_iterator sc_core::sc_pvector< T >::end (  )  const [inline]

sc_vector.h102 行で定義されています。

00103         { return static_cast<const_iterator> (&ACCESS(m_vector.size()-1)+1); }

template<class T>
sc_pvector<T>& sc_core::sc_pvector< T >::operator= ( const sc_pvector< T > &  rhs  )  [inline]

sc_vector.h106 行で定義されています。

00107         { m_vector = rhs.m_vector; return *this; }

template<class T>
T& sc_core::sc_pvector< T >::operator[] ( unsigned int  i  )  [inline]

sc_vector.h110 行で定義されています。

00111         { 
00112             if ( i >= m_vector.size() ) m_vector.resize(i+1);
00113             return (T&) m_vector.operator [] ( i );
00114         }

template<class T>
const T& sc_core::sc_pvector< T >::operator[] ( unsigned int  i  )  const [inline]

sc_vector.h116 行で定義されています。

00117         { 
00118             if ( i >= m_vector.size() ) m_vector.resize(i+1);
00119             return (const T&) m_vector.operator [] ( i );
00120         }

template<class T>
T& sc_core::sc_pvector< T >::fetch ( int  i  )  [inline]

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

00123         { return ACCESS(i); }

template<class T>
const T& sc_core::sc_pvector< T >::fetch ( int  i  )  const [inline]

sc_vector.h125 行で定義されています。

00126         { return (const T&) ACCESS(i); }

template<class T>
T* sc_core::sc_pvector< T >::raw_data (  )  [inline]

sc_vector.h129 行で定義されています。

00130         { return (T*) &ACCESS(0); }

template<class T>
const T* sc_core::sc_pvector< T >::raw_data (  )  const [inline]

sc_vector.h132 行で定義されています。

00133         { return (const T*) &ACCESS(0); }

template<class T>
sc_core::sc_pvector< T >::operator const ::std::vector< T > & (  )  const [inline]

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

00137         { return m_vector; }

template<class T>
void sc_core::sc_pvector< T >::push_back ( item  )  [inline]

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

00140         { m_vector.push_back( item ); }

template<class T>
void sc_core::sc_pvector< T >::erase_all (  )  [inline]

sc_vector.h143 行で定義されています。

00144         { m_vector.resize(0); }

template<class T>
void sc_core::sc_pvector< T >::sort ( CFT  compar  )  [inline]

sc_vector.h146 行で定義されています。

00147         {qsort( (void*)&m_vector[0], m_vector.size(), sizeof(void*), compar );}

template<class T>
void sc_core::sc_pvector< T >::put ( item,
int  i 
) [inline]

sc_vector.h151 行で定義されています。

00152         { ACCESS(i) = item; }

template<class T>
void sc_core::sc_pvector< T >::decr_count (  )  [inline]

sc_vector.h154 行で定義されています。

00155         { m_vector.resize(m_vector.size()-1); }

template<class T>
void sc_core::sc_pvector< T >::decr_count ( int  k  )  [inline]

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

00158         { m_vector.resize(m_vector.size()-k); }


変数

template<class T>
mutable ::std::vector<T> sc_core::sc_pvector< T >::m_vector [protected]

sc_vector.h163 行で定義されています。


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

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