gem5 v24.0.0.0
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.

References sc_core::sc_vector< T >::init().

◆ 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.

References sc_core::sc_vector< T >::init().

◆ ~sc_vector()

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

Definition at line 457 of file sc_vector.hh.

References sc_core::sc_vector< T >::clear().

◆ 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

◆ at() [2/2]

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

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

References sc_core::sc_vector_base::objs.

◆ 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.

References sc_core::sc_vector< T >::bind(), and c.

◆ bind() [2/4]

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

◆ bind() [3/4]

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

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

References sc_core::sc_vector_base::objs.

◆ cend()

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

Definition at line 515 of file sc_vector.hh.

References sc_core::sc_vector_base::objs.

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

References sc_core::sc_vector_base::objs.

◆ 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

◆ 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.

References sc_core::sc_vector_base::implicitCast().

◆ 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.

References c.

◆ 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.

References sc_core::sc_vector< T >::begin().

◆ operator()() [3/4]

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

◆ 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.

References c.

◆ 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.

References sc_core::sc_vector_base::objs.

◆ 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.

References sc_core::sc_vector_base::objs.

Friends And Related Symbol Documentation

◆ 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 Tue Jun 18 2024 16:24:55 for gem5 by doxygen 1.11.0