16#ifndef dealii_hp_collection_h
17#define dealii_hp_collection_h
45 const std::size_t
index)
70 "You are trying to compare iterators into different hp::Collection objects."));
83 "You are trying to compare iterators into different hp::Collection objects."));
94 return *(*data)[
index];
133 "You can't decrement an iterator that is already at the beginning of the range."));
154 return static_cast<std::ptrdiff_t
>(
index) -
155 static_cast<ptrdiff_t
>(other.
index);
162 const std::vector<std::shared_ptr<const T>> *
data;
179 template <
typename T>
236 std::vector<std::shared_ptr<const T>>
entries;
244 template <
typename T>
253 template <
typename T>
257 entries.push_back(new_entry);
262 template <
typename T>
266 return entries.size();
271 template <
typename T>
276 return *entries[index];
281 template <
typename T>
290 template <
typename T>
std::ptrdiff_t operator-(const CollectionIterator< T > &other) const
CollectionIterator< T > operator+(const std::size_t &offset) const
const T & operator*() const
CollectionIterator< T > & operator++()
CollectionIterator< T > & operator+=(const std::size_t offset)
CollectionIterator(const std::vector< std::shared_ptr< const T > > &data, const std::size_t index)
CollectionIterator(const CollectionIterator< T > &other)=default
CollectionIterator< T > & operator=(const CollectionIterator< T > &other)=default
bool operator==(const CollectionIterator< T > &other) const
bool operator!=(const CollectionIterator< T > &other) const
CollectionIterator< T > & operator--()
const std::vector< std::shared_ptr< const T > > * data
void push_back(const std::shared_ptr< const T > &new_entry)
std::vector< std::shared_ptr< const T > > entries
CollectionIterator< T > begin() const
unsigned int size() const
std::size_t memory_consumption() const
CollectionIterator< T > end() const
const T & operator[](const unsigned int index) const
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
#define AssertIndexRange(index, range)
static ::ExceptionBase & ExcMessage(std::string arg1)
std::enable_if< std::is_fundamental< T >::value, std::size_t >::type memory_consumption(const T &t)
std::ptrdiff_t difference_type
random_access_iterator_tag iterator_category