1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/base/ReferenceCounted.cc
14 #include "zypp/base/Logger.h"
15 #include "zypp/base/Exception.h"
16 #include "zypp/base/ReferenceCounted.h"
18 ///////////////////////////////////////////////////////////////////
20 { /////////////////////////////////////////////////////////////////
21 ///////////////////////////////////////////////////////////////////
23 { /////////////////////////////////////////////////////////////////
25 ReferenceCounted::ReferenceCounted()
29 ReferenceCounted::ReferenceCounted( const ReferenceCounted & /*rhs*/ )
33 ReferenceCounted::~ReferenceCounted()
37 INT << "~ReferenceCounted: nonzero reference count" << std::endl;
38 throw std::out_of_range( "~ReferenceCounted: nonzero reference count" );
42 void ReferenceCounted::unrefException() const
44 INT << "ReferenceCounted::unref: zero reference count" << std::endl;
45 throw std::out_of_range( "ReferenceCounted::unref: zero reference count" );
48 std::ostream & ReferenceCounted::dumpOn( std::ostream & str ) const
50 return str << "ReferenceCounted(@" << (const void *)this
51 << "<=" << _counter << ")";
54 /////////////////////////////////////////////////////////////////
56 ///////////////////////////////////////////////////////////////////
57 /////////////////////////////////////////////////////////////////
59 ///////////////////////////////////////////////////////////////////