/usr/include/ImageMagick/Magick++/Blob.h is in libmagick++-dev 8:6.7.7.10-6ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | // This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
//
// 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_, 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 );
// Update object contents, making a copy of the supplied data.
// Any existing data in the object is deallocated.
void update ( const void* data_, 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_, size_t length_,
Allocator allocator_ = NewAllocator );
// 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;
protected:
private:
BlobRef * _blobRef;
};
} // namespace Magick
#endif // Magick_BlobRef_header
|