mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-07-12 14:54:10 +00:00
sprout::detail::distance のADL追加
sprout/numeric/fixed/partial_sum.hpp 修正 sprout/numeric/fixed/adjacent_difference.hpp 修正
This commit is contained in:
parent
bbe932a452
commit
aa96f9ce73
13 changed files with 496 additions and 296 deletions
|
@ -84,16 +84,16 @@ namespace sprout {
|
|||
friend SPROUT_CONSTEXPR bool operator!=(value_iterator const& lhs, value_iterator const& rhs) {
|
||||
return !(lhs == rhs);
|
||||
}
|
||||
friend bool operator<(value_iterator const& lhs, value_iterator const& rhs) {
|
||||
friend SPROUT_CONSTEXPR bool operator<(value_iterator const& lhs, value_iterator const& rhs) {
|
||||
return lhs.count_ > rhs.count_;
|
||||
}
|
||||
friend bool operator>(value_iterator const& lhs, value_iterator const& rhs) {
|
||||
friend SPROUT_CONSTEXPR bool operator>(value_iterator const& lhs, value_iterator const& rhs) {
|
||||
return rhs < lhs;
|
||||
}
|
||||
friend bool operator<=(value_iterator const& lhs, value_iterator const& rhs) {
|
||||
friend SPROUT_CONSTEXPR bool operator<=(value_iterator const& lhs, value_iterator const& rhs) {
|
||||
return !(rhs < lhs);
|
||||
}
|
||||
friend bool operator>=(value_iterator const& lhs, value_iterator const& rhs) {
|
||||
friend SPROUT_CONSTEXPR bool operator>=(value_iterator const& lhs, value_iterator const& rhs) {
|
||||
return !(lhs < rhs);
|
||||
}
|
||||
SPROUT_CONSTEXPR reference operator*() const {
|
||||
|
@ -147,7 +147,7 @@ namespace sprout {
|
|||
SPROUT_CONSTEXPR reference operator[](difference_type n) const {
|
||||
return holder_.get();
|
||||
}
|
||||
friend difference_type operator-(value_iterator const& lhs, value_iterator const& rhs) {
|
||||
friend SPROUT_CONSTEXPR difference_type operator-(value_iterator const& lhs, value_iterator const& rhs) {
|
||||
return rhs.count_ - lhs.count_;
|
||||
}
|
||||
friend SPROUT_CONSTEXPR value_iterator operator+(difference_type n, value_iterator const& it) {
|
||||
|
@ -202,4 +202,22 @@ namespace sprout {
|
|||
}
|
||||
} // namespace sprout
|
||||
|
||||
|
||||
|
||||
#include <sprout/detail/iterator.hpp>
|
||||
|
||||
namespace sprout {
|
||||
//
|
||||
// distance
|
||||
//
|
||||
template<typename T>
|
||||
SPROUT_CONSTEXPR typename std::iterator_traits<sprout::value_iterator<T> >::difference_type distance(
|
||||
sprout::value_iterator<T> first,
|
||||
sprout::value_iterator<T> last
|
||||
)
|
||||
{
|
||||
return last - first;
|
||||
}
|
||||
} // namespace sprout
|
||||
|
||||
#endif // #ifndef SPROUT_ITERATOR_VALUE_ITERATOR_HPP
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue