criteria progress

This commit is contained in:
Sascha Kühl
2026-01-21 16:08:27 +01:00
parent ac514c3765
commit 328d164c05
58 changed files with 230 additions and 82 deletions
+2 -2
View File
@@ -40,12 +40,12 @@ public:
return proxy_->items_.empty();
}
void reset(std::shared_ptr<collection_proxy<typename Type::value_type>> proxy) {
void reset(std::shared_ptr<collection_proxy<Type>> proxy) {
proxy_ = std::move(proxy);
}
private:
std::shared_ptr<collection_proxy<typename Type::value_type>> proxy_;
std::shared_ptr<collection_proxy<Type>> proxy_;
};
}
+7 -7
View File
@@ -36,22 +36,22 @@ public:
template<typename Type>
class collection_proxy final {
public:
collection_proxy(std::weak_ptr<object_resolver<Type>> resolver, utils::identifier owner_id)
collection_proxy(std::weak_ptr<object_resolver<typename Type::value_type>> resolver, utils::identifier owner_id)
: owner_id_(std::move(owner_id)), resolver_(std::move(resolver)) {}
collection_proxy(std::weak_ptr<object_resolver<Type>> resolver, std::vector<object_ptr<Type>> items)
collection_proxy(std::weak_ptr<object_resolver<typename Type::value_type>> resolver, std::vector<Type> items)
: items_(std::move(items)), resolver_(std::move(resolver)) {}
explicit collection_proxy(std::vector<object_ptr<Type>> items)
explicit collection_proxy(std::vector<Type> items)
: items_(std::move(items)) {}
[[nodiscard]] const utils::identifier& owner_id() const {
return owner_id_;
}
const std::vector<object_ptr<Type>>& items() const {
const std::vector<Type>& items() const {
return items_;
}
std::vector<object_ptr<Type>>& items() {
std::vector<Type>& items() {
return items_;
}
private:
@@ -74,8 +74,8 @@ private:
private:
const utils::identifier owner_id_;
std::atomic_bool loaded_{false};
std::vector<object_ptr<Type>> items_;
std::weak_ptr<object_resolver<Type>> resolver_{};
std::vector<Type> items_;
std::weak_ptr<object_resolver<typename Type::value_type>> resolver_{};
mutable std::mutex mutex_{};
};
}