111 friend struct ::binderTest;
175 template <
typename E>
const E* get()
const BY_CONST_FUNC(get<
E>())
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
Medium class used exclusively in the OR macro for safe reference handling
Definition tmedium.hpp:52
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
Type trait utilities for template metaprogramming
Definition typeTrait.hpp:14