SystemC 3.0.0
Accellera SystemC proof-of-concept library
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
sc_core::sc_vector< T > Class Template Reference

#include <sysc/utils/sc_vector.h>

Inheritance diagram for sc_core::sc_vector< T >:
Inheritance graph
[legend]
Collaboration diagram for sc_core::sc_vector< T >:
Collaboration graph
[legend]

Public Types

typedef T element_type
 
typedef sc_vector_iter< element_typeiterator
 
typedef sc_vector_iter< const element_typeconst_iterator
 
- Public Types inherited from sc_core::sc_vector_base
typedef sc_vector_element * handle_type
 
typedef std::vector< handle_typestorage_type
 
typedef storage_type::size_type size_type
 
typedef storage_type::difference_type difference_type
 
- Public Types inherited from sc_core::sc_stage_callback_if
typedef unsigned int stage_cb_mask
 

Public Member Functions

 sc_vector ()
 
 sc_vector (const char *prefix)
 
 sc_vector (const char *prefix, size_type n, sc_vector_init_policy init_pol=SC_VECTOR_LOCK_AFTER_INIT)
 
template<typename Creator >
 sc_vector (const char *prefix, size_type n, Creator creator, sc_vector_init_policy init_pol=SC_VECTOR_LOCK_AFTER_INIT)
 
virtual ~sc_vector ()
 
element_typeoperator[] (size_type i)
 
element_typeat (size_type i)
 
const element_typeoperator[] (size_type i) const
 
const element_typeat (size_type i) const
 
void init (size_type n, sc_vector_init_policy init_pol=SC_VECTOR_LOCK_AFTER_INIT)
 
template<typename Creator >
void init (size_type n, Creator c, sc_vector_init_policy init_pol=SC_VECTOR_LOCK_AFTER_INIT)
 
template<typename... Args>
void emplace_back (Args &&... args)
 
template<typename... Args>
void emplace_back_with_name (Args &&... args)
 
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)
 
template<typename MT >
sc_vector_assembly< T, MT > assemble (MT(T::*member_ptr))
 
- Public Member Functions inherited from sc_core::sc_vector_base
const char * kind () const
 
std::vector< sc_object * > const & get_elements () const
 
size_type size () const
 
void lock ()
 
bool is_locked () const
 
void report_empty_bind (const char *kind_, bool dst_range_) const
 
- Public Member Functions inherited from sc_core::sc_object
const char * name () const
 
const char * basename () const
 
virtual void print (::std::ostream &os=::std::cout) const
 
virtual void dump (::std::ostream &os=::std::cout) const
 
virtual void trace (sc_trace_file *tf) const
 
virtual const char * kind () const
 
sc_simcontextsimcontext () const
 
bool add_attribute (sc_attr_base &)
 
sc_attr_baseget_attribute (const std::string &name_)
 
const sc_attr_baseget_attribute (const std::string &name_) const
 
sc_attr_baseremove_attribute (const std::string &name_)
 
void remove_all_attributes ()
 
int num_attributes () const
 
sc_attr_cltnattr_cltn ()
 
const sc_attr_cltnattr_cltn () const
 
virtual const std::vector< sc_event * > & get_child_events () const
 
virtual const std::vector< sc_object * > & get_child_objects () const
 
sc_objectget_parent () const
 
sc_objectget_parent_object () const
 
virtual ~sc_object ()
 
- Public Member Functions inherited from sc_core::sc_stage_callback_if
virtual ~sc_stage_callback_if ()
 
virtual void stage_callback (const sc_stage &stage)=0
 

Static Public Member Functions

static element_typecreate_element (const char *prefix, size_type index)
 

Protected Member Functions

void clear ()
 
virtual sc_objectobject_cast (void *p) const
 
- Protected Member Functions inherited from sc_core::sc_vector_base
 sc_vector_base ()
 
 sc_vector_base (const char *prefix)
 
 ~sc_vector_base ()
 
void * at (size_type i)
 
void const * at (size_type i) const
 
void reserve (size_type n)
 
void clear ()
 
void push_back (void *item)
 
bool check_locked () const
 
void check_index (size_type i) const
 
bool check_init (size_type n) const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
virtual sc_objectobject_cast (void *) const =0
 
sc_objectimplicit_cast (sc_object *p) const
 
sc_objectimplicit_cast (...) const
 
void init_lock_cb ()
 
void stage_callback (const sc_stage &stage)
 
- Protected Member Functions inherited from sc_core::sc_object
 sc_object ()
 
 sc_object (const char *nm)
 
 sc_object (const sc_object &)
 
sc_objectoperator= (const sc_object &)
 
virtual hierarchy_scope get_hierarchy_scope ()
 

Additional Inherited Members

- Protected Types inherited from sc_core::sc_vector_base
typedef storage_type::iterator iterator
 
typedef storage_type::const_iterator const_iterator
 
- Static Protected Member Functions inherited from sc_core::sc_vector_base
static std::string make_name (const char *prefix, size_type index)
 

Detailed Description

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

Definition at line 373 of file sc_vector.h.

Member Typedef Documentation

◆ const_iterator

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

Definition at line 382 of file sc_vector.h.

◆ element_type

template<typename T >
typedef T sc_core::sc_vector< T >::element_type

Definition at line 380 of file sc_vector.h.

◆ iterator

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

Definition at line 381 of file sc_vector.h.

Constructor & Destructor Documentation

◆ sc_vector() [1/4]

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

Definition at line 384 of file sc_vector.h.

◆ sc_vector() [2/4]

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

Definition at line 386 of file sc_vector.h.

◆ sc_vector() [3/4]

template<typename T >
sc_core::sc_vector< T >::sc_vector ( const char *  prefix,
size_type  n,
sc_vector_init_policy  init_pol = SC_VECTOR_LOCK_AFTER_INIT 
)
inline

Definition at line 390 of file sc_vector.h.

◆ sc_vector() [4/4]

template<typename T >
template<typename Creator >
sc_core::sc_vector< T >::sc_vector ( const char *  prefix,
size_type  n,
Creator  creator,
sc_vector_init_policy  init_pol = SC_VECTOR_LOCK_AFTER_INIT 
)
inline

Definition at line 398 of file sc_vector.h.

◆ ~sc_vector()

template<typename T >
sc_core::sc_vector< T >::~sc_vector
virtual

Definition at line 756 of file sc_vector.h.

Member Function Documentation

◆ assemble()

template<typename T >
template<typename MT >
sc_vector_assembly< T, MT > sc_core::sc_vector< T >::assemble ( MT T::*  member_ptr)
inline

Definition at line 484 of file sc_vector.h.

◆ at() [1/2]

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

Definition at line 410 of file sc_vector.h.

◆ at() [2/2]

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

Definition at line 416 of file sc_vector.h.

◆ begin() [1/2]

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

Definition at line 438 of file sc_vector.h.

◆ begin() [2/2]

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

Definition at line 441 of file sc_vector.h.

◆ bind() [1/4]

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

Definition at line 452 of file sc_vector.h.

◆ bind() [2/4]

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

Definition at line 456 of file sc_vector.h.

◆ 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 460 of file sc_vector.h.

◆ 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

Definition at line 448 of file sc_vector.h.

◆ cbegin()

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

Definition at line 444 of file sc_vector.h.

◆ cend()

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

Definition at line 445 of file sc_vector.h.

◆ clear()

template<typename T >
void sc_core::sc_vector< T >::clear
protected

Definition at line 711 of file sc_vector.h.

◆ create_element()

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

Definition at line 648 of file sc_vector.h.

◆ emplace_back()

template<typename T >
template<typename... Args>
void sc_core::sc_vector< T >::emplace_back ( Args &&...  args)

Definition at line 690 of file sc_vector.h.

◆ emplace_back_with_name()

template<typename T >
template<typename... Args>
void sc_core::sc_vector< T >::emplace_back_with_name ( Args &&...  args)

Definition at line 701 of file sc_vector.h.

◆ end() [1/2]

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

Definition at line 439 of file sc_vector.h.

◆ end() [2/2]

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

Definition at line 442 of file sc_vector.h.

◆ init() [1/2]

template<typename T >
template<typename Creator >
void sc_core::sc_vector< T >::init ( size_type  n,
Creator  c,
sc_vector_init_policy  init_pol = SC_VECTOR_LOCK_AFTER_INIT 
)

Definition at line 656 of file sc_vector.h.

◆ init() [2/2]

template<typename T >
void sc_core::sc_vector< T >::init ( size_type  n,
sc_vector_init_policy  init_pol = SC_VECTOR_LOCK_AFTER_INIT 
)
inline

Definition at line 419 of file sc_vector.h.

◆ object_cast()

template<typename T >
virtual sc_object * sc_core::sc_vector< T >::object_cast ( void *  p) const
inlineprotectedvirtual

Implements sc_core::sc_vector_base.

Definition at line 491 of file sc_vector.h.

◆ operator()() [1/4]

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

Definition at line 469 of file sc_vector.h.

◆ operator()() [2/4]

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

Definition at line 473 of file sc_vector.h.

◆ 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 477 of file sc_vector.h.

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

◆ operator[]() [1/2]

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

Definition at line 407 of file sc_vector.h.

◆ operator[]() [2/2]

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

Definition at line 413 of file sc_vector.h.


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