9 #define MAGICKCORE_IMPLEMENTATION 1
10 #define MAGICK_PLUSPLUS_IMPLEMENTATION 1
29 : _blobRef(blob_._blobRef)
40 Lock lock(&_blobRef->_mutexLock);
41 if (--_blobRef->_refCount == 0)
66 Lock lock(&_blobRef->_mutexLock);
67 if (--_blobRef->_refCount == 0)
74 _blobRef=blob_._blobRef;
87 decoded=Base64Decode(base64_.c_str(),&length);
89 updateNoCopy(static_cast<void*>(decoded),length,
105 encoded=Base64Encode(static_cast<const unsigned char*>(data()),length(),
110 result=std::string(encoded,encoded_length);
111 encoded=(
char *) RelinquishMagickMemory(encoded);
115 return(std::string());
120 return(_blobRef->_data);
125 return(_blobRef->_length);
135 Lock lock( &_blobRef->_mutexLock );
136 if (--_blobRef->_refCount == 0)
156 Lock lock(&_blobRef->_mutexLock);
157 if (--_blobRef->_refCount == 0)
167 _blobRef->_data=data_;
168 _blobRef->_length=length_;
169 _blobRef->_allocator=allocator_;
Blob & operator=(const Blob &blob_)
void updateNoCopy(void *data_, const size_t length_, Allocator allocator_=NewAllocator)
void update(const void *data_, const size_t length_)
size_t length(void) const
const void * data(void) const