Loading...
Searching...
No Matches
fourdst::composition::detail::CompositionIterator< IsConst > Class Template Reference

`#include <composition_abstract_iterator.h>`

Collaboration diagram for fourdst::composition::detail::CompositionIterator< IsConst >:
[legend]

## Classes

struct | ArrowProxy

## Public Types

using | iterator_category = std::random_access_iterator_tag
using | difference_type = std::ptrdiff_t
using | value_type = std::pair<const atomic::Species, double>
using | SpeciesRef = const atomic::Species&
using | AbundRef = std::conditional_t<IsConst, const double&, double&>
using | reference = std::pair<SpeciesRef, AbundRef>
using | pointer = ArrowProxy

## Public Member Functions

| CompositionIterator ()=default
| CompositionIterator (SpecIt sIt, AbunIt aIt)
template<bool WasConst, typename = std::enable_if_t<IsConst && !WasConst>>
| CompositionIterator (const CompositionIterator< WasConst > &other)
SpecIt | getSpeciesIt () const
AbunIt | getAbundanceIt () const
reference | operator* () const
ArrowProxy | operator-> () const
reference | operator[] (difference_type n) const
CompositionIterator & | operator++ ()
CompositionIterator | operator++ (int)
CompositionIterator & | operator-- ()
CompositionIterator | operator-- (int)
CompositionIterator & | operator+= (difference_type n)
CompositionIterator & | operator-= (difference_type n)
template<bool R>
bool | operator== (const CompositionIterator< R > &other) const
template<bool R>
bool | operator!= (const CompositionIterator< R > &other) const
template<bool R>
bool | operator< (const CompositionIterator< R > &other) const
template<bool R>
bool | operator> (const CompositionIterator< R > &other) const
template<bool R>
bool | operator<= (const CompositionIterator< R > &other) const
template<bool R>
bool | operator>= (const CompositionIterator< R > &other) const

## Private Types

using | SpecIt = std::vector<atomic::Species>::const_iterator
using | AbunIt

## Private Attributes

SpecIt | m_sIt
AbunIt | m_aIt

## Friends

CompositionIterator | operator+ (CompositionIterator it, difference_type n)
CompositionIterator | operator+ (difference_type n, CompositionIterator it)
CompositionIterator | operator- (CompositionIterator it, difference_type n)
difference_type | operator- (const CompositionIterator &lhs, const CompositionIterator &rhs)

## Detailed Description

template<bool IsConst>
class fourdst::composition::detail::CompositionIterator< IsConst >

Definition at line 13 of file composition_abstract_iterator.h.

## Member Typedef Documentation

## AbundRef

template<bool IsConst>

using fourdst::composition::detail::CompositionIterator< IsConst >::AbundRef = std::conditional_t<IsConst, const double&, double&>

Definition at line 23 of file composition_abstract_iterator.h.

## AbunIt

template<bool IsConst>

using fourdst::composition::detail::CompositionIterator< IsConst >::AbunIt

private

Initial value:
std::conditional_t<IsConst,
std::vector<double>::const_iterator,
std::vector<double>::iterator>

Definition at line 35 of file composition_abstract_iterator.h.

## difference_type

template<bool IsConst>

using fourdst::composition::detail::CompositionIterator< IsConst >::difference_type = std::ptrdiff_t

Definition at line 16 of file composition_abstract_iterator.h.

## iterator_category

template<bool IsConst>

using fourdst::composition::detail::CompositionIterator< IsConst >::iterator_category = std::random_access_iterator_tag

Definition at line 15 of file composition_abstract_iterator.h.

## pointer

template<bool IsConst>

using fourdst::composition::detail::CompositionIterator< IsConst >::pointer = ArrowProxy

Definition at line 31 of file composition_abstract_iterator.h.

## reference

template<bool IsConst>

using fourdst::composition::detail::CompositionIterator< IsConst >::reference = std::pair<SpeciesRef, AbundRef>

Definition at line 24 of file composition_abstract_iterator.h.

## SpeciesRef

template<bool IsConst>

using fourdst::composition::detail::CompositionIterator< IsConst >::SpeciesRef = const atomic::Species&

Definition at line 22 of file composition_abstract_iterator.h.

## SpecIt

template<bool IsConst>

using fourdst::composition::detail::CompositionIterator< IsConst >::SpecIt = std::vector<atomic::Species>::const_iterator

private

Definition at line 34 of file composition_abstract_iterator.h.

## value_type

template<bool IsConst>

using fourdst::composition::detail::CompositionIterator< IsConst >::value_type = std::pair<const atomic::Species, double>

Definition at line 18 of file composition_abstract_iterator.h.

## Constructor & Destructor Documentation

## CompositionIterator() [1/3]

template<bool IsConst>

fourdst::composition::detail::CompositionIterator< IsConst >::CompositionIterator | ( |  | ) |

default

## CompositionIterator() [2/3]

template<bool IsConst>

fourdst::composition::detail::CompositionIterator< IsConst >::CompositionIterator | ( | SpecIt | sIt,
|  | AbunIt | aIt )

inline

Definition at line 44 of file composition_abstract_iterator.h.

## CompositionIterator() [3/3]

template<bool IsConst>
template<bool WasConst, typename = std::enable_if_t<IsConst && !WasConst>>

fourdst::composition::detail::CompositionIterator< IsConst >::CompositionIterator | ( | const CompositionIterator< WasConst > & | other | ) |

inline

Definition at line 47 of file composition_abstract_iterator.h.

## Member Function Documentation

## getAbundanceIt()

template<bool IsConst>

