# tsl::detail_ordered_hash::ordered_hash

# template < bool IsConst >

# class ordered_iterator

Library:
Package:
Header: Poco/ordered_hash.h

## Member Summary

Member Functions: key, operator *, operator +, operator ++, operator +=, operator -, operator --, operator -=, operator =, operator [], operator->, value

## Types Aliases

### difference_type

using difference_type = typename iterator::difference_type;

### iterator_category

using iterator_category = std::random_access_iterator_tag;

### pointer

using pointer = value_type *;

### reference

using reference = value_type &;

### value_type

using value_type = const typename ordered_hash::value_type;

## Constructors

### ordered_iterator

ordered_iterator() noexcept;

### ordered_iterator

template < bool TIsConst = IsConst, typename std::enable_if < TIsConst >::type * = nullptr > ordered_iterator(
const ordered_iterator < ! TIsConst > & other
) noexcept;

### ordered_iterator

ordered_iterator(
const ordered_iterator & other
) = default;

### ordered_iterator

ordered_iterator(
ordered_iterator && other
) = default;

## Member Functions

### key

const typename ordered_hash::key_type & key() const;

### operator *

reference operator * () const;

### operator +

ordered_iterator operator + (
difference_type n
);

### operator ++

ordered_iterator & operator ++ ();

### operator ++

ordered_iterator operator ++ (
int
);

### operator +=

ordered_iterator & operator += (
difference_type n
);

### operator -

ordered_iterator operator - (
difference_type n
);

### operator --

ordered_iterator & operator -- ();

### operator --

ordered_iterator operator -- (
int
);

### operator -=

ordered_iterator & operator -= (
difference_type n
);

### operator =

ordered_iterator & operator = (
const ordered_iterator & other
) = default;

### operator =

ordered_iterator & operator = (
ordered_iterator && other
) = default;

### operator []

reference operator[] (
difference_type n
) const;

### operator->

pointer operator-> () const;

### value

template < class U = ValueSelect, typename std::enable_if < has_mapped_type < U >::value && IsConst >::type * = nullptr > const typename U::value_type & value() const;

### value

template < class U = ValueSelect, typename std::enable_if < has_mapped_type < U >::value && ! IsConst >::type * = nullptr > typename U::value_type & value();