From def7a52269893384fea7c2b445306ef00d87a4b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Wed, 4 May 2022 23:38:58 +0200 Subject: [PATCH] Add BOOST_CONTAINER_FORCEINLINE to trivial functions --- .../container/detail/transform_iterator.hpp | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/include/boost/container/detail/transform_iterator.hpp b/include/boost/container/detail/transform_iterator.hpp index ce81813..5c7bbf2 100644 --- a/include/boost/container/detail/transform_iterator.hpp +++ b/include/boost/container/detail/transform_iterator.hpp @@ -33,13 +33,13 @@ namespace container { template struct operator_arrow_proxy { - operator_arrow_proxy(const PseudoReference &px) + BOOST_CONTAINER_FORCEINLINE operator_arrow_proxy(const PseudoReference &px) : m_value(px) {} typedef PseudoReference element_type; - PseudoReference* operator->() const { return &m_value; } + BOOST_CONTAINER_FORCEINLINE PseudoReference* operator->() const { return &m_value; } mutable PseudoReference m_value; }; @@ -47,13 +47,13 @@ struct operator_arrow_proxy template struct operator_arrow_proxy { - operator_arrow_proxy(T &px) + BOOST_CONTAINER_FORCEINLINE operator_arrow_proxy(T &px) : m_value(px) {} typedef T element_type; - T* operator->() const { return const_cast(&m_value); } + BOOST_CONTAINER_FORCEINLINE T* operator->() const { return const_cast(&m_value); } T &m_value; }; @@ -69,29 +69,29 @@ class transform_iterator , typename UnaryFunction::result_type> { public: - explicit transform_iterator(const Iterator &it, const UnaryFunction &f = UnaryFunction()) + BOOST_CONTAINER_FORCEINLINE explicit transform_iterator(const Iterator &it, const UnaryFunction &f = UnaryFunction()) : UnaryFunction(f), m_it(it) {} - explicit transform_iterator() + BOOST_CONTAINER_FORCEINLINE explicit transform_iterator() : UnaryFunction(), m_it() {} //Constructors - transform_iterator& operator++() + BOOST_CONTAINER_FORCEINLINE transform_iterator& operator++() { increment(); return *this; } - transform_iterator operator++(int) + BOOST_CONTAINER_FORCEINLINE transform_iterator operator++(int) { transform_iterator result (*this); increment(); return result; } - friend bool operator== (const transform_iterator& i, const transform_iterator& i2) + BOOST_CONTAINER_FORCEINLINE friend bool operator== (const transform_iterator& i, const transform_iterator& i2) { return i.equal(i2); } - friend bool operator!= (const transform_iterator& i, const transform_iterator& i2) + BOOST_CONTAINER_FORCEINLINE friend bool operator!= (const transform_iterator& i, const transform_iterator& i2) { return !(i == i2); } /* @@ -104,69 +104,69 @@ class transform_iterator friend bool operator>= (const transform_iterator& i, const transform_iterator& i2) { return !(i < i2); } */ - friend typename Iterator::difference_type operator- (const transform_iterator& i, const transform_iterator& i2) + BOOST_CONTAINER_FORCEINLINE friend typename Iterator::difference_type operator- (const transform_iterator& i, const transform_iterator& i2) { return i2.distance_to(i); } //Arithmetic - transform_iterator& operator+=(typename Iterator::difference_type off) + BOOST_CONTAINER_FORCEINLINE transform_iterator& operator+=(typename Iterator::difference_type off) { this->advance(off); return *this; } - transform_iterator operator+(typename Iterator::difference_type off) const + BOOST_CONTAINER_FORCEINLINE transform_iterator operator+(typename Iterator::difference_type off) const { transform_iterator other(*this); other.advance(off); return other; } - friend transform_iterator operator+(typename Iterator::difference_type off, const transform_iterator& right) + BOOST_CONTAINER_FORCEINLINE friend transform_iterator operator+(typename Iterator::difference_type off, const transform_iterator& right) { return right + off; } - transform_iterator& operator-=(typename Iterator::difference_type off) + BOOST_CONTAINER_FORCEINLINE transform_iterator& operator-=(typename Iterator::difference_type off) { this->advance(-off); return *this; } - transform_iterator operator-(typename Iterator::difference_type off) const + BOOST_CONTAINER_FORCEINLINE transform_iterator operator-(typename Iterator::difference_type off) const { return *this + (-off); } - typename UnaryFunction::result_type operator*() const + BOOST_CONTAINER_FORCEINLINE typename UnaryFunction::result_type operator*() const { return dereference(); } - operator_arrow_proxy + BOOST_CONTAINER_FORCEINLINE operator_arrow_proxy operator->() const { return operator_arrow_proxy(dereference()); } - Iterator & base() + BOOST_CONTAINER_FORCEINLINE Iterator & base() { return m_it; } - const Iterator & base() const + BOOST_CONTAINER_FORCEINLINE const Iterator & base() const { return m_it; } private: Iterator m_it; - void increment() + BOOST_CONTAINER_FORCEINLINE void increment() { ++m_it; } - void decrement() + BOOST_CONTAINER_FORCEINLINE void decrement() { --m_it; } - bool equal(const transform_iterator &other) const + BOOST_CONTAINER_FORCEINLINE bool equal(const transform_iterator &other) const { return m_it == other.m_it; } - bool less(const transform_iterator &other) const + BOOST_CONTAINER_FORCEINLINE bool less(const transform_iterator &other) const { return other.m_it < m_it; } - typename UnaryFunction::result_type dereference() const + BOOST_CONTAINER_FORCEINLINE typename UnaryFunction::result_type dereference() const { return UnaryFunction::operator()(*m_it); } - void advance(typename Iterator::difference_type n) + BOOST_CONTAINER_FORCEINLINE void advance(typename Iterator::difference_type n) { boost::container::iterator_advance(m_it, n); } - typename Iterator::difference_type distance_to(const transform_iterator &other)const + BOOST_CONTAINER_FORCEINLINE typename Iterator::difference_type distance_to(const transform_iterator &other)const { return boost::container::iterator_distance(other.m_it, m_it); } }; template -transform_iterator +BOOST_CONTAINER_FORCEINLINE transform_iterator make_transform_iterator(Iterator it, UnaryFunc fun) { return transform_iterator(it, fun);