gem5 v25.0.0.1
Loading...
Searching...
No Matches
sc_core::sc_vector< T > Class Template Reference

#include <sc_vector.hh>

Inheritance diagram for sc_core::sc_vector< T >:
sc_core::sc_vector_base sc_core::sc_object

Public Types

typedef sc_vector_iter< T > iterator
typedef sc_vector_iter< const T > const_iterator
typedef size_t size_type
Public Types inherited from sc_core::sc_vector_base
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)
Public Member Functions inherited from sc_core::sc_vector_base
 sc_vector_base (const char *_name)
virtual const char * kind () const
size_type size () const
const std::vector< sc_object * > & get_elements () const
Public Member Functions inherited from sc_core::sc_object
const char * name () const
const char * basename () const
virtual void print (std::ostream &=std::cout) const
virtual void dump (std::ostream &=std::cout) const
virtual const std::vector< sc_object * > & get_child_objects () const
virtual const std::vector< sc_event * > & get_child_events () const
sc_objectget_parent_object () const
bool add_attribute (sc_attr_base &)
sc_attr_baseget_attribute (const std::string &)
sc_attr_baseremove_attribute (const std::string &)
void remove_all_attributes ()
int num_attributes () const
sc_attr_cltnattr_cltn ()
const sc_attr_cltnattr_cltn () const
sc_simcontextsimcontext () const

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

Additional Inherited Members

Protected Member Functions inherited from sc_core::sc_vector_base
sc_objectimplicitCast (sc_object *p) const
sc_objectimplicitCast (...) const
void checkIndex (size_type index) const
void forceParent () const
void unforceParent () const
void reportEmpty (const char *kind_, bool empty_dest) const
Protected Member Functions inherited from sc_core::sc_object
 sc_object ()
 sc_object (const char *)
 sc_object (const sc_object &)
sc_objectoperator= (const sc_object &)
virtual ~sc_object ()
Protected Attributes inherited from sc_core::sc_vector_base
std::vector< void * > objs
std::vector< sc_object * > elements

Detailed Description

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

Definition at line 438 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 443 of file sc_vector.hh.

◆ iterator

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

Definition at line 442 of file sc_vector.hh.

◆ size_type

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

Definition at line 167 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 445 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 446 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 447 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 452 of file sc_vector.hh.

◆ ~sc_vector()

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

Definition at line 457 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 498 of file sc_vector.hh.

◆ at() [2/2]

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

Definition at line 504 of file sc_vector.hh.

◆ begin() [1/2]

◆ begin() [2/2]

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

Definition at line 512 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 526 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 533 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 540 of file sc_vector.hh.

◆ bind() [4/4]

◆ cbegin()

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

Definition at line 514 of file sc_vector.hh.

◆ cend()

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

Definition at line 515 of file sc_vector.hh.

◆ clear()

◆ create_element()

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

◆ end() [1/2]

◆ end() [2/2]

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

Definition at line 513 of file sc_vector.hh.

◆ init() [1/2]

◆ 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 472 of file sc_vector.hh.

◆ objectCast()

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

Implements sc_core::sc_vector_base.

Definition at line 599 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 559 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 566 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 573 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 552 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 490 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 492 of file sc_vector.hh.

◆ sc_vector_assembly

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

Definition at line 596 of file sc_vector.hh.


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

Generated on Sat Oct 18 2025 08:07:53 for gem5 by doxygen 1.14.0