SystemC 3.0.0
Accellera SystemC proof-of-concept library
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Friends | List of all members
sc_core::sc_vector_base Class Referenceabstract

#include <sysc/utils/sc_vector.h>

Inheritance diagram for sc_core::sc_vector_base:
Inheritance graph
[legend]
Collaboration diagram for sc_core::sc_vector_base:
Collaboration graph
[legend]

Public Types

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

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
 

Protected Types

typedef storage_type::iterator iterator
 
typedef storage_type::const_iterator const_iterator
 

Protected Member Functions

 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 ()
 

Static Protected Member Functions

static std::string make_name (const char *prefix, size_type index)
 

Friends

template<typename , typename >
class sc_vector_assembly
 
template<typename , typename >
class sc_vector_iter
 

Detailed Description

Definition at line 76 of file sc_vector.h.

Member Typedef Documentation

◆ const_iterator

typedef storage_type::const_iterator sc_core::sc_vector_base::const_iterator
protected

Definition at line 107 of file sc_vector.h.

◆ difference_type

typedef storage_type::difference_type sc_core::sc_vector_base::difference_type

Definition at line 89 of file sc_vector.h.

◆ handle_type

typedef sc_vector_element* sc_core::sc_vector_base::handle_type

Definition at line 86 of file sc_vector.h.

◆ iterator

typedef storage_type::iterator sc_core::sc_vector_base::iterator
protected

Definition at line 106 of file sc_vector.h.

◆ size_type

typedef storage_type::size_type sc_core::sc_vector_base::size_type

Definition at line 88 of file sc_vector.h.

◆ storage_type

Definition at line 87 of file sc_vector.h.

Constructor & Destructor Documentation

◆ sc_vector_base() [1/2]

sc_core::sc_vector_base::sc_vector_base ( )
protected

◆ sc_vector_base() [2/2]

sc_core::sc_vector_base::sc_vector_base ( const char *  prefix)
inlineprotected

Definition at line 111 of file sc_vector.h.

◆ ~sc_vector_base()

sc_core::sc_vector_base::~sc_vector_base ( )
inlineprotected

Definition at line 120 of file sc_vector.h.

Member Function Documentation

◆ at() [1/2]

void * sc_core::sc_vector_base::at ( size_type  i)
inlineprotected

Definition at line 123 of file sc_vector.h.

◆ at() [2/2]

void const * sc_core::sc_vector_base::at ( size_type  i) const
inlineprotected

Definition at line 126 of file sc_vector.h.

◆ begin() [1/2]

iterator sc_core::sc_vector_base::begin ( )
inlineprotected

Definition at line 144 of file sc_vector.h.

◆ begin() [2/2]

const_iterator sc_core::sc_vector_base::begin ( ) const
inlineprotected

Definition at line 147 of file sc_vector.h.

◆ check_index()

void sc_core::sc_vector_base::check_index ( size_type  i) const
protected

◆ check_init()

bool sc_core::sc_vector_base::check_init ( size_type  n) const
protected

◆ check_locked()

bool sc_core::sc_vector_base::check_locked ( ) const
protected

◆ clear()

void sc_core::sc_vector_base::clear ( )
inlineprotected

Definition at line 132 of file sc_vector.h.

◆ end() [1/2]

iterator sc_core::sc_vector_base::end ( )
inlineprotected

Definition at line 145 of file sc_vector.h.

◆ end() [2/2]

const_iterator sc_core::sc_vector_base::end ( ) const
inlineprotected

Definition at line 148 of file sc_vector.h.

◆ get_elements()

std::vector< sc_object * > const & sc_core::sc_vector_base::get_elements ( ) const

◆ implicit_cast() [1/2]

sc_object * sc_core::sc_vector_base::implicit_cast (   ...) const
protected

◆ implicit_cast() [2/2]

sc_object * sc_core::sc_vector_base::implicit_cast ( sc_object p) const
inlineprotected

Definition at line 152 of file sc_vector.h.

◆ init_lock_cb()

void sc_core::sc_vector_base::init_lock_cb ( )
protected

◆ is_locked()

bool sc_core::sc_vector_base::is_locked ( ) const
inline

Definition at line 100 of file sc_vector.h.

◆ kind()

const char * sc_core::sc_vector_base::kind ( ) const
inlinevirtual

Reimplemented from sc_core::sc_object.

Definition at line 91 of file sc_vector.h.

◆ lock()

void sc_core::sc_vector_base::lock ( )
inline

Definition at line 98 of file sc_vector.h.

◆ make_name()

static std::string sc_core::sc_vector_base::make_name ( const char *  prefix,
size_type  index 
)
staticprotected

◆ object_cast()

virtual sc_object * sc_core::sc_vector_base::object_cast ( void *  ) const
protectedpure virtual

Implemented in sc_core::sc_vector< T >.

◆ push_back()

void sc_core::sc_vector_base::push_back ( void *  item)
inlineprotected

Definition at line 135 of file sc_vector.h.

◆ report_empty_bind()

void sc_core::sc_vector_base::report_empty_bind ( const char *  kind_,
bool  dst_range_ 
) const

◆ reserve()

void sc_core::sc_vector_base::reserve ( size_type  n)
inlineprotected

Definition at line 129 of file sc_vector.h.

◆ size()

size_type sc_core::sc_vector_base::size ( ) const
inline

Definition at line 95 of file sc_vector.h.

◆ stage_callback()

void sc_core::sc_vector_base::stage_callback ( const sc_stage stage)
protectedvirtual

Friends And Related Function Documentation

◆ sc_vector_assembly

template<typename , typename >
friend class sc_vector_assembly
friend

Definition at line 81 of file sc_vector.h.

◆ sc_vector_iter

template<typename , typename >
friend class sc_vector_iter
friend

Definition at line 82 of file sc_vector.h.


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