mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Replace ranges::all_of wrapper by range-v3.
This commit is contained in:
parent
75bed10be5
commit
4505889481
@ -49,16 +49,4 @@ erase_if(std::unordered_map<Key,T,Hash,KeyEqual,Alloc>& c, Pred pred)
|
|||||||
return old_size - c.size();
|
return old_size - c.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace ranges
|
|
||||||
{
|
|
||||||
template<typename R, typename Pred>
|
|
||||||
inline constexpr bool all_of(R&& r, Pred pred)
|
|
||||||
{
|
|
||||||
for (auto it = std::begin(r), end = std::end(r); it != end; ++it)
|
|
||||||
if (!std::invoke(pred, *it))
|
|
||||||
return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#include <libyul/Exceptions.h>
|
#include <libyul/Exceptions.h>
|
||||||
#include <libyul/AST.h>
|
#include <libyul/AST.h>
|
||||||
|
|
||||||
#include <libsolutil/cxx20.h>
|
#include <range/v3/algorithm/all_of.hpp>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace solidity;
|
using namespace solidity;
|
||||||
@ -88,7 +88,7 @@ void Rematerialiser::visit(Expression& _e)
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
assertThrow(m_referenceCounts[name] > 0, OptimizerException, "");
|
assertThrow(m_referenceCounts[name] > 0, OptimizerException, "");
|
||||||
if (cxx20::ranges::all_of(m_references[name], [&](auto const& ref) { return inScope(ref); }))
|
if (ranges::all_of(m_references[name], [&](auto const& ref) { return inScope(ref); }))
|
||||||
{
|
{
|
||||||
// update reference counts
|
// update reference counts
|
||||||
m_referenceCounts[name]--;
|
m_referenceCounts[name]--;
|
||||||
|
Loading…
Reference in New Issue
Block a user