Definition at line 23 of file BlobRef.h.
◆ BlobRef()
Magick::BlobRef::BlobRef |
( |
const void * | data_, |
|
|
const size_t | length_ ) |
Definition at line 21 of file BlobRef.cpp.
22 : allocator(Magick::Blob::NewAllocator),
23 length(length_),
24 data((void*) NULL),
25 _mutexLock(),
26 _refCount(1)
27{
28 if (data_ != (const void*) NULL)
29 {
30 data=new unsigned char[length_];
31 memcpy(data,data_,length_);
32 }
33}
◆ ~BlobRef()
Magick::BlobRef::~BlobRef |
( |
void | | ) |
|
Definition at line 35 of file BlobRef.cpp.
36{
37 if (allocator == Magick::Blob::NewAllocator)
38 {
39 delete[] static_cast<unsigned char*>(data);
40 data=(void *) NULL;
41 }
42 else if (allocator == Magick::Blob::MallocAllocator)
43 data=(void *) RelinquishMagickMemory(data);
44}
◆ decrease()
size_t Magick::BlobRef::decrease |
( |
| ) |
|
Definition at line 46 of file BlobRef.cpp.
47{
48 size_t
49 count;
50
51 _mutexLock.lock();
52 if (_refCount == 0)
53 {
54 _mutexLock.unlock();
55 throwExceptionExplicit(MagickCore::OptionError,
56 "Invalid call to decrease");
57 return(0);
58 }
59 count=--_refCount;
60 _mutexLock.unlock();
61 return(count);
62}
◆ increase()
void Magick::BlobRef::increase |
( |
| ) |
|
Definition at line 64 of file BlobRef.cpp.
65{
66 _mutexLock.lock();
67 _refCount++;
68 _mutexLock.unlock();
69}
◆ _mutexLock
◆ _refCount
size_t Magick::BlobRef::_refCount |
|
private |
◆ allocator
Blob::Allocator Magick::BlobRef::allocator |
◆ data
void* Magick::BlobRef::data |
◆ length
size_t Magick::BlobRef::length |
The documentation for this class was generated from the following files: