diff options
author | Daniel Burrows <dburrows@debian.org> | 2009-05-22 07:51:21 -0700 |
---|---|---|
committer | Daniel Burrows <dburrows@debian.org> | 2009-05-22 07:51:21 -0700 |
commit | cd9cef1f967b063a4d4219706fd0977f02b0a9bf (patch) | |
tree | 5cbd055c00edce538ad45b979424f86ee1f19869 /src/generic/problemresolver/incremental_expression.h | |
parent | 10d07302179b83de4d574c437ac0428c9ba18f85 (diff) | |
download | aptitude-cd9cef1f967b063a4d4219706fd0977f02b0a9bf.tar.gz |
Allow expression weak references to be directly initialized from cwidget ref_ptrs.
Diffstat (limited to 'src/generic/problemresolver/incremental_expression.h')
-rw-r--r-- | src/generic/problemresolver/incremental_expression.h | 8 |
1 files changed, 8 insertions, 0 deletions
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<T> &_expr); expression_weak_ref(const expression_weak_ref &other); @@ -271,6 +272,13 @@ expression_weak_ref<T>::expression_weak_ref(T *_expr) } template<typename T> +expression_weak_ref<T>::expression_weak_ref(const cwidget::util::ref_ptr<T> &_expr) + : expression_weak_ref_generic(true), expr(_expr.unsafe_get_ref()) +{ + expr->add_weak_ref(this); +} + +template<typename T> expression_weak_ref<T>::expression_weak_ref(const expression_weak_ref<T> &other) : expression_weak_ref_generic(other.get_valid()), expr(other.expr) { |