AbunIt fourdst::composition::detail::CompositionIterator< IsConst >::getAbundanceIt | ( |  | ) | const

inlinenodiscard

Definition at line 51 of file composition_abstract_iterator.h.

## getSpeciesIt()

template<bool IsConst>

SpecIt fourdst::composition::detail::CompositionIterator< IsConst >::getSpeciesIt | ( |  | ) | const

inlinenodiscard

Definition at line 50 of file composition_abstract_iterator.h.

## operator!=()

template<bool IsConst>
template<bool R>

bool fourdst::composition::detail::CompositionIterator< IsConst >::operator!= | ( | const CompositionIterator< R > & | other | ) | const

inline

Definition at line 91 of file composition_abstract_iterator.h.

## operator*()

template<bool IsConst>

reference fourdst::composition::detail::CompositionIterator< IsConst >::operator* | ( |  | ) | const

inline

Definition at line 53 of file composition_abstract_iterator.h.

## operator++() [1/2]

template<bool IsConst>

CompositionIterator & fourdst::composition::detail::CompositionIterator< IsConst >::operator++ | ( |  | ) |

inline

Definition at line 66 of file composition_abstract_iterator.h.

## operator++() [2/2]

template<bool IsConst>

CompositionIterator fourdst::composition::detail::CompositionIterator< IsConst >::operator++ | ( | int |  | ) |

inline

Definition at line 67 of file composition_abstract_iterator.h.

## operator+=()

template<bool IsConst>

CompositionIterator & fourdst::composition::detail::CompositionIterator< IsConst >::operator+= | ( | difference_type | n | ) |

inline

Definition at line 72 of file composition_abstract_iterator.h.

## operator--() [1/2]

template<bool IsConst>

CompositionIterator & fourdst::composition::detail::CompositionIterator< IsConst >::operator-- | ( |  | ) |

inline

Definition at line 69 of file composition_abstract_iterator.h.

## operator--() [2/2]

template<bool IsConst>

CompositionIterator fourdst::composition::detail::CompositionIterator< IsConst >::operator-- | ( | int |  | ) |

inline

Definition at line 70 of file composition_abstract_iterator.h.

## operator-=()

template<bool IsConst>

CompositionIterator & fourdst::composition::detail::CompositionIterator< IsConst >::operator-= | ( | difference_type | n | ) |

inline

Definition at line 73 of file composition_abstract_iterator.h.

## operator->()

template<bool IsConst>

ArrowProxy fourdst::composition::detail::CompositionIterator< IsConst >::operator-> | ( |  | ) | const

inline

Definition at line 57 of file composition_abstract_iterator.h.

## operator<()

template<bool IsConst>
template<bool R>

bool fourdst::composition::detail::CompositionIterator< IsConst >::operator< | ( | const CompositionIterator< R > & | other | ) | const

inline

Definition at line 94 of file composition_abstract_iterator.h.

## operator<=()

template<bool IsConst>
template<bool R>

bool fourdst::composition::detail::CompositionIterator< IsConst >::operator<= | ( | const CompositionIterator< R > & | other | ) | const

inline

Definition at line 100 of file composition_abstract_iterator.h.

## operator==()

template<bool IsConst>
template<bool R>

bool fourdst::composition::detail::CompositionIterator< IsConst >::operator== | ( | const CompositionIterator< R > & | other | ) | const

inline

Definition at line 88 of file composition_abstract_iterator.h.

## operator>()

template<bool IsConst>
template<bool R>

bool fourdst::composition::detail::CompositionIterator< IsConst >::operator> | ( | const CompositionIterator< R > & | other | ) | const

inline

Definition at line 97 of file composition_abstract_iterator.h.

## operator>=()

template<bool IsConst>
template<bool R>

bool fourdst::composition::detail::CompositionIterator< IsConst >::operator>= | ( | const CompositionIterator< R > & | other | ) | const

inline

Definition at line 103 of file composition_abstract_iterator.h.

## operator[]()

template<bool IsConst>

reference fourdst::composition::detail::CompositionIterator< IsConst >::operator[] | ( | difference_type | n | ) | const

inline

Definition at line 61 of file composition_abstract_iterator.h.

## Friends And Related Symbol Documentation

## operator+ [1/2]

template<bool IsConst>

CompositionIterator operator+ | ( | CompositionIterator< IsConst > | it,
|  | difference_type | n )

friend

Definition at line 76 of file composition_abstract_iterator.h.

## operator+ [2/2]

template<bool IsConst>

CompositionIterator operator+ | ( | difference_type | n,
|  | CompositionIterator< IsConst > | it )

friend

Definition at line 79 of file composition_abstract_iterator.h.

## operator- [1/2]

template<bool IsConst>

CompositionIterator operator- | ( | CompositionIterator< IsConst > | it,
|  | difference_type | n )

friend

Definition at line 80 of file composition_abstract_iterator.h.

## operator- [2/2]

template<bool IsConst>

difference_type operator- | ( | const CompositionIterator< IsConst > & | lhs,
|  | const CompositionIterator< IsConst > & | rhs )

friend

Definition at line 83 of file composition_abstract_iterator.h.

## Member Data Documentation

## m_aIt

template<bool IsConst>

AbunIt fourdst::composition::detail::CompositionIterator< IsConst >::m_aIt

private

Definition at line 40 of file composition_abstract_iterator.h.

## m_sIt

template<bool IsConst>

SpecIt fourdst::composition::detail::CompositionIterator< IsConst >::m_sIt

private

Definition at line 39 of file composition_abstract_iterator.h.

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

- src/composition/include/fourdst/composition/iterators/composition_abstract_iterator.h