DASH  0.3.0
dash::ListRef< ElementType, LMemSpace > Class Template Reference

Proxy type referencing a dash::List. More...

#include <ListRef.h>

Public Types

typedef dash::default_index_t index_type
 Type definitions required for DASH list concept: More...
 
typedef ElementType value_type
 
typedef ListRef< ElementType, LMemSpace > view_type
 
typedef LocalListRef< value_type, LMemSpace > local_type
 
typedef std::make_unsigned< index_type >::type size_type
 Public types as required by STL list concept: More...
 
typedef list_type::iterator iterator
 
typedef list_type::const_iterator const_iterator
 
typedef list_type::reverse_iterator reverse_iterator
 
typedef list_type::const_reverse_iterator const_reverse_iterator
 
typedef list_type::reference reference
 
typedef list_type::const_reference const_reference
 
typedef list_type::pointer pointer
 
typedef list_type::const_pointer const_pointer
 
typedef glob_mem_type::local_pointer local_pointer
 
typedef glob_mem_type::const_local_pointer const_local_pointer
 

Public Member Functions

 ListRef (list_type *list, const ViewSpec_t &viewspec)
 
void push_back (const value_type &value)
 Inserts a new element at the end of the list, after its current last element. More...
 
void pop_back ()
 Removes and destroys the last element in the list, reducing the container size by one. More...
 
reference back ()
 Accesses the last element in the list. More...
 
void push_front (const value_type &value)
 Inserts a new element at the beginning of the list, before its current first element. More...
 
void pop_front ()
 Removes and destroys the first element in the list, reducing the container size by one. More...
 
reference front ()
 Accesses the first element in the list. More...
 
Teamteam () const noexcept
 
size_type size () const noexcept
 
size_type local_size () const noexcept
 
size_type local_capacity () const noexcept
 
bool empty () const noexcept
 
void barrier () const
 
const_pointer data () const noexcept
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
local_pointer lbegin () const noexcept
 Pointer to first element in local range. More...
 
local_pointer lend () const noexcept
 Pointer past final element in local range. More...
 

Detailed Description

template<typename ElementType, class LMemSpace>
class dash::ListRef< ElementType, LMemSpace >

Proxy type referencing a dash::List.

Implemented concept:
List Concept

Definition at line 43 of file ListRef.h.

Member Typedef Documentation

◆ index_type

template<typename ElementType , class LMemSpace >
typedef dash::default_index_t dash::ListRef< ElementType, LMemSpace >::index_type

Type definitions required for DASH list concept:

Definition at line 50 of file ListRef.h.

◆ size_type

template<typename ElementType , class LMemSpace >
typedef std::make_unsigned<index_type>::type dash::ListRef< ElementType, LMemSpace >::size_type

Public types as required by STL list concept:

Definition at line 64 of file ListRef.h.

Constructor & Destructor Documentation

◆ ListRef()

template<typename ElementType , class LMemSpace >
dash::ListRef< ElementType, LMemSpace >::ListRef ( list_type list,
const ViewSpec_t viewspec 
)
inline
Parameters
listPointer to list instance referenced by this view.
viewspecThe view's offset and extent within the referenced list.

Definition at line 78 of file ListRef.h.

83  : _list(list),
84  _viewspec(viewspec)
85  { }

Member Function Documentation

◆ back()

template<typename ElementType , class LMemSpace >
reference dash::ListRef< ElementType, LMemSpace >::back ( )
inline

Accesses the last element in the list.

Definition at line 113 of file ListRef.h.

114  {
116  "dash::ListRef.back is not implemented");
117  }

◆ front()

template<typename ElementType , class LMemSpace >
reference dash::ListRef< ElementType, LMemSpace >::front ( )
inline

Accesses the first element in the list.

Definition at line 144 of file ListRef.h.

References dash::ListRef< ElementType, LMemSpace >::lbegin(), and dash::ListRef< ElementType, LMemSpace >::lend().

145  {
147  "dash::ListRef.front is not implemented");
148  }

◆ lbegin()

template<typename ElementType , class LMemSpace >
local_pointer dash::ListRef< ElementType, LMemSpace >::lbegin ( ) const
inlinenoexcept

Pointer to first element in local range.

Referenced by dash::ListRef< ElementType, LMemSpace >::front().

◆ lend()

template<typename ElementType , class LMemSpace >
local_pointer dash::ListRef< ElementType, LMemSpace >::lend ( ) const
inlinenoexcept

Pointer past final element in local range.

Referenced by dash::ListRef< ElementType, LMemSpace >::front().

◆ pop_back()

template<typename ElementType , class LMemSpace >
void dash::ListRef< ElementType, LMemSpace >::pop_back ( )
inline

Removes and destroys the last element in the list, reducing the container size by one.

Definition at line 104 of file ListRef.h.

105  {
107  "dash::ListRef.pop_back is not implemented");
108  }

◆ pop_front()

template<typename ElementType , class LMemSpace >
void dash::ListRef< ElementType, LMemSpace >::pop_front ( )
inline

Removes and destroys the first element in the list, reducing the container size by one.

Definition at line 135 of file ListRef.h.

136  {
138  "dash::ListRef.pop_front is not implemented");
139  }

◆ push_back()

template<typename ElementType , class LMemSpace >
void dash::ListRef< ElementType, LMemSpace >::push_back ( const value_type &  value)
inline

Inserts a new element at the end of the list, after its current last element.

The content of value is copied or moved to the inserted element. Increases the container size by one.

Definition at line 94 of file ListRef.h.

95  {
97  "dash::ListRef.push_back is not implemented");
98  }

◆ push_front()

template<typename ElementType , class LMemSpace >
void dash::ListRef< ElementType, LMemSpace >::push_front ( const value_type &  value)
inline

Inserts a new element at the beginning of the list, before its current first element.

The content of value is copied or moved to the inserted element. Increases the container size by one.

Definition at line 125 of file ListRef.h.

126  {
128  "dash::ListRef.push_front is not implemented");
129  }

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