- Bind(T *o, bool r = false):
- binder(r ? create(o, T::current()) : create(o))
- { }
+ BindRestore(const T &o) { init(&o); }
+
+ template<typename T, typename S>
+ BindRestore(T *o, S s) { init(o, s); }
+
+ template<typename T, typename S>
+ BindRestore(const T *o, S s) { init(o, s); }
+
+ template<typename T, typename S>
+ BindRestore(const T &o, S s) { init(&o, s); }