mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Add template for merging sets
This commit is contained in:
parent
89a1e97e7d
commit
f3e591eedd
@ -166,6 +166,12 @@ template <class T, class U> std::vector<T>& operator+=(std::vector<T>& _a, U con
|
||||
_a.push_back(i);
|
||||
return _a;
|
||||
}
|
||||
/// Concatenate the contents of a container onto a set
|
||||
template <class T, class U> std::set<T>& operator+=(std::set<T>& _a, U const& _b)
|
||||
{
|
||||
_a.insert(_b.begin(), _b.end());
|
||||
return _a;
|
||||
}
|
||||
/// Concatenate two vectors of elements.
|
||||
template <class T>
|
||||
inline std::vector<T> operator+(std::vector<T> const& _a, std::vector<T> const& _b)
|
||||
|
@ -95,10 +95,7 @@ set<SourceUnit const*> SourceUnit::referencedSourceUnits(bool _recurse, set<Sour
|
||||
_skipList.insert(sourceUnit);
|
||||
sourceUnits.insert(sourceUnit);
|
||||
if (_recurse)
|
||||
{
|
||||
set<SourceUnit const*> referencedSourceUnits = sourceUnit->referencedSourceUnits(true, _skipList);
|
||||
sourceUnits.insert(referencedSourceUnits.begin(), referencedSourceUnits.end());
|
||||
}
|
||||
sourceUnits += sourceUnit->referencedSourceUnits(true, _skipList);
|
||||
}
|
||||
}
|
||||
return sourceUnits;
|
||||
|
Loading…
Reference in New Issue
Block a user