From aaa665533f504cd1442edd8f7da072af8c66c072 Mon Sep 17 00:00:00 2001 From: Adrian Szyndela Date: Wed, 23 Jan 2019 11:37:22 +0100 Subject: [PATCH] internal: replaced manual reverse iterator with STL-provided PolicyConstIterator's purpose is identical to vector::const_reverse_iterator from vector. This removes the unnecessary code, replacing it with the usage of vector::const_reverse_iterator. Change-Id: Ib3063eb6eb2a4fd23f8da8a2cce75c808abb3c00 --- src/internal/naive_policy_db.cpp | 33 --------------------------------- src/internal/naive_policy_db.hpp | 19 +++---------------- 2 files changed, 3 insertions(+), 49 deletions(-) diff --git a/src/internal/naive_policy_db.cpp b/src/internal/naive_policy_db.cpp index 177df28..cce03eb 100755 --- a/src/internal/naive_policy_db.cpp +++ b/src/internal/naive_policy_db.cpp @@ -162,39 +162,6 @@ bool NaivePolicyDb::getPolicy(const ItemType item_type, return this->getPolicy(m_access_set, policy_type, policy_type_value, policy); } - -NaivePolicyDb::PolicySR::PolicyConstIterator::PolicyConstIterator(const std::vector< ItemSendReceive const *> & items, int position) - : m_items(items), m_index(position) { -} - -ItemSendReceive const *const& NaivePolicyDb::PolicySR::PolicyConstIterator::operator*() const { - return m_items[m_index]; -} - - -typename NaivePolicyDb::PolicySR::PolicyConstIterator& NaivePolicyDb::PolicySR::PolicyConstIterator::operator++() { - if (m_index >= 0) - --m_index; - return *this; -} - - -bool NaivePolicyDb::PolicySR::PolicyConstIterator::operator!=(const PolicyConstIterator& it) const { - return m_index != it.m_index; -} - - -NaivePolicyDb::PolicySR::PolicyConstIterator NaivePolicyDb::PolicySR::begin() const { - int s = m_items.size() - 1; - return NaivePolicyDb::PolicySR::PolicyConstIterator(m_items, s); -} - - -NaivePolicyDb::PolicySR::PolicyConstIterator NaivePolicyDb::PolicySR::end() const { - return NaivePolicyDb::PolicySR::PolicyConstIterator(m_items, -1); -} - - void NaivePolicyDb::PolicySR::addItem(ItemSendReceive* item) { m_items.push_back(item); } diff --git a/src/internal/naive_policy_db.hpp b/src/internal/naive_policy_db.hpp index 679b620..cedc27a 100755 --- a/src/internal/naive_policy_db.hpp +++ b/src/internal/naive_policy_db.hpp @@ -48,23 +48,10 @@ namespace ldp_xml_parser private: /** Vector with policy items */ std::vector m_items; - /** Iterator used to get access to policy items */ - class PolicyConstIterator { - private: - /** Vector with policy items */ - const std::vector& m_items; - /** Assistant iterator */ - int m_index; - public: - /** Public method allowing access to policy items */ - PolicyConstIterator(const std::vector& items, int position); - ItemSendReceive const *const& operator*() const; - PolicyConstIterator& operator++(); - bool operator!=(const PolicyConstIterator& it) const; - }; + typedef decltype(m_items)::const_reverse_iterator PolicyConstIterator; public: - PolicyConstIterator begin() const; - PolicyConstIterator end() const; + PolicyConstIterator begin() const { return m_items.rbegin(); } + PolicyConstIterator end() const { return m_items.rend(); } /** Adds given item to policy. * \param[in] item Item to add to policy -- 2.7.4