![]() |
![]() |
![]() |
00001 // This may look like C code, but it is really -*- C++ -*- 00002 // 00003 // Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002 00004 // 00005 // Blob reference class 00006 // 00007 // This is an internal implementation class that should not be 00008 // accessed by users. 00009 // 00010 00011 #if !defined(Magick_Blob_header) 00012 #define Magick_Blob_header 00013 00014 #include "Magick++/Include.h" 00015 #include "Magick++/Thread.h" 00016 #include "Magick++/Blob.h" 00017 00018 namespace Magick 00019 { 00020 00021 class BlobRef { 00022 public: 00023 // There are no public methods in this class 00024 00025 // Construct with data, making private copy of data 00026 BlobRef ( const void* data_, size_t length_ ); 00027 00028 // Destructor (actually destroys data) 00029 ~BlobRef ( void ); 00030 00031 private: 00032 // Copy constructor and assignment are not supported 00033 BlobRef (const BlobRef&); 00034 BlobRef& operator= (const BlobRef&); 00035 00036 public: 00037 void * _data; // Blob data 00038 size_t _length; // Blob length 00039 Blob::Allocator _allocator; // Memory allocation system in use 00040 int _refCount; // Reference count 00041 MutexLock _mutexLock; // Mutex lock 00042 }; 00043 00044 } // namespace Magick 00045 00046 #endif // Magick_Blob_header
1.3.7
ImageMagick Copyright © 2004, ImageMagick Studio LLC