4 friend std::ostream & operator<<( std::ostream & str, const PoolItem_Ref & obj );
11 /** Default ctor for use in std::container. */
16 PoolItem_Ref( ResObject::constPtr res_r );
19 PoolItem_Ref( ResObject::constPtr res_r, const ResStatus & status_r );
25 /** Returns the current status. */
26 ResStatus & status() const;
28 /** Reset status (applies autoprotection). */
29 ResStatus & statusReset() const;
31 /** Returns the ResObject::constPtr.
32 * \see \ref operator->
34 ResObject::constPtr resolvable() const;
37 /** Implicit conversion into ResObject::constPtr to
38 * support query filters operating on ResObject.
40 operator ResObject::constPtr() const
41 { return resolvable(); }
43 /** Forward \c -> access to ResObject. */
44 ResObject::constPtr operator->() const
45 { return resolvable(); }
47 /** Conversion to bool to allow pointer style tests
48 * for nonNULL \ref resolvable. */
49 operator ResObject::constPtr::unspecified_bool_type() const
50 { return resolvable(); }
53 /** Pointer to implementation */
54 RW_pointer<Impl> _pimpl;
57 /** \name tmp hack for save/restore state. */
58 /** \todo get rid of it. */
60 friend class PoolItemSaver;
61 void saveState() const;
62 void restoreState() const;
63 bool sameState() const;
66 ///////////////////////////////////////////////////////////////////
68 typedef PoolItem_Ref PoolItem;