void anyobj(anyobj_index_t i0, anyobj_index_t i1, const Target& t) { nana::any * p = _m_anyobj(i0, i1, true); if(0 == p) throw std::runtime_error("Nana.any_objective: Object does not exist"); *p = t; }
void anyobj(const Target& t) { nana::any * p = _m_anyobj(true); if(0 == p) throw std::runtime_error("Nana.any_objective: Object does not exist"); *p = t; }
T & value() const { auto * pany = _m_anyobj(false); if (nullptr == pany) throw std::runtime_error("combox::item_proxy.value<T>() is empty"); T * p = pany->get<T>(); if (nullptr == p) throw std::runtime_error("combox::item_proxy.value<T>() invalid type of value"); return *p; }
T * value_ptr() const { auto p = _m_anyobj(false); return (p ? p->get<T>() : nullptr); }
item_proxy& value(T&& t) { *_m_anyobj(true) = std::move(t); return *this; }
item_proxy& value(const T& t) { *_m_anyobj(true) = t; return *this; }
T * value_ptr() const { return any_cast<T>(_m_anyobj(false)); }
Target * anyobj(anyobj_index_t i0, anyobj_index_t i1) const { nana::any * p = _m_anyobj(i0, i1, false); return (p ? p->get<Target>() : 0); }
Target * anyobj() const { nana::any * p = _m_anyobj(false); return (p ? p->get<Target>() : 0); }