Static build of Imagemagick 7.0.5-5
This commit is contained in:
80
bin/7.0.5-5/include/ImageMagick-7/Magick++/Blob.h
Executable file
80
bin/7.0.5-5/include/ImageMagick-7/Magick++/Blob.h
Executable file
@@ -0,0 +1,80 @@
|
||||
// This may look like C code, but it is really -*- C++ -*-
|
||||
//
|
||||
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
|
||||
// Copyright Dirk Lemstra 2015
|
||||
//
|
||||
// Reference counted container class for Binary Large Objects (BLOBs)
|
||||
//
|
||||
|
||||
#if !defined(Magick_BlobRef_header)
|
||||
#define Magick_BlobRef_header
|
||||
|
||||
#include "Magick++/Include.h"
|
||||
#include <string>
|
||||
|
||||
namespace Magick
|
||||
{
|
||||
// Forward decl
|
||||
class BlobRef;
|
||||
|
||||
class MagickPPExport Blob
|
||||
{
|
||||
public:
|
||||
|
||||
enum Allocator
|
||||
{
|
||||
MallocAllocator,
|
||||
NewAllocator
|
||||
};
|
||||
|
||||
// Default constructor
|
||||
Blob(void);
|
||||
|
||||
// Construct object with data, making a copy of the supplied data.
|
||||
Blob(const void* data_,const size_t length_);
|
||||
|
||||
// Copy constructor (reference counted)
|
||||
Blob(const Blob& blob_);
|
||||
|
||||
// Destructor (reference counted)
|
||||
virtual ~Blob();
|
||||
|
||||
// Assignment operator (reference counted)
|
||||
Blob& operator=(const Blob& blob_);
|
||||
|
||||
// Update object contents from Base64-encoded string representation.
|
||||
void base64(const std::string base64_);
|
||||
// Return Base64-encoded string representation.
|
||||
std::string base64(void) const;
|
||||
|
||||
// Obtain pointer to data. The user should never try to modify or
|
||||
// free this data since the Blob class manages its own data. The
|
||||
// user must be finished with the data before allowing the Blob to
|
||||
// be destroyed since the pointer is invalid once the Blob is
|
||||
// destroyed.
|
||||
const void* data(void) const;
|
||||
|
||||
// Obtain data length
|
||||
size_t length(void) const;
|
||||
|
||||
// Update object contents, making a copy of the supplied data.
|
||||
// Any existing data in the object is deallocated.
|
||||
void update(const void* data_,const size_t length_);
|
||||
|
||||
// Update object contents, using supplied pointer directly (no
|
||||
// copy). Any existing data in the object is deallocated. The user
|
||||
// must ensure that the pointer supplied is not deleted or
|
||||
// otherwise modified after it has been supplied to this method.
|
||||
// Specify allocator_ as "MallocAllocator" if memory is allocated
|
||||
// via the C language malloc() function, or "NewAllocator" if
|
||||
// memory is allocated via C++ 'new'.
|
||||
void updateNoCopy(void* data_,const size_t length_,
|
||||
const Allocator allocator_=NewAllocator);
|
||||
|
||||
private:
|
||||
BlobRef *_blobRef;
|
||||
};
|
||||
|
||||
} // namespace Magick
|
||||
|
||||
#endif // Magick_BlobRef_header
|
||||
Reference in New Issue
Block a user