Loading...
Searching...
No Matches
Public Types | Public Member Functions | Friends | List of all members
bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t > Class Template Reference

The PiercedStorageRange allow to iterate using range-based loops over a PiercedStorage. More...

#include <piercedStorageRange.hpp>

Inheritance diagram for bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >:
Inheritance graph
[legend]
Collaboration diagram for bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >:
Collaboration graph
[legend]

Public Types

typedef const_iterator_t const_iterator
 
typedef id_t id_type
 
typedef iterator_t iterator
 
typedef storage_t storage_type
 
typedef value_t value_type
 

Public Member Functions

 PiercedStorageRange ()
 
 PiercedStorageRange (const iterator &begin, const iterator &end)
 
 PiercedStorageRange (storage_t *storage)
 
 PiercedStorageRange (storage_t *storage, id_t first, id_t last)
 
const_iterator begin () const noexcept
 
template<typename U = value_t, typename U_no_cv = value_no_cv_t, typename std::enable_if< std::is_same< U, U_no_cv >::value, int >::type = 0>
iterator begin () noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
const_iterator end () const noexcept
 
template<typename U = value_t, typename U_no_cv = value_no_cv_t, typename std::enable_if< std::is_same< U, U_no_cv >::value, int >::type = 0>
iterator end () noexcept
 
const PiercedKernelRange< id_t > & getKernelRange () const
 
void initialize (const iterator &begin, const iterator &end)
 
void initialize (const storage_t *storage)
 
void initialize (const storage_t *storage, id_t first, id_t last)
 
template<typename other_value_t , typename other_id_t = long>
bool operator!= (const PiercedStorageRange< other_value_t, other_id_t > &rhs) const
 
template<typename other_value_t , typename other_id_t = long>
bool operator== (const PiercedStorageRange< other_value_t, other_id_t > &rhs) const
 
void swap (PiercedStorageRange &other) noexcept
 

Friends

template<typename PS_value_t , typename PS_id_t >
class PiercedStorage
 
class PiercedStorageRange< value_no_cv_t, id_t, value_no_cv_t >
 

Additional Inherited Members

- Protected Types inherited from bitpit::PiercedKernelRange< id_t >
typedef const_iterator_t const_iterator
 
typedef id_t id_type
 
typedef kernel_t kernel_type
 
- Protected Member Functions inherited from bitpit::PiercedKernelRange< id_t >
 PiercedKernelRange ()
 
 PiercedKernelRange (const const_iterator &begin, const const_iterator &end)
 
 PiercedKernelRange (const kernel_t *kernel)
 
 PiercedKernelRange (const kernel_t *kernel, id_t first, id_t last)
 
const_iterator begin () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
const_iterator end () const noexcept
 
std::size_t evalSize () const
 
void initialize (const const_iterator &begin, const const_iterator &end)
 
void initialize (const kernel_t *kernel)
 
void initialize (const kernel_t *kernel, id_t first, id_t last)
 
template<typename other_id_t = long>
bool operator!= (const PiercedKernelRange< other_id_t > &rhs) const
 
template<typename other_id_t = long>
bool operator== (const PiercedKernelRange< other_id_t > &rhs) const
 
void swap (PiercedKernelRange &other) noexcept
 
- Protected Attributes inherited from bitpit::PiercedKernelRange< id_t >
const_iterator m_cbegin
 
const_iterator m_cend
 

Detailed Description

template<typename value_t, typename id_t = long, typename value_no_cv_t = typename std::remove_cv<value_t>::type>
class bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >

The PiercedStorageRange allow to iterate using range-based loops over a PiercedStorage.

Definition at line 47 of file piercedStorageRange.hpp.

Member Typedef Documentation

◆ const_iterator

template<typename value_t , typename id_t = long, typename value_no_cv_t = typename std::remove_cv<value_t>::type>
typedef const_iterator_t bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::const_iterator

Type of constant iterator

Definition at line 112 of file piercedStorageRange.hpp.

◆ id_type

