summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/smallvec_type.hpp20
-rw-r--r--src/network/core/host.cpp8
2 files changed, 7 insertions, 21 deletions
diff --git a/src/core/smallvec_type.hpp b/src/core/smallvec_type.hpp
index 289cc9e1d..1c713470f 100644
--- a/src/core/smallvec_type.hpp
+++ b/src/core/smallvec_type.hpp
@@ -106,26 +106,12 @@ public:
* Search for the first occurrence of an item.
* The '!=' operator of T is used for comparison.
* @param item Item to search for
- * @return The position of the item, or End() when not present
- */
- inline const T *Find(const T &item) const
- {
- const T *pos = this->Begin();
- const T *end = this->End();
- while (pos != end && *pos != item) pos++;
- return pos;
- }
-
- /**
- * Search for the first occurrence of an item.
- * The '!=' operator of T is used for comparison.
- * @param item Item to search for
* @return The position of the item, or -1 when not present
*/
inline int FindIndex(const T &item) const
{
- auto const it = this->Find(item);
- return it == this->End() ? -1 : it - this->Begin();
+ auto const it = std::find(std::vector<T>::begin(), std::vector<T>::end(), item);
+ return it == std::vector<T>::end() ? -1 : it - std::vector<T>::begin();
}
/**
@@ -136,7 +122,7 @@ public:
*/
inline bool Contains(const T &item) const
{
- return this->Find(item) != this->End();
+ return std::find(std::vector<T>::begin(), std::vector<T>::end(), item) != std::vector<T>::end();
}
/**
diff --git a/src/network/core/host.cpp b/src/network/core/host.cpp
index 05ad84153..c0365742b 100644
--- a/src/network/core/host.cpp
+++ b/src/network/core/host.cpp
@@ -76,7 +76,7 @@ static void NetworkFindBroadcastIPsInternal(NetworkAddressList *broadcast) // BE
memset(&address, 0, sizeof(address));
((sockaddr_in*)&address)->sin_addr.s_addr = htonl(ip | ~netmask);
NetworkAddress addr(address, sizeof(sockaddr));
- if (!broadcast->Contains(addr)) *broadcast->Append() = addr;
+ if (std::none_of(broadcast->begin(), broadcast->end(), [&addr](NetworkAddress const& elem) -> bool { return elem == addr; })) *broadcast->Append() = addr;
}
if (read < 0) {
break;
@@ -100,7 +100,7 @@ static void NetworkFindBroadcastIPsInternal(NetworkAddressList *broadcast) // GE
if (ifa->ifa_broadaddr->sa_family != AF_INET) continue;
NetworkAddress addr(ifa->ifa_broadaddr, sizeof(sockaddr));
- if (!broadcast->Contains(addr)) *broadcast->Append() = addr;
+ if (std::none_of(broadcast->begin(), broadcast->end(), [&addr](NetworkAddress const& elem) -> bool { return elem == addr; })) *broadcast->Append() = addr;
}
freeifaddrs(ifap);
}
@@ -136,7 +136,7 @@ static void NetworkFindBroadcastIPsInternal(NetworkAddressList *broadcast) // Wi
memcpy(&address, &ifo[j].iiAddress.Address, sizeof(sockaddr));
((sockaddr_in*)&address)->sin_addr.s_addr = ifo[j].iiAddress.AddressIn.sin_addr.s_addr | ~ifo[j].iiNetmask.AddressIn.sin_addr.s_addr;
NetworkAddress addr(address, sizeof(sockaddr));
- if (!broadcast->Contains(addr)) *broadcast->Append() = addr;
+ if (std::none_of(broadcast->begin(), broadcast->end(), [&addr](NetworkAddress const& elem) -> bool { return elem == addr; })) *broadcast->Append() = addr;
}
free(ifo);
@@ -174,7 +174,7 @@ static void NetworkFindBroadcastIPsInternal(NetworkAddressList *broadcast) // !G
(r.ifr_flags & IFF_BROADCAST) &&
ioctl(sock, SIOCGIFBRDADDR, &r) != -1) {
NetworkAddress addr(&r.ifr_broadaddr, sizeof(sockaddr));
- if (!broadcast->Contains(addr)) *broadcast->Append() = addr;
+ if (std::none_of(broadcast->begin(), broadcast->end(), [&addr](NetworkAddress const& elem) -> bool { return elem == addr; })) *broadcast->Append() = addr;
}
}