#include "lldb/Target/PathMappingList.h"
#include "lldb/Utility/ArchSpec.h"
#include "lldb/Utility/FileSpec.h"
+#include "lldb/Utility/Iterable.h"
#include "lldb/Utility/Stream.h"
#include "lldb/Utility/UUID.h"
if (this != &rhs) {
std::lock(m_mutex, rhs.m_mutex);
std::lock_guard<std::recursive_mutex> lhs_guard(m_mutex, std::adopt_lock);
- std::lock_guard<std::recursive_mutex> rhs_guard(rhs.m_mutex,
+ std::lock_guard<std::recursive_mutex> rhs_guard(rhs.m_mutex,
std::adopt_lock);
m_specs = rhs.m_specs;
}
}
}
+ typedef std::vector<ModuleSpec> collection;
+ typedef LockingAdaptedIterable<collection, ModuleSpec, vector_adapter,
+ std::recursive_mutex>
+ ModuleSpecIterable;
+
+ ModuleSpecIterable ModuleSpecs() {
+ return ModuleSpecIterable(m_specs, m_mutex);
+ }
+
protected:
- typedef std::vector<ModuleSpec> collection; ///< The module collection type.
collection m_specs; ///< The collection of modules.
mutable std::recursive_mutex m_mutex;
};