mirror of
https://github.com/tristanpenman/valijson.git
synced 2024-12-12 10:13:51 +01:00
Disable C4702: unreachable code warnings within relevant headers
This commit is contained in:
parent
4897d102bd
commit
855365bce0
@ -26,6 +26,11 @@
|
||||
#include <valijson/schema.hpp>
|
||||
#include <valijson/exceptions.hpp>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning( push )
|
||||
#pragma warning( disable : 4702 )
|
||||
#endif
|
||||
|
||||
namespace valijson {
|
||||
|
||||
class ValidationResults;
|
||||
@ -1236,3 +1241,7 @@ public:
|
||||
|
||||
} // namespace constraints
|
||||
} // namespace valijson
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning( pop )
|
||||
#endif
|
||||
|
@ -13,6 +13,11 @@
|
||||
|
||||
#include <valijson/utils/utf8_utils.hpp>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning( push )
|
||||
#pragma warning( disable : 4702 )
|
||||
#endif
|
||||
|
||||
namespace valijson {
|
||||
|
||||
class ValidationResults;
|
||||
@ -39,7 +44,7 @@ public:
|
||||
* recording error descriptions. If this pointer is set
|
||||
* to nullptr, validation errors will caused validation to
|
||||
* stop immediately.
|
||||
* @param regexesCache Cache of already created std::regex objects for pattern
|
||||
* @param regexesCache Cache of already created std::regex objects for pattern
|
||||
* constraints.
|
||||
*/
|
||||
ValidationVisitor(const AdapterType &target,
|
||||
@ -1152,37 +1157,28 @@ public:
|
||||
|
||||
bool validated = true;
|
||||
|
||||
#ifdef VALIJSON_USE_EXCEPTIONS
|
||||
try
|
||||
#endif
|
||||
{
|
||||
const typename AdapterType::Array targetArray = m_target.asArray();
|
||||
const typename AdapterType::Array::const_iterator end = targetArray.end();
|
||||
const typename AdapterType::Array::const_iterator secondLast = --targetArray.end();
|
||||
unsigned int outerIndex = 0;
|
||||
typename AdapterType::Array::const_iterator outerItr = targetArray.begin();
|
||||
for (; outerItr != secondLast; ++outerItr) {
|
||||
unsigned int innerIndex = outerIndex + 1;
|
||||
typename AdapterType::Array::const_iterator innerItr(outerItr);
|
||||
for (++innerItr; innerItr != end; ++innerItr) {
|
||||
if (outerItr->equalTo(*innerItr, true)) {
|
||||
if (!m_results) {
|
||||
return false;
|
||||
}
|
||||
m_results->pushError(m_context, "Elements at indexes #" + std::to_string(outerIndex)
|
||||
+ " and #" + std::to_string(innerIndex) + " violate uniqueness constraint.");
|
||||
validated = false;
|
||||
const typename AdapterType::Array targetArray = m_target.asArray();
|
||||
const typename AdapterType::Array::const_iterator end = targetArray.end();
|
||||
const typename AdapterType::Array::const_iterator secondLast = --targetArray.end();
|
||||
unsigned int outerIndex = 0;
|
||||
typename AdapterType::Array::const_iterator outerItr = targetArray.begin();
|
||||
for (; outerItr != secondLast; ++outerItr) {
|
||||
unsigned int innerIndex = outerIndex + 1;
|
||||
typename AdapterType::Array::const_iterator innerItr(outerItr);
|
||||
for (++innerItr; innerItr != end; ++innerItr) {
|
||||
if (outerItr->equalTo(*innerItr, true)) {
|
||||
if (!m_results) {
|
||||
return false;
|
||||
}
|
||||
++innerIndex;
|
||||
m_results->pushError(m_context, "Elements at indexes #" + std::to_string(outerIndex)
|
||||
+ " and #" + std::to_string(innerIndex) + " violate uniqueness constraint.");
|
||||
validated = false;
|
||||
}
|
||||
++outerIndex;
|
||||
++innerIndex;
|
||||
}
|
||||
++outerIndex;
|
||||
}
|
||||
#ifdef VALIJSON_USE_EXCEPTIONS
|
||||
catch (...) {
|
||||
throw;
|
||||
}
|
||||
#endif
|
||||
|
||||
return validated;
|
||||
}
|
||||
|
||||
@ -1790,3 +1786,7 @@ private:
|
||||
};
|
||||
|
||||
} // namespace valijson
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning( pop )
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user