DUNE PDELab (git)

Dune::PDELab::MultiIndex< T, n > Class Template Reference

A class for representing multi-indices. More...

#include <dune/pdelab/common/multiindex.hh>

Public Types

typedef storage_type::size_type size_type
 An unsigned integral type.
 
typedef storage_type::value_type value_type
 The type of object, T, stored in the vector. More...
 
typedef storage_type::pointer pointer
 Pointer to T.
 
typedef storage_type::const_pointer const_pointer
 Const pointer to T.
 
typedef storage_type::reference reference
 Reference to T.
 
typedef storage_type::const_reference const_reference
 Const reference to T.
 
typedef storage_type::difference_type difference_type
 A signed integral type.
 
typedef storage_type::iterator iterator
 Iterator used to iterate through a vector.
 
typedef storage_type::const_iterator const_iterator
 Const iterator used to iterate through a vector.
 
typedef std::reverse_iterator< iteratorreverse_iterator
 Reverse iterator.
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 Const reverse iterator.
 

Public Member Functions

void pop_front ()
 Erases the first element of the multi-index, O(N) time.
 
bool operator== (const MultiIndex &r) const
 Tests whether two MultiIndices are equal. More...
 
bool operator!= (const MultiIndex &r) const
 Tests whether two MultiIndices are not equal.
 
constexpr bool operator== (const ReservedVector &that) const noexcept
 Compares the values in the vector this with that for equality. More...
 
constexpr bool operator!= (const ReservedVector &that) const noexcept
 Compares the values in the vector this with that for not equality.
 
constexpr bool operator< (const ReservedVector &that) const noexcept
 Lexicographically compares the values in the vector this with that
 
constexpr bool operator> (const ReservedVector &that) const noexcept
 Lexicographically compares the values in the vector this with that
 
constexpr bool operator<= (const ReservedVector &that) const noexcept
 Lexicographically compares the values in the vector this with that
 
constexpr bool operator>= (const ReservedVector &that) const noexcept
 Lexicographically compares the values in the vector this with that
 
constexpr void clear () noexcept
 Erases all elements. More...
 
constexpr void resize (size_type s) noexcept
 Specifies a new size for the vector.
 
constexpr void push_back (const value_type &t) noexcept(std::is_nothrow_copy_assignable_v< value_type >)
 Appends an element to the end of a vector, up to the maximum size n, O(1) time.
 
constexpr void push_back (value_type &&t) noexcept(std::is_nothrow_move_assignable_v< value_type >)
 Appends an element to the end of a vector by moving the value, up to the maximum size n, O(1) time.
 
template<class... Args>
reference emplace_back (Args &&... args) noexcept(std::is_nothrow_constructible_v< value_type, decltype(args)... >)
 Appends an element to the end of a vector by constructing it in place.
 
constexpr void pop_back () noexcept
 Erases the last element of the vector, O(1) time.
 
constexpr iterator begin () noexcept
 Returns a iterator pointing to the beginning of the vector. More...
 
constexpr const_iterator begin () const noexcept
 Returns a const_iterator pointing to the beginning of the vector.
 
constexpr const_iterator cbegin () const noexcept
 Returns a const_iterator pointing to the beginning of the vector.
 
constexpr reverse_iterator rbegin () noexcept
 Returns a const reverse-iterator pointing to the end of the vector.
 
constexpr const_reverse_iterator rbegin () const noexcept
 Returns a const reverse-iterator pointing to the end of the vector.
 
constexpr const_reverse_iterator crbegin () const noexcept
 Returns a const reverse-iterator pointing to the end of the vector.
 
constexpr iterator end () noexcept
 Returns an iterator pointing to the end of the vector.
 
constexpr const_iterator end () const noexcept
 Returns a const_iterator pointing to the end of the vector.
 
constexpr const_iterator cend () const noexcept
 Returns a const_iterator pointing to the end of the vector.
 
constexpr reverse_iterator rend () noexcept
 Returns a const reverse-iterator pointing to the begin of the vector.
 
constexpr const_reverse_iterator rend () const noexcept
 Returns a const reverse-iterator pointing to the begin of the vector.
 