template<typename value_t , typename id_t = long, typename value_no_cv_t = typename std::remove_cv<value_t>::type>
typedef id_t bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::id_type

Type of ids stored in the container

Definition at line 106 of file piercedStorageRange.hpp.

◆ iterator

template<typename value_t , typename id_t = long, typename value_no_cv_t = typename std::remove_cv<value_t>::type>
typedef iterator_t bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::iterator

Type of iterator

Definition at line 109 of file piercedStorageRange.hpp.

◆ storage_type

template<typename value_t , typename id_t = long, typename value_no_cv_t = typename std::remove_cv<value_t>::type>
typedef storage_t bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::storage_type

Type of container

Definition at line 100 of file piercedStorageRange.hpp.

◆ value_type

template<typename value_t , typename id_t = long, typename value_no_cv_t = typename std::remove_cv<value_t>::type>
typedef value_t bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::value_type

Type of data stored in the container

Definition at line 103 of file piercedStorageRange.hpp.

Constructor & Destructor Documentation

◆ PiercedStorageRange() [1/4]

template<typename value_t , typename id_t , typename value_no_cv_t >
bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::PiercedStorageRange ( )

Constructor.

Definition at line 34 of file piercedStorageRange.tpp.

◆ PiercedStorageRange() [2/4]

template<typename value_t , typename id_t , typename value_no_cv_t >
bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::PiercedStorageRange ( storage_t * storage)

Constructor.

Parameters
storageis the storage that will be associated to the range

Definition at line 46 of file piercedStorageRange.tpp.

◆ PiercedStorageRange() [3/4]

template<typename value_t , typename id_t , typename value_no_cv_t >
bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::PiercedStorageRange ( storage_t * storage,
id_t first,
id_t last )

Constructor.

Parameters
storageis the storage that will be associated to the range
firstis the id of the first element in the range
lastis the id of the last element in the range

Definition at line 59 of file piercedStorageRange.tpp.

◆ PiercedStorageRange() [4/4]

template<typename value_t , typename id_t , typename value_no_cv_t >
bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::PiercedStorageRange ( const iterator & begin,
const iterator & end )

Constructor.

Parameters
beginis the begin of the range
endis the end of the range

Definition at line 71 of file piercedStorageRange.tpp.

Member Function Documentation

◆ begin() [1/2]

template<typename value_t , typename id_t , typename value_no_cv_t >
PiercedStorageRange< value_t, id_t, value_no_cv_t >::const_iterator bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::begin ( ) const
noexcept

Returns a constant iterator pointing to the first element in the range.

Returns
A constant iterator pointing to the first element in the range.

Definition at line 185 of file piercedStorageRange.tpp.

◆ begin() [2/2]

template<typename value_t , typename id_t , typename value_no_cv_t >
template<typename U , typename U_no_cv , typename std::enable_if< std::is_same< U, U_no_cv >::value, int >::type >
PiercedStorageRange< value_t, id_t, value_no_cv_t >::iterator bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::begin ( )
noexcept

Returns an iterator pointing to the first element in the range.

Returns
An iterator pointing to the first element in the range.

Definition at line 159 of file piercedStorageRange.tpp.

◆ cbegin()

template<typename value_t , typename id_t , typename value_no_cv_t >
PiercedStorageRange< value_t, id_t, value_no_cv_t >::const_iterator bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::cbegin ( ) const
noexcept

Returns a constant iterator pointing to the first element in the range.

Returns
A constant iterator pointing to the first element in the range.

Definition at line 209 of file piercedStorageRange.tpp.

◆ cend()

template<typename value_t , typename id_t , typename value_no_cv_t >
PiercedStorageRange< value_t, id_t, value_no_cv_t >::const_iterator bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::cend ( ) const
noexcept

Returns a constant iterator pointing to the past-the-end element in the range.

Returns
A constant iterator pointing to the past-the-end element in the range.

Definition at line 222 of file piercedStorageRange.tpp.

◆ end() [1/2]

template<typename value_t , typename id_t , typename value_no_cv_t >
PiercedStorageRange< value_t, id_t, value_no_cv_t >::const_iterator bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::end ( ) const
noexcept

