Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
galois::FixedSizeBagBase< T, ChunkSize, Concurrent > Class Template Reference

Unordered collection of bounded size. More...

#include <FixedSizeRing.h>

Public Types

typedef T value_type
 
typedef T * pointer
 
typedef const T * const_pointer
 
typedef T & reference
 
typedef const T & const_reference
 
typedef
boost::reverse_iterator
< pointer
iterator
 
typedef
boost::reverse_iterator
< const_pointer
const_iterator
 
typedef pointer reverse_iterator
 
typedef const_pointer const_reverse_iterator
 

Public Member Functions

 FixedSizeBagBase ()
 
template<typename InputIterator >
 FixedSizeBagBase (InputIterator first, InputIterator last)
 
 FixedSizeBagBase (const FixedSizeBagBase &o)=delete
 
FixedSizeBagBaseoperator= (const FixedSizeBagBase &o)=delete
 
 ~FixedSizeBagBase ()
 
unsigned size () const
 
bool empty () const
 
bool full () const
 
void clear ()
 
template<typename U >
pointer push_back (U &&val)
 
template<typename... Args>
pointer emplace_back (Args &&...args)
 
template<typename U , bool C = Concurrent>
auto push_front (U &&val) -> typename std::enable_if<!C, pointer >::type
 
template<bool C = Concurrent>
auto push_front (const value_type &val) -> typename std::enable_if< C, pointer >::type
 
template<typename... Args, bool C = Concurrent>
auto emplace_front (Args &&...args) -> typename std::enable_if<!C, pointer >::type
 emplace_front is not available for concurrent versions because it is not possible for clients to know in advance whether insertion will succeed, which will leave xvalue arguments in indeterminate state. More...
 
reference back ()
 
const_reference back () const
 
galois::optional< value_typeextract_back ()
 
bool pop_back ()
 
reference front ()
 
const_reference front () const
 
template<bool C = Concurrent>
auto extract_front () -> typename std::enable_if<!C, galois::optional< value_type >>::type
 
template<bool C = Concurrent>
auto pop_front () -> typename std::enable_if< C, bool >::type
 returns true if something was popped More...
 
template<bool C = Concurrent>
auto pop_front () -> typename std::enable_if<!C, bool >::type
 returns true if something was popped More...
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 

Detailed Description

template<typename T, unsigned ChunkSize, bool Concurrent>
class galois::FixedSizeBagBase< T, ChunkSize, Concurrent >

Unordered collection of bounded size.

Member Typedef Documentation

template<typename T , unsigned ChunkSize, bool Concurrent>
typedef boost::reverse_iterator<const_pointer> galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::const_iterator
template<typename T , unsigned ChunkSize, bool Concurrent>
typedef const T* galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::const_pointer
template<typename T , unsigned ChunkSize, bool Concurrent>
typedef const T& galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::const_reference
template<typename T , unsigned ChunkSize, bool Concurrent>
typedef const_pointer galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::const_reverse_iterator
template<typename T , unsigned ChunkSize, bool Concurrent>
typedef boost::reverse_iterator<pointer> galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::iterator
template<typename T , unsigned ChunkSize, bool Concurrent>
typedef T* galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::pointer
template<typename T , unsigned ChunkSize, bool Concurrent>
typedef T& galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::reference
template<typename T , unsigned ChunkSize, bool Concurrent>
typedef pointer galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::reverse_iterator
template<typename T , unsigned ChunkSize, bool Concurrent>
typedef T galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::value_type

Constructor & Destructor Documentation

template<typename T , unsigned ChunkSize, bool Concurrent>
galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::FixedSizeBagBase ( )
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
template<typename InputIterator >
galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::FixedSizeBagBase ( InputIterator  first,
InputIterator  last 
)
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::FixedSizeBagBase ( const FixedSizeBagBase< T, ChunkSize, Concurrent > &  o)
delete
template<typename T , unsigned ChunkSize, bool Concurrent>
galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::~FixedSizeBagBase ( )
inline

Member Function Documentation

template<typename T , unsigned ChunkSize, bool Concurrent>
reference galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::back ( )
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
const_reference galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::back ( ) const
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
iterator galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::begin ( )
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
const_iterator galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::begin ( ) const
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
void galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::clear ( )
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
template<typename... Args>
pointer galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::emplace_back ( Args &&...  args)
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
template<typename... Args, bool C = Concurrent>
auto galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::emplace_front ( Args &&...  args) -> typename std::enable_if<!C, pointer>::type
inline

emplace_front is not available for concurrent versions because it is not possible for clients to know in advance whether insertion will succeed, which will leave xvalue arguments in indeterminate state.

template<typename T , unsigned ChunkSize, bool Concurrent>
bool galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::empty ( ) const
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
iterator galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::end ( )
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
const_iterator galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::end ( ) const
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
galois::optional<value_type> galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::extract_back ( )
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
template<bool C = Concurrent>
auto galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::extract_front ( ) -> typename std::enable_if<!C, galois::optional<value_type>>::type
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
reference galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::front ( )
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
const_reference galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::front ( ) const
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
bool galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::full ( ) const
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
FixedSizeBagBase& galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::operator= ( const FixedSizeBagBase< T, ChunkSize, Concurrent > &  o)
delete
template<typename T , unsigned ChunkSize, bool Concurrent>
bool galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::pop_back ( )
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
template<bool C = Concurrent>
auto galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::pop_front ( ) -> typename std::enable_if<C, bool>::type
inline

returns true if something was popped

template<typename T , unsigned ChunkSize, bool Concurrent>
template<bool C = Concurrent>
auto galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::pop_front ( ) -> typename std::enable_if<!C, bool>::type
inline

returns true if something was popped

template<typename T , unsigned ChunkSize, bool Concurrent>
template<typename U >
pointer galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::push_back ( U &&  val)
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
template<typename U , bool C = Concurrent>
auto galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::push_front ( U &&  val) -> typename std::enable_if<!C, pointer>::type
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
template<bool C = Concurrent>
auto galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::push_front ( const value_type val) -> typename std::enable_if<C, pointer>::type
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
reverse_iterator galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::rbegin ( )
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
const_reverse_iterator galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::rbegin ( ) const
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
reverse_iterator galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::rend ( )
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
const_reverse_iterator galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::rend ( ) const
inline
template<typename T , unsigned ChunkSize, bool Concurrent>
unsigned galois::FixedSizeBagBase< T, ChunkSize, Concurrent >::size ( ) const
inline

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