constexpr const_reverse_iterator crend () const noexcept
 Returns a const reverse-iterator pointing to the begin of the vector.
 
constexpr reference at (size_type i)
 Returns reference to the i'th element. More...
 
constexpr const_reference at (size_type i) const
 Returns a const reference to the i'th element.
 
constexpr reference operator[] (size_type i) noexcept
 Returns reference to the i'th element.
 
constexpr const_reference operator[] (size_type i) const noexcept
 Returns a const reference to the i'th element.
 
constexpr reference front () noexcept
 Returns reference to first element of vector.
 
constexpr const_reference front () const noexcept
 Returns const reference to first element of vector.
 
constexpr reference back () noexcept
 Returns reference to last element of vector.
 
constexpr const_reference back () const noexcept
 Returns const reference to last element of vector.
 
constexpr pointer data () noexcept
 Returns pointer to the underlying memory.
 
constexpr const_pointer data () const noexcept
 Returns const pointer to the underlying memory.
 
constexpr void fill (const value_type &value) noexcept(std::is_nothrow_copy_assignable_v< value_type >)
 Fill the container with the value. More...
 
void swap (ReservedVector &other) noexcept(std::is_nothrow_swappable_v< value_type >)
 Swap the content with another vector.
 

Static Public Attributes

static const std::size_t max_depth = n
 The maximum possible depth of the MultiIndex.
 

Friends

std::ostream & operator<< (std::ostream &s, const MultiIndex &mi)
 Writes a pretty representation of the MultiIndex to the given std::ostream.
 
constexpr size_type size () const noexcept
 Returns number of elements in the vector. More...
 
constexpr bool empty () const noexcept
 Returns true if vector has no elements.
 
static constexpr size_type capacity () noexcept
 Returns current capacity (allocated memory) of the vector.
 
static constexpr size_type max_size () noexcept
 Returns the maximum length of the vector.
 

Detailed Description

template<typename T, std::size_t n>
class Dune::PDELab::MultiIndex< T, n >

A class for representing multi-indices.

A MultiIndex represents an ordered tuple of indices.

Template Parameters
Tthe type of the index entries.
nthe maximum number of indices in the MultiIndex.

Member Typedef Documentation

◆ value_type

template<class T , int n>
typedef storage_type::value_type Dune::ReservedVector< T, n >::value_type
inherited

The type of object, T, stored in the vector.

Typedefs

Member Function Documentation

◆ at()

template<class T , int n>
constexpr reference Dune::ReservedVector< T, n >::at ( size_type  i)
inlineconstexprinherited

Returns reference to the i'th element.

Element access

References Dune::ReservedVector< T, n >::size().

◆ begin()

template<class T , int n>
constexpr iterator Dune::ReservedVector< T, n >::begin ( )
inlineconstexprnoexceptinherited

◆ clear()

template<class T , int n>
constexpr void Dune::ReservedVector< T, n >::clear ( )
inlineconstexprnoexceptinherited

Erases all elements.

Modifiers

◆ fill()

template<class T , int n>
constexpr void Dune::ReservedVector< T, n >::fill ( const value_type value)
inlineconstexprnoexceptinherited

Fill the container with the value.

Operations

References Dune::ReservedVector< T, n >::size().

◆ operator==() [1/2]

template<typename T , std::size_t n>
bool Dune::PDELab::MultiIndex< T, n >::operator== ( const MultiIndex< T, n > &  r) const
inline

Tests whether two MultiIndices are equal.

Note
Only MultiIndices of identical max_depth are comparable.

References Dune::ReservedVector< T, n >::begin(), Dune::ReservedVector< T, n >::end(), and Dune::ReservedVector< T, n >::size().

◆ operator==() [2/2]

template<class T , int n>
constexpr bool Dune::ReservedVector< T, n >::operator== ( const ReservedVector< T, n > &  that) const
inlineconstexprnoexceptinherited

Compares the values in the vector this with that for equality.

Comparison

References Dune::ReservedVector< T, n >::size().

◆ size()


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 23, 23:29, 2024)