diff options
Diffstat (limited to 'lib/element.cpp')
-rw-r--r-- | lib/element.cpp | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/lib/element.cpp b/lib/element.cpp index 340bd85..989c184 100644 --- a/lib/element.cpp +++ b/lib/element.cpp @@ -31,30 +31,13 @@ Element::~Element(void) //NOP } -//! Weak element overload for the case of shared_ptr container -struct WeakElementSharedPtr : WeakElement +const Element &Element::to_element(void) const { - WeakElementSharedPtr(boost::weak_ptr<Element> weak_self) - { - _weak_self = weak_self; - } - boost::shared_ptr<void> lock(void) - { - return _weak_self.lock(); - } - boost::weak_ptr<Element> _weak_self; -}; + return *this; +} -Element &Element::shared_to_element(void) +Element &Element::to_element(void) { - try - { - if (not this->weak_self) - { - this->weak_self.reset(new WeakElementSharedPtr(this->shared_from_this())); - } - } - catch(...){} return *this; } |