blob: 3c069c84eb67bb53743cac8527f67ee279bf253e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
// $Id$
template<class COLLECTION, class ITERATOR> ACE_INLINE
ACE_RMCast_Copy_On_Write_Collection<COLLECTION,ITERATOR>::
ACE_RMCast_Copy_On_Write_Collection (void)
: refcount_ (1)
{
}
// ****************************************************************
template<class COLLECTION, class ITERATOR> ACE_INLINE
ACE_RMCast_Copy_On_Write_Read_Guard<COLLECTION,ITERATOR>::
ACE_RMCast_Copy_On_Write_Read_Guard (Container &container)
: collection (0)
, mutex_ (container.mutex_)
{
ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->mutex_);
this->collection = container.collection_;
this->collection->_incr_refcnt ();
}
template<class COLLECTION, class ITERATOR> ACE_INLINE
ACE_RMCast_Copy_On_Write_Read_Guard<COLLECTION,ITERATOR>::
~ACE_RMCast_Copy_On_Write_Read_Guard (void)
{
if (this->collection != 0)
{
ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->mutex_);
this->collection->_decr_refcnt ();
}
}
// ****************************************************************
|