Returns a constant iterator pointing to the past-the-end element in the range.

Returns
A constant iterator pointing to the past-the-end element in the range.

Definition at line 198 of file piercedStorageRange.tpp.

◆ end() [2/2]

template<typename value_t , typename id_t , typename value_no_cv_t >
template<typename U , typename U_no_cv , typename std::enable_if< std::is_same< U, U_no_cv >::value, int >::type >
PiercedStorageRange< value_t, id_t, value_no_cv_t >::iterator bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::end ( )
noexcept

Returns a constant iterator pointing to the past-the-end element in the range.

Returns
A constant iterator pointing to the past-the-end element in the range.

Definition at line 174 of file piercedStorageRange.tpp.

◆ getKernelRange()

template<typename value_t , typename id_t , typename value_no_cv_t >
const PiercedKernelRange< id_t > & bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::getKernelRange ( ) const

Get a constant reference to the kernel range.

Returns
A constant reference to the kernel range.

Definition at line 146 of file piercedStorageRange.tpp.

◆ initialize() [1/3]

template<typename value_t , typename id_t , typename value_no_cv_t >
void bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::initialize ( const iterator & begin,
const iterator & end )

Initialize the range.

Parameters
beginis the begin of the range
endis the end of the range

Definition at line 113 of file piercedStorageRange.tpp.

◆ initialize() [2/3]

template<typename value_t , typename id_t , typename value_no_cv_t >
void bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::initialize ( const storage_t * storage)

Initialize the range.

Parameters
storageis the storage that will be associated to the range

Definition at line 82 of file piercedStorageRange.tpp.

◆ initialize() [3/3]

template<typename value_t , typename id_t , typename value_no_cv_t >
void bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::initialize ( const storage_t * storage,
id_t first,
id_t last )

Initialize the range.

Parameters
storageis the storage that will be associated to the range
firstis the id of the first element in the range
lastis the id of the last element in the range

Definition at line 98 of file piercedStorageRange.tpp.

◆ operator!=()

template<typename value_t , typename id_t = long, typename value_no_cv_t = typename std::remove_cv<value_t>::type>
template<typename other_value_t , typename other_id_t = long>
bool bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::operator!= ( const PiercedStorageRange< other_value_t, other_id_t > & rhs) const
inline

Two-way comparison.

Definition at line 163 of file piercedStorageRange.hpp.

◆ operator==()

template<typename value_t , typename id_t = long, typename value_no_cv_t = typename std::remove_cv<value_t>::type>
template<typename other_value_t , typename other_id_t = long>
bool bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::operator== ( const PiercedStorageRange< other_value_t, other_id_t > & rhs) const
inline

Two-way comparison.

Definition at line 150 of file piercedStorageRange.hpp.

◆ swap()

template<typename value_t , typename id_t , typename value_no_cv_t >
void bitpit::PiercedStorageRange< value_t, id_t, value_no_cv_t >::swap ( PiercedStorageRange< value_t, id_t, value_no_cv_t > & other)
noexcept

Exchanges the values of the current iterator and the iterator recevied as argument.

Parameters
otherthe iterator to exchange values with

Definition at line 132 of file piercedStorageRange.tpp.

Friends And Related Symbol Documentation

◆ PiercedStorage

template<typename value_t , typename id_t = long, typename value_no_cv_t = typename std::remove_cv<value_t>::type>
template<typename PS_value_t , typename PS_id_t >
friend class PiercedStorage
friend

Definition at line 53 of file piercedStorageRange.hpp.

◆ PiercedStorageRange< value_no_cv_t, id_t, value_no_cv_t >

template<typename value_t , typename id_t = long, typename value_no_cv_t = typename std::remove_cv<value_t>::type>
friend class PiercedStorageRange< value_no_cv_t, id_t, value_no_cv_t >
friend

Definition at line 1 of file piercedStorageRange.hpp.


The documentation for this class was generated from the following files:
--- layout: doxygen_footer ---