1
// This may look like C code, but it is really -*- C++ -*-
3
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
5
// Blob reference class
7
// This is an internal implementation class that should not be
11
#if !defined(Magick_Blob_header)
12
#define Magick_Blob_header
14
#include "Magick++/Include.h"
15
#include "Magick++/Thread.h"
16
#include "Magick++/Blob.h"
23
// There are no public methods in this class
25
// Construct with data, making private copy of data
26
BlobRef ( const void* data_, size_t length_ );
28
// Destructor (actually destroys data)
32
// Copy constructor and assignment are not supported
33
BlobRef (const BlobRef&);
34
BlobRef& operator= (const BlobRef&);
37
void * _data; // Blob data
38
size_t _length; // Blob length
39
Blob::Allocator _allocator; // Memory allocation system in use
40
int _refCount; // Reference count
41
MutexLock _mutexLock; // Mutex lock
46
#endif // Magick_Blob_header