15 #ifndef SHAKA_EMBEDDED_CORE_MEMBER_H_ 16 #define SHAKA_EMBEDDED_CORE_MEMBER_H_ 18 #include <glog/logging.h> 42 "Cannot use Member<T> for JavaScript objects.");
45 static std::string
name() {
100 other.ptr_ =
nullptr;
112 operator T*()
const {
118 return ptr_ ==
nullptr;
126 template <
typename U = T>
150 return ptr_->JsThis();
163 template <
typename T>
164 template <
typename U>
169 template <
typename T>
170 template <
typename U>
178 #endif // SHAKA_EMBEDDED_CORE_MEMBER_H_
bool FromJsValue(Handle< JsValue > source, T *dest)
ReturnVal< JsValue > JsNull()
Member & operator=(Member &&other)
Member(const Member< U > &other)
void Trace(const Traceable *ptr)
static std::string name()
void Trace(memory::HeapTracer *tracer) const override
static ObjectTracker * Instance()
Member & operator=(const Member &other)
Member(const RefPtr< U > &other)
void reset(U *other=nullptr)
Member(const Member &other)
Member(RefPtr< U > &&other)
bool TryConvert(Handle< JsValue > source) override
ReturnVal< JsValue > ToJsValue() const override
Member(Member< U > &&other)
static std::string name()