Magick++
6.9.3
BlobRef.cpp
Go to the documentation of this file.
1
// This may look like C code, but it is really -*- C++ -*-
2
//
3
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2004
4
// Copyright Dirk Lemstra 2015
5
//
6
// Implementation of Blob
7
//
8
9
#define MAGICKCORE_IMPLEMENTATION 1
10
#define MAGICK_PLUSPLUS_IMPLEMENTATION 1
11
12
#include "
Magick++/Include.h
"
13
#include "
Magick++/Thread.h
"
14
#include "
Magick++/BlobRef.h
"
15
16
#include <string.h>
17
18
Magick::BlobRef::BlobRef
(
const
void
* data_,
const
size_t
length_)
19
: _data(0),
20
_length(length_),
21
_allocator(
Magick
::
Blob
::NewAllocator),
22
_refCount(1),
23
_mutexLock()
24
{
25
if
(data_)
26
{
27
_data
=
new
unsigned
char
[length_];
28
memcpy(
_data
,data_,length_);
29
}
30
}
31
32
// Destructor (actually destroys data)
33
Magick::BlobRef::~BlobRef
(
void
)
34
{
35
if
(_allocator ==
Magick::Blob::NewAllocator
)
36
{
37
delete
[]
static_cast<
unsigned
char
*
>
(_data);
38
_data=0;
39
}
40
else
if
(_allocator ==
Magick::Blob::MallocAllocator
)
41
{
42
_data=(
void
*) RelinquishMagickMemory(_data);
43
}
44
}
BlobRef.h
Magick::Blob::MallocAllocator
Definition:
Blob.h:26
Magick::BlobRef::BlobRef
BlobRef(const void *data_, const size_t length_)
Definition:
BlobRef.cpp:18
Thread.h
Magick::Blob
Definition:
Blob.h:20
Magick::BlobRef::_data
void * _data
Definition:
BlobRef.h:30
Include.h
Magick::Blob::NewAllocator
Definition:
Blob.h:27
Magick
Definition:
Blob.h:15
Magick::BlobRef::~BlobRef
~BlobRef(void)
Definition:
BlobRef.cpp:33
home
cristy
ImageMagick-6
Magick++
lib
BlobRef.cpp
Generated by
1.8.10