111 friend struct ::binderTest;
232 static nbool isNul(
const binder& it) {
return !it.isBind(); }
234 static constexpr nbool is_ptr =
false;
235 static constexpr nbool is_ref =
false;
236 static constexpr nbool is_like_ptr =
true;
244 static binder* ret() {
return nullptr; }
246 static nbool isNul(
const binder* it) {
return !it || !it->isBind(); }
248 static constexpr nbool is_ptr =
true;
249 static constexpr nbool is_ref =
false;
250 static constexpr nbool is_like_ptr = is_ptr;
258 static nbool isNul(
const binder& it) {
return it.isBind(); }
260 static constexpr nbool is_ptr =
false;
261 static constexpr nbool is_ref =
true;
262 static constexpr nbool is_like_ptr =
true;
266 template <
typename T,
typename F>
auto operator->*(
binder*
t,
F&&
f) {
270 template <
typename T,
typename F>
auto operator->*(
const binder* t, F&& f) {
271 return t ? f(**t) : typeTrait<std::decay_t<decltype(f(**t))>>::ret();
274 template <
typename T,
typename F>
auto operator->*(binder& t, F&& f) {
275 return t ? f(*t) : typeTrait<std::decay_t<decltype(f(*t))>>::ret();
Interface for binding tactics in memory management.
Definition bindTacticable.hpp:16
Generalized binding class for managing instance lifecycles.
Definition binder.hpp:108
instance * operator->()
Dereference operator to access bound instance.
Base class for all managed instances in memlite system.
Definition instance.hpp:41
Binding tag for instance reference tracking and lifecycle management.
Definition life.hpp:21
Definition memliteInternal.hpp:12
Template interface for bindable objects.
Definition tbindable.hpp:13
Core class for runtime type information in byeol language.
Definition type.hpp:100
Interface for objects that can provide their type information.
Definition typeProvidable.hpp:13
Rich logging support with polymorphic type conversion.
Definition richLog.hpp:34