Add a std::string overload function for new_from_buffer

This commit is contained in:
Kleis Auke Wolthuizen 2019-01-11 13:25:40 +01:00 committed by kleisauke
parent bd5711ef8e
commit c397543c8e
5 changed files with 17 additions and 9 deletions

View File

@ -32,8 +32,6 @@
#endif /*HAVE_CONFIG_H*/ #endif /*HAVE_CONFIG_H*/
#include <vips/intl.h> #include <vips/intl.h>
#include <iostream>
#include <vips/vips8> #include <vips/vips8>
VIPS_NAMESPACE_START VIPS_NAMESPACE_START

View File

@ -563,7 +563,7 @@ VImage::new_from_file( const char *name, VOption *options )
} }
VImage VImage
VImage::new_from_buffer( void *buf, size_t len, const char *option_string, VImage::new_from_buffer( const void *buf, size_t len, const char *option_string,
VOption *options ) VOption *options )
{ {
const char *operation_name; const char *operation_name;
@ -588,6 +588,13 @@ VImage::new_from_buffer( void *buf, size_t len, const char *option_string,
return( out ); return( out );
} }
VImage
VImage::new_from_buffer( const std::string &buf, const char *option_string,
VOption *options )
{
return( new_from_buffer( buf.c_str(), buf.size(), option_string, options ) );
}
VImage VImage
VImage::new_matrix( int width, int height ) VImage::new_matrix( int width, int height )
{ {

View File

@ -31,8 +31,8 @@
#ifndef VIPS_VERROR_H #ifndef VIPS_VERROR_H
#define VIPS_VERROR_H #define VIPS_VERROR_H
#include <string> #include <cstring>
#include <iosfwd> #include <ostream>
#include <exception> #include <exception>
#include <vips/vips.h> #include <vips/vips.h>
@ -43,7 +43,7 @@ class VIPS_CPLUSPLUS_API VError : public std::exception {
std::string _what; std::string _what;
public: public:
VError( std::string what ) : _what( what ) {} VError( const std::string &what ) : _what( what ) {}
VError() : _what( vips_error_buffer() ) {} VError() : _what( vips_error_buffer() ) {}
virtual ~VError() throw() {} virtual ~VError() throw() {}

View File

@ -34,7 +34,7 @@
#include <complex> #include <complex>
#include <vector> #include <vector>
#include <string.h> #include <cstring>
#include <vips/vips.h> #include <vips/vips.h>
@ -470,7 +470,10 @@ public:
return( VImage( image ) ); return( VImage( image ) );
} }
static VImage new_from_buffer( void *buf, size_t len, static VImage new_from_buffer( const void *buf, size_t len,
const char *option_string, VOption *options = 0 );
static VImage new_from_buffer( const std::string &buf,
const char *option_string, VOption *options = 0 ); const char *option_string, VOption *options = 0 );
static VImage new_matrix( int width, int height ); static VImage new_matrix( int width, int height );

View File

@ -34,7 +34,7 @@
#include <complex> #include <complex>
#include <vector> #include <vector>
#include <string.h> #include <cstring>
#include <vips/vips.h> #include <vips/vips.h>