From cd9cef1f967b063a4d4219706fd0977f02b0a9bf Mon Sep 17 00:00:00 2001 From: Daniel Burrows Date: Fri, 22 May 2009 07:51:21 -0700 Subject: Allow expression weak references to be directly initialized from cwidget ref_ptrs. --- src/generic/problemresolver/incremental_expression.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/generic/problemresolver/incremental_expression.h') diff --git a/src/generic/problemresolver/incremental_expression.h b/src/generic/problemresolver/incremental_expression.h index 0456b95e..5c997e74 100644 --- a/src/generic/problemresolver/incremental_expression.h +++ b/src/generic/problemresolver/incremental_expression.h @@ -100,6 +100,7 @@ public: } expression_weak_ref(T *_expr); + expression_weak_ref(const cwidget::util::ref_ptr &_expr); expression_weak_ref(const expression_weak_ref &other); @@ -270,6 +271,13 @@ expression_weak_ref::expression_weak_ref(T *_expr) expr->add_weak_ref(this); } +template +expression_weak_ref::expression_weak_ref(const cwidget::util::ref_ptr &_expr) + : expression_weak_ref_generic(true), expr(_expr.unsafe_get_ref()) +{ + expr->add_weak_ref(this); +} + template expression_weak_ref::expression_weak_ref(const expression_weak_ref &other) : expression_weak_ref_generic(other.get_valid()), expr(other.expr) -- cgit v1.2.3