meta: lazy_node -> node
This commit is contained in:
@@ -199,17 +199,17 @@ class meta_any {
|
||||
ctx{other.ctx} {
|
||||
if(storage || !other.storage) {
|
||||
resolve = other.resolve;
|
||||
lazy_node = other.lazy_node;
|
||||
node = other.node;
|
||||
vtable = other.vtable;
|
||||
}
|
||||
}
|
||||
|
||||
[[nodiscard]] const auto *fetch_node() const {
|
||||
if((lazy_node == nullptr) && (resolve != nullptr)) {
|
||||
lazy_node = &resolve(internal::meta_context::from(*ctx));
|
||||
if((node == nullptr) && (resolve != nullptr)) {
|
||||
node = &resolve(internal::meta_context::from(*ctx));
|
||||
}
|
||||
|
||||
return lazy_node;
|
||||
return node;
|
||||
}
|
||||
|
||||
public:
|
||||
@@ -300,7 +300,7 @@ public:
|
||||
: storage{other.storage},
|
||||
ctx{&area},
|
||||
resolve{other.resolve},
|
||||
lazy_node{(ctx == other.ctx) ? other.lazy_node : nullptr},
|
||||
node{(ctx == other.ctx) ? other.node : nullptr},
|
||||
vtable{other.vtable} {}
|
||||
|
||||
/**
|
||||
@@ -312,7 +312,7 @@ public:
|
||||
: storage{std::move(other.storage)},
|
||||
ctx{&area},
|
||||
resolve{std::exchange(other.resolve, nullptr)},
|
||||
lazy_node{(ctx == other.ctx) ? std::exchange(other.lazy_node, nullptr) : nullptr},
|
||||
node{(ctx == other.ctx) ? std::exchange(other.node, nullptr) : nullptr},
|
||||
vtable{std::exchange(other.vtable, nullptr)} {}
|
||||
|
||||
/**
|
||||
@@ -338,7 +338,7 @@ public:
|
||||
storage = other.storage;
|
||||
ctx = other.ctx;
|
||||
resolve = other.resolve;
|
||||
lazy_node = other.lazy_node;
|
||||
node = other.node;
|
||||
vtable = other.vtable;
|
||||
}
|
||||
|
||||
@@ -359,7 +359,7 @@ public:
|
||||
storage = std::move(other.storage);
|
||||
ctx = other.ctx;
|
||||
resolve = std::exchange(other.resolve, nullptr);
|
||||
lazy_node = std::exchange(other.lazy_node, nullptr);
|
||||
node = std::exchange(other.node, nullptr);
|
||||
vtable = std::exchange(other.vtable, nullptr);
|
||||
return *this;
|
||||
}
|
||||
@@ -518,7 +518,7 @@ public:
|
||||
|
||||
if(auto *overload = &internal::resolve<std::remove_cv_t<std::remove_reference_t<Type>>>; overload != resolve) {
|
||||
resolve = overload;
|
||||
lazy_node = nullptr;
|
||||
node = nullptr;
|
||||
vtable = &basic_vtable<std::remove_cv_t<std::remove_reference_t<Type>>>;
|
||||
}
|
||||
}
|
||||
@@ -533,7 +533,7 @@ public:
|
||||
void reset() {
|
||||
storage.reset();
|
||||
resolve = nullptr;
|
||||
lazy_node = {};
|
||||
node = {};
|
||||
vtable = nullptr;
|
||||
}
|
||||
|
||||
@@ -630,7 +630,7 @@ private:
|
||||
any storage;
|
||||
const meta_ctx *ctx{&locator<meta_ctx>::value_or()};
|
||||
const internal::meta_type_node &(*resolve)(const internal::meta_context &) noexcept {};
|
||||
mutable const internal::meta_type_node *lazy_node{};
|
||||
mutable const internal::meta_type_node *node{};
|
||||
vtable_type *vtable{};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user