gem5  v21.2.0.0
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Friends | List of all members
sc_core::sc_vector< T > Class Template Reference

#include <sc_vector.hh>

Public Types

typedef sc_vector_iter< T > iterator
 
typedef sc_vector_iter< const T > const_iterator
 
typedef size_t size_type
 

Public Member Functions

 sc_vector ()
 
 sc_vector (const char *_name)
 
 sc_vector (const char *_name, size_type _size)
 
template<typename Creator >
 sc_vector (const char *_name, size_type _size, Creator creator)
 
virtual ~sc_vector ()
 
void init (size_type _size)
 
template<typename Creator >
void init (size_type _size, Creator creator)
 
T & operator[] (size_type index)
 
const T & operator[] (size_type index) const
 
T & at (size_type index)
 
const T & at (size_type index) const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
template<typename ContainerType , typename ArgumentType >
iterator bind (sc_vector_assembly< ContainerType, ArgumentType > c)
 
template<typename BindableContainer >
iterator bind (BindableContainer &c)
 
template<typename BindableIterator >
iterator bind (BindableIterator first, BindableIterator last)
 
template<typename BindableIterator >
iterator bind (BindableIterator first, BindableIterator last, iterator from)
 
template<typename ContainerType , typename ArgumentType >
iterator operator() (sc_vector_assembly< ContainerType, ArgumentType > c)
 
template<typename ArgumentContainer >
iterator operator() (ArgumentContainer &c)
 
template<typename ArgumentIterator >
iterator operator() (ArgumentIterator first, ArgumentIterator last)
 
template<typename ArgumentIterator >
iterator operator() (ArgumentIterator first, ArgumentIterator last, iterator from)
 

Static Public Member Functions

static T * create_element (const char *_name, size_type index)
 

Private Member Functions

 sc_vector (const sc_vector &)
 
sc_vectoroperator= (const sc_vector &)
 
void clear ()
 
sc_objectobjectCast (void *ptr) const
 

Friends

template<typename , typename >
class sc_vector_assembly
 

Detailed Description

template<typename T>
class sc_core::sc_vector< T >

Definition at line 157 of file sc_vector.hh.

Member Typedef Documentation

◆ const_iterator

template<typename T >
typedef sc_vector_iter<const T> sc_core::sc_vector< T >::const_iterator

Definition at line 445 of file sc_vector.hh.

◆ iterator

template<typename T >
typedef sc_vector_iter<T> sc_core::sc_vector< T >::iterator

Definition at line 444 of file sc_vector.hh.

◆ size_type

template<typename T >
typedef size_t sc_core::sc_vector_base::size_type

Definition at line 166 of file sc_vector.hh.

Constructor & Destructor Documentation

◆ sc_vector() [1/5]

template<typename T >
sc_core::sc_vector< T >::sc_vector ( )
inline

Definition at line 447 of file sc_vector.hh.

◆ sc_vector() [2/5]

template<typename T >
sc_core::sc_vector< T >::sc_vector ( const char *  _name)
inlineexplicit

Definition at line 448 of file sc_vector.hh.

◆ sc_vector() [3/5]

template<typename T >
sc_core::sc_vector< T >::sc_vector ( const char *  _name,
size_type  _size 
)
inline

Definition at line 449 of file sc_vector.hh.

◆ sc_vector() [4/5]

template<typename T >
template<typename Creator >
sc_core::sc_vector< T >::sc_vector ( const char *  _name,
size_type  _size,
Creator  creator 
)
inline

Definition at line 454 of file sc_vector.hh.

◆ ~sc_vector()

template<typename T >
virtual sc_core::sc_vector< T >::~sc_vector ( )
inlinevirtual

Definition at line 459 of file sc_vector.hh.

◆ sc_vector() [5/5]

template<typename T >
sc_core::sc_vector< T >::sc_vector ( const sc_vector< T > &  )
private

Member Function Documentation

◆ at() [1/2]

template<typename T >
T& sc_core::sc_vector< T >::at ( size_type  index)
inline

Definition at line 500 of file sc_vector.hh.

Referenced by gem5::fastmodel::SCGIC::Terminator::Terminator().

◆ at() [2/2]

template<typename T >
const T& sc_core::sc_vector< T >::at ( size_type  index) const
inline

Definition at line 506 of file sc_vector.hh.

◆ begin() [1/2]

template<typename T >
iterator sc_core::sc_vector< T >::begin ( )
inline

◆ begin() [2/2]

template<typename T >
const_iterator sc_core::sc_vector< T >::begin ( ) const
inline

Definition at line 514 of file sc_vector.hh.

◆ bind() [1/4]

template<typename T >
template<typename BindableContainer >
iterator sc_core::sc_vector< T >::bind ( BindableContainer &  c)
inline

Definition at line 528 of file sc_vector.hh.

◆ bind() [2/4]

template<typename T >
template<typename BindableIterator >
iterator sc_core::sc_vector< T >::bind ( BindableIterator  first,
BindableIterator  last 
)
inline

Definition at line 535 of file sc_vector.hh.

◆ bind() [3/4]

template<typename T >
template<typename BindableIterator >
iterator sc_core::sc_vector< T >::bind ( BindableIterator  first,
BindableIterator  last,
iterator  from 
)
inline

Definition at line 542 of file sc_vector.hh.

◆ bind() [4/4]

template<typename T >
template<typename ContainerType , typename ArgumentType >
iterator sc_core::sc_vector< T >::bind ( sc_vector_assembly< ContainerType, ArgumentType >  c)
inline

◆ cbegin()

template<typename T >
const_iterator sc_core::sc_vector< T >::cbegin ( ) const
inline

Definition at line 516 of file sc_vector.hh.

◆ cend()

template<typename T >
const_iterator sc_core::sc_vector< T >::cend ( ) const
inline

Definition at line 517 of file sc_vector.hh.

◆ clear()

template<typename T >
void sc_core::sc_vector< T >::clear ( )
inlineprivate

◆ create_element()

template<typename T >
static T* sc_core::sc_vector< T >::create_element ( const char *  _name,
size_type  index 
)
inlinestatic

Definition at line 467 of file sc_vector.hh.

◆ end() [1/2]

template<typename T >
iterator sc_core::sc_vector< T >::end ( )
inline

◆ end() [2/2]

template<typename T >
const_iterator sc_core::sc_vector< T >::end ( ) const
inline

Definition at line 515 of file sc_vector.hh.

◆ init() [1/2]

template<typename T >
void sc_core::sc_vector< T >::init ( size_type  _size)
inline

◆ init() [2/2]

template<typename T >
template<typename Creator >
void sc_core::sc_vector< T >::init ( size_type  _size,
Creator  creator 
)
inline

Definition at line 474 of file sc_vector.hh.

◆ objectCast()

template<typename T >
sc_object* sc_core::sc_vector< T >::objectCast ( void *  ptr) const
inlineprivate

Definition at line 601 of file sc_vector.hh.

◆ operator()() [1/4]

template<typename T >
template<typename ArgumentContainer >
iterator sc_core::sc_vector< T >::operator() ( ArgumentContainer &  c)
inline

Definition at line 561 of file sc_vector.hh.

◆ operator()() [2/4]

template<typename T >
template<typename ArgumentIterator >
iterator sc_core::sc_vector< T >::operator() ( ArgumentIterator  first,
ArgumentIterator  last 
)
inline

Definition at line 568 of file sc_vector.hh.

◆ operator()() [3/4]

template<typename T >
template<typename ArgumentIterator >
iterator sc_core::sc_vector< T >::operator() ( ArgumentIterator  first,
ArgumentIterator  last,
iterator  from 
)
inline

Definition at line 575 of file sc_vector.hh.

◆ operator()() [4/4]

template<typename T >
template<typename ContainerType , typename ArgumentType >
iterator sc_core::sc_vector< T >::operator() ( sc_vector_assembly< ContainerType, ArgumentType >  c)
inline

Definition at line 554 of file sc_vector.hh.

◆ operator=()

template<typename T >
sc_vector& sc_core::sc_vector< T >::operator= ( const sc_vector< T > &  )
private

◆ operator[]() [1/2]

template<typename T >
T& sc_core::sc_vector< T >::operator[] ( size_type  index)
inline

Definition at line 492 of file sc_vector.hh.

◆ operator[]() [2/2]

template<typename T >
const T& sc_core::sc_vector< T >::operator[] ( size_type  index) const
inline

Definition at line 494 of file sc_vector.hh.

Friends And Related Function Documentation

◆ sc_vector_assembly

template<typename T >
template<typename , typename >
friend class sc_vector_assembly
friend

Definition at line 598 of file sc_vector.hh.


The documentation for this class was generated from the following file:

Generated on Tue Dec 21 2021 11:37:12 for gem5 by doxygen 1.8.17