internal: replaced manual reverse iterator with STL-provided 15/198415/3
authorAdrian Szyndela <adrian.s@samsung.com>
Wed, 23 Jan 2019 10:37:22 +0000 (11:37 +0100)
committerHyotaek Shim <hyotaek.shim@samsung.com>
Fri, 25 Jan 2019 08:06:55 +0000 (08:06 +0000)
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
src/internal/naive_policy_db.hpp

index 177df28..cce03eb 100755 (executable)
@@ -162,39 +162,6 @@ bool NaivePolicyDb::getPolicy(const ItemType item_type,
        return this->getPolicy<PolicyAccess>(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);
 }
index 679b620..cedc27a 100755 (executable)
@@ -48,23 +48,10 @@ namespace ldp_xml_parser
                private:
                        /** Vector with policy items */
                        std::vector<ItemSendReceive const *> m_items;
-                       /** Iterator used to get access to policy items */
-                       class PolicyConstIterator {
-                       private:
-                               /** Vector with policy items */
-                               const std::vector<ItemSendReceive const *>& m_items;
-                               /** Assistant iterator */
-                               int m_index;
-                       public:
-                               /** Public method allowing access to policy items */
-                               PolicyConstIterator(const std::vector<ItemSendReceive const*>& 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