Safe overloading with std::equal
Since C++20, there is a safer way to overload std::equal:
template< class InputIt1, class InputIt2 >
constexpr bool equal( InputIt1 first1, InputIt1 last1,
InputIt2 first2, InputIt2 last2 );
Because if they are different lengths, it won't run past on either
side. In theory, they should always be the same length.
Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I1d25331521c1590b5f448f93b657f58f9f06d778
diff --git a/integrity_algo.hpp b/integrity_algo.hpp
index 3640ce2..d451d0e 100644
--- a/integrity_algo.hpp
+++ b/integrity_algo.hpp
@@ -62,14 +62,17 @@
*
* @param[in] packet - Incoming IPMI packet
* @param[in] packetLen - Packet length excluding authCode
- * @param[in] integrityData - Iterator to the authCode in the packet
+ * @param[in] integrityDataBegin - Begin iterator to the authCode in the
+ * packet
+ * @param[in] integrityDataEnd - End to the authCode in the packet
*
* @return true if authcode in the packet is equal to one generated
* using integrity algorithm on the packet data, false otherwise
*/
bool virtual verifyIntegrityData(
const std::vector<uint8_t>& packet, const size_t packetLen,
- std::vector<uint8_t>::const_iterator integrityData) const = 0;
+ std::vector<uint8_t>::const_iterator integrityDataBegin,
+ std::vector<uint8_t>::const_iterator integrityDataEnd) const = 0;
/**
* @brief Generate integrity data for the outgoing IPMI packet
@@ -178,14 +181,17 @@
* @param[in] packet - Incoming IPMI packet
* @param[in] length - Length of the data in the packet to calculate
* the integrity data
- * @param[in] integrityData - Iterator to the authCode in the packet
+ * @param[in] integrityDataBegin - Begin iterator to the authCode in the
+ * packet
+ * @param[in] integrityDataEnd - End to the authCode in the packet
*
* @return true if authcode in the packet is equal to one generated
* using integrity algorithm on the packet data, false otherwise
*/
bool verifyIntegrityData(
const std::vector<uint8_t>& packet, const size_t length,
- std::vector<uint8_t>::const_iterator integrityData) const override;
+ std::vector<uint8_t>::const_iterator integrityDataBegin,
+ std::vector<uint8_t>::const_iterator integrityDataEnd) const override;
/**
* @brief Generate integrity data for the outgoing IPMI packet
@@ -260,14 +266,17 @@
* @param[in] packet - Incoming IPMI packet
* @param[in] length - Length of the data in the packet to calculate
* the integrity data
- * @param[in] integrityData - Iterator to the authCode in the packet
+ * @param[in] integrityDataBegin - Begin iterator to the authCode in the
+ * packet
+ * @param[in] integrityDataEnd - End to the authCode in the packet
*
* @return true if authcode in the packet is equal to one generated
* using integrity algorithm on the packet data, false otherwise
*/
bool verifyIntegrityData(
const std::vector<uint8_t>& packet, const size_t length,
- std::vector<uint8_t>::const_iterator integrityData) const override;
+ std::vector<uint8_t>::const_iterator integrityDataBegin,
+ std::vector<uint8_t>::const_iterator integrityDataEnd) const override;
/**
* @brief Generate integrity data for the outgoing IPMI packet