aboutsummaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
authorChad Austin <chad@imvu.com>2013-02-28 13:25:31 -0800
committerJukka Jylänki <jujjyl@gmail.com>2013-04-12 14:24:34 +0300
commitf22f5867872ffc07ba3e3a75472009d4fe4e0b42 (patch)
treec7281de8a1f3f175ec30a42149d188d5ef9ac452 /system
parent612076a7cd5e24924f878873b01c321e0ccee444 (diff)
Apparently the WireType Marshaller is no longer necessary??
Diffstat (limited to 'system')
-rwxr-xr-xsystem/include/emscripten/bind.h2
-rwxr-xr-xsystem/include/emscripten/wire.h25
2 files changed, 3 insertions, 24 deletions
diff --git a/system/include/emscripten/bind.h b/system/include/emscripten/bind.h
index bf9706d4..baa579c6 100755
--- a/system/include/emscripten/bind.h
+++ b/system/include/emscripten/bind.h
@@ -650,7 +650,7 @@ namespace emscripten {
// todo: generate unique name
smart_ptr<SmartPtr>("SmartPtr");
- typename WithPolicies<>::template ArgTypeList<void, Args...> args;
+ typename WithPolicies<>::template ArgTypeList<SmartPtr, Args...> args;
_embind_register_class_smart_ptr_constructor(
TypeID<ClassType>::get(),
args.count,
diff --git a/system/include/emscripten/wire.h b/system/include/emscripten/wire.h
index 10484a61..1be23e78 100755
--- a/system/include/emscripten/wire.h
+++ b/system/include/emscripten/wire.h
@@ -261,33 +261,12 @@ namespace emscripten {
typedef typename std::remove_reference<T>::type ActualT;
typedef ActualT* WireType;
- struct Marshaller {
- explicit Marshaller(WireType wt)
- : wireType(wt)
- {}
-
- Marshaller(Marshaller&& wt)
- : wireType(wt.wireType)
- {
- wt.wireType = 0;
- }
-
- operator ActualT&() const {
- return *wireType;
- }
-
- private:
- Marshaller() = delete;
- Marshaller(const Marshaller&) = delete;
- ActualT* wireType;
- };
-
static WireType toWireType(T v) {
return new T(v);
}
- static Marshaller fromWireType(WireType p) {
- return Marshaller(p);
+ static ActualT& fromWireType(WireType p) {
+ return *p;
}
static void destroy(WireType p) {