gem5  v22.0.0.1
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
sc_core::sc_vector_assembly< T, MT > Class Template Reference

#include <sc_vector.hh>

Public Types

typedef size_t size_type
 
typedef sc_vector_iter< T, sc_member_access< T, MT > > iterator
 
typedef sc_vector_iter< const T, sc_member_access< const T, const MT > > const_iterator
 
typedef MTT::* MemberType
 

Public Member Functions

 sc_vector_assembly (const sc_vector_assembly &other)
 
iterator begin ()
 
iterator end ()
 
const_iterator cbegin () const
 
const_iterator cend () const
 
const_iterator begin () const
 
const_iterator end () const
 
size_type size () const
 
std::vector< sc_object * > get_elements () const
 
iterator::reference operator[] (size_type i)
 
const_iterator::reference operator[] (size_type i) const
 
iterator::reference at (size_type i)
 
const_iterator::reference at (size_type i) 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 BindableIterator >
iterator bind (BindableIterator first, BindableIterator last, typename sc_vector< T >::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 ArgumentIterator >
iterator operator() (ArgumentIterator first, ArgumentIterator last, typename sc_vector< T >::iterator from)
 

Private Member Functions

 sc_vector_assembly (sc_vector< T > &v, MemberType ptr)
 

Private Attributes

sc_vector< T > * vec_
 
MemberType ptr_
 

Friends

sc_vector_assembly< T, MT > sc_assemble_vector (sc_vector< T > &, MT(T::*))
 

Detailed Description

template<typename T, typename MT>
class sc_core::sc_vector_assembly< T, MT >

Definition at line 154 of file sc_vector.hh.

Member Typedef Documentation

◆ const_iterator

template<typename T , typename MT >
typedef sc_vector_iter< const T, sc_member_access<const T, const MT> > sc_core::sc_vector_assembly< T, MT >::const_iterator

Definition at line 617 of file sc_vector.hh.

◆ iterator

template<typename T , typename MT >
typedef sc_vector_iter<T, sc_member_access<T, MT> > sc_core::sc_vector_assembly< T, MT >::iterator

Definition at line 615 of file sc_vector.hh.

◆ MemberType

template<typename T , typename MT >
typedef MTT::* sc_core::sc_vector_assembly< T, MT >::MemberType

Definition at line 618 of file sc_vector.hh.

◆ size_type

template<typename T , typename MT >
typedef size_t sc_core::sc_vector_assembly< T, MT >::size_type

Definition at line 614 of file sc_vector.hh.

Constructor & Destructor Documentation

◆ sc_vector_assembly() [1/2]

template<typename T , typename MT >
sc_core::sc_vector_assembly< T, MT >::sc_vector_assembly ( const sc_vector_assembly< T, MT > &  other)
inline

Definition at line 620 of file sc_vector.hh.

◆ sc_vector_assembly() [2/2]

template<typename T , typename MT >
sc_core::sc_vector_assembly< T, MT >::sc_vector_assembly ( sc_vector< T > &  v,
MemberType  ptr 
)
inlineprivate

Definition at line 769 of file sc_vector.hh.

Member Function Documentation

◆ at() [1/2]

template<typename T , typename MT >
iterator::reference sc_core::sc_vector_assembly< T, MT >::at ( size_type  i)
inline

◆ at() [2/2]

template<typename T , typename MT >
const_iterator::reference sc_core::sc_vector_assembly< T, MT >::at ( size_type  i) const
inline

◆ begin() [1/2]

template<typename T , typename MT >
iterator sc_core::sc_vector_assembly< T, MT >::begin ( )
inline

◆ begin() [2/2]

template<typename T , typename MT >
const_iterator sc_core::sc_vector_assembly< T, MT >::begin ( ) const
inline

◆ bind() [1/5]

template<typename T , typename MT >
template<typename BindableContainer >
iterator sc_core::sc_vector_assembly< T, MT >::bind ( BindableContainer &  c)
inline

Definition at line 695 of file sc_vector.hh.

References sc_core::sc_vector_assembly< T, MT >::bind(), and gem5::VegaISA::c.

◆ bind() [2/5]

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

◆ bind() [3/5]

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

◆ bind() [4/5]

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

◆ bind() [5/5]

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

Definition at line 688 of file sc_vector.hh.

References gem5::VegaISA::c.

Referenced by sc_core::sc_vector_assembly< T, MT >::bind().

◆ cbegin()

template<typename T , typename MT >
const_iterator sc_core::sc_vector_assembly< T, MT >::cbegin ( ) const
inline

◆ cend()

template<typename T , typename MT >
const_iterator sc_core::sc_vector_assembly< T, MT >::cend ( ) const
inline

◆ end() [1/2]

template<typename T , typename MT >
iterator sc_core::sc_vector_assembly< T, MT >::end ( )
inline

◆ end() [2/2]

template<typename T , typename MT >
const_iterator sc_core::sc_vector_assembly< T, MT >::end ( ) const
inline

◆ get_elements()

template<typename T , typename MT >
std::vector<sc_object *> sc_core::sc_vector_assembly< T, MT >::get_elements ( ) const
inline

◆ operator()() [1/5]

template<typename T , typename MT >
template<typename ArgumentContainer >
iterator sc_core::sc_vector_assembly< T, MT >::operator() ( ArgumentContainer &  c)
inline

Definition at line 736 of file sc_vector.hh.

References gem5::VegaISA::c.

◆ operator()() [2/5]

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

Definition at line 743 of file sc_vector.hh.

References sc_core::sc_vector_assembly< T, MT >::begin().

◆ operator()() [3/5]

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

◆ operator()() [4/5]

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

◆ operator()() [5/5]

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

Definition at line 729 of file sc_vector.hh.

References gem5::VegaISA::c.

◆ operator[]() [1/2]

template<typename T , typename MT >
iterator::reference sc_core::sc_vector_assembly< T, MT >::operator[] ( size_type  i)
inline

◆ operator[]() [2/2]

template<typename T , typename MT >
const_iterator::reference sc_core::sc_vector_assembly< T, MT >::operator[] ( size_type  i) const
inline

◆ size()

template<typename T , typename MT >
size_type sc_core::sc_vector_assembly< T, MT >::size ( ) const
inline

Friends And Related Function Documentation

◆ sc_assemble_vector

template<typename T , typename MT >
sc_vector_assembly<T, MT> sc_assemble_vector ( sc_vector< T > &  ,
MT(T::*)   
)
friend

Member Data Documentation

◆ ptr_

template<typename T , typename MT >
MemberType sc_core::sc_vector_assembly< T, MT >::ptr_
private

◆ vec_

template<typename T , typename MT >
sc_vector<T>* sc_core::sc_vector_assembly< T, MT >::vec_
private

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

Generated on Sat Jun 18 2022 08:15:24 for gem5 by doxygen 1.8.17