make cpp overloads const

all overloads are declared const now, where possible

also revised cpp examples and ran them to check

see https://github.com/jcupitt/libvips/issues/983
This commit is contained in:
John Cupitt 2018-06-11 15:24:11 +01:00
parent ca6410e1a6
commit 0e3cac1a72
12 changed files with 305 additions and 372 deletions

View File

@ -26,7 +26,7 @@
- fix compile with MSVC 2017 [angelmixu] - fix compile with MSVC 2017 [angelmixu]
- pdfload has a option for background - pdfload has a option for background
- vips7 C++ interface defaults off - vips7 C++ interface defaults off
- make members and getters "const" in cpp API - make members, getters and operators "const" in cpp API
12/3/18 started 8.6.4 12/3/18 started 8.6.4
- better fitting of fonts with overhanging edges [Adrià] - better fitting of fonts with overhanging edges [Adrià]

View File

@ -734,43 +734,43 @@ VImage::maxpos( VOption *options ) const
// Operator overloads // Operator overloads
VImage VImage
VImage::operator[]( int index ) VImage::operator[]( int index ) const
{ {
return( this->extract_band( index ) ); return( this->extract_band( index ) );
} }
std::vector<double> std::vector<double>
VImage::operator()( int x, int y ) VImage::operator()( int x, int y ) const
{ {
return( this->getpoint( x, y ) ); return( this->getpoint( x, y ) );
} }
VImage VImage
operator+( VImage a, VImage b ) operator+( const VImage a, const VImage b )
{ {
return( a.add( b ) ); return( a.add( b ) );
} }
VImage VImage
operator+( double a, VImage b ) operator+( double a, const VImage b )
{ {
return( b.linear( 1.0, a ) ); return( b.linear( 1.0, a ) );
} }
VImage VImage
operator+( VImage a, double b ) operator+( const VImage a, double b )
{ {
return( a.linear( 1.0, b ) ); return( a.linear( 1.0, b ) );
} }
VImage VImage
operator+( std::vector<double> a, VImage b ) operator+( const std::vector<double> a, const VImage b )
{ {
return( b.linear( 1.0, a ) ); return( b.linear( 1.0, a ) );
} }
VImage VImage
operator+( VImage a, std::vector<double> b ) operator+( const VImage a, const std::vector<double> b )
{ {
return( a.linear( 1.0, b ) ); return( a.linear( 1.0, b ) );
} }
@ -788,37 +788,37 @@ operator+=( VImage &a, const double b )
} }
VImage & VImage &
operator+=( VImage &a, std::vector<double> b ) operator+=( VImage &a, const std::vector<double> b )
{ {
return( a = a + b ); return( a = a + b );
} }
VImage VImage
operator-( VImage a, VImage b ) operator-( const VImage a, const VImage b )
{ {
return( a.subtract( b ) ); return( a.subtract( b ) );
} }
VImage VImage
operator-( double a, VImage b ) operator-( double a, const VImage b )
{ {
return( b.linear( -1.0, a ) ); return( b.linear( -1.0, a ) );
} }
VImage VImage
operator-( VImage a, double b ) operator-( const VImage a, double b )
{ {
return( a.linear( 1.0, -b ) ); return( a.linear( 1.0, -b ) );
} }
VImage VImage
operator-( std::vector<double> a, VImage b ) operator-( const std::vector<double> a, const VImage b )
{ {
return( b.linear( -1.0, a ) ); return( b.linear( -1.0, a ) );
} }
VImage VImage
operator-( VImage a, std::vector<double> b ) operator-( const VImage a, const std::vector<double> b )
{ {
return( a.linear( 1.0, vips::negate( b ) ) ); return( a.linear( 1.0, vips::negate( b ) ) );
} }
@ -836,43 +836,43 @@ operator-=( VImage &a, const double b )
} }
VImage & VImage &
operator-=( VImage &a, std::vector<double> b ) operator-=( VImage &a, const std::vector<double> b )
{ {
return( a = a - b ); return( a = a - b );
} }
VImage VImage
operator-( VImage a ) operator-( const VImage a )
{ {
return( a * -1 ); return( a * -1 );
} }
VImage VImage
operator*( VImage a, VImage b ) operator*( const VImage a, const VImage b )
{ {
return( a.multiply( b ) ); return( a.multiply( b ) );
} }
VImage VImage
operator*( double a, VImage b ) operator*( double a, const VImage b )
{ {
return( b.linear( a, 0.0 ) ); return( b.linear( a, 0.0 ) );
} }
VImage VImage
operator*( VImage a, double b ) operator*( const VImage a, double b )
{ {
return( a.linear( b, 0.0 ) ); return( a.linear( b, 0.0 ) );
} }
VImage VImage
operator*( std::vector<double> a, VImage b ) operator*( const std::vector<double> a, const VImage b )
{ {
return( b.linear( a, 0.0 ) ); return( b.linear( a, 0.0 ) );
} }
VImage VImage
operator*( VImage a, std::vector<double> b ) operator*( const VImage a, const std::vector<double> b )
{ {
return( a.linear( b, 0.0 ) ); return( a.linear( b, 0.0 ) );
} }
@ -890,37 +890,37 @@ operator*=( VImage &a, const double b )
} }
VImage & VImage &
operator*=( VImage &a, std::vector<double> b ) operator*=( VImage &a, const std::vector<double> b )
{ {
return( a = a * b ); return( a = a * b );
} }
VImage VImage
operator/( VImage a, VImage b ) operator/( const VImage a, const VImage b )
{ {
return( a.divide( b ) ); return( a.divide( b ) );
} }
VImage VImage
operator/( double a, VImage b ) operator/( double a, const VImage b )
{ {
return( b.pow( -1.0 ).linear( a, 0.0 ) ); return( b.pow( -1.0 ).linear( a, 0.0 ) );
} }
VImage VImage
operator/( VImage a, double b ) operator/( const VImage a, double b )
{ {
return( a.linear( 1.0 / b, 0.0 ) ); return( a.linear( 1.0 / b, 0.0 ) );
} }
VImage VImage
operator/( std::vector<double> a, VImage b ) operator/( const std::vector<double> a, const VImage b )
{ {
return( b.pow( -1.0 ).linear( a, 0.0 ) ); return( b.pow( -1.0 ).linear( a, 0.0 ) );
} }
VImage VImage
operator/( VImage a, std::vector<double> b ) operator/( const VImage a, const std::vector<double> b )
{ {
return( a.linear( vips::invert( b ), 0.0 ) ); return( a.linear( vips::invert( b ), 0.0 ) );
} }
@ -938,25 +938,25 @@ operator/=( VImage &a, const double b )
} }
VImage & VImage &
operator/=( VImage &a, std::vector<double> b ) operator/=( VImage &a, const std::vector<double> b )
{ {
return( a = a / b ); return( a = a / b );
} }
VImage VImage
operator%( VImage a, VImage b ) operator%( const VImage a, const VImage b )
{ {
return( a.remainder( b ) ); return( a.remainder( b ) );
} }
VImage VImage
operator%( VImage a, double b ) operator%( const VImage a, const double b )
{ {
return( a.remainder_const( to_vector( b ) ) ); return( a.remainder_const( to_vector( b ) ) );
} }
VImage VImage
operator%( VImage a, std::vector<double> b ) operator%( const VImage a, const std::vector<double> b )
{ {
return( a.remainder_const( b ) ); return( a.remainder_const( b ) );
} }
@ -974,243 +974,243 @@ operator%=( VImage &a, const double b )
} }
VImage & VImage &
operator%=( VImage &a, std::vector<double> b ) operator%=( VImage &a, const std::vector<double> b )
{ {
return( a = a % b ); return( a = a % b );
} }
VImage VImage
operator<( VImage a, VImage b ) operator<( const VImage a, const VImage b )
{ {
return( a.relational( b, VIPS_OPERATION_RELATIONAL_LESS ) ); return( a.relational( b, VIPS_OPERATION_RELATIONAL_LESS ) );
} }
VImage VImage
operator<( double a, VImage b ) operator<( const double a, const VImage b )
{ {
return( b.relational_const( VIPS_OPERATION_RELATIONAL_MORE, return( b.relational_const( VIPS_OPERATION_RELATIONAL_MORE,
to_vector( a ) ) ); to_vector( a ) ) );
} }
VImage VImage
operator<( VImage a, double b ) operator<( const VImage a, const double b )
{ {
return( a.relational_const( VIPS_OPERATION_RELATIONAL_LESS, return( a.relational_const( VIPS_OPERATION_RELATIONAL_LESS,
to_vector( b ) ) ); to_vector( b ) ) );
} }
VImage VImage
operator<( std::vector<double> a, VImage b ) operator<( const std::vector<double> a, const VImage b )
{ {
return( b.relational_const( VIPS_OPERATION_RELATIONAL_MORE, return( b.relational_const( VIPS_OPERATION_RELATIONAL_MORE,
a ) ); a ) );
} }
VImage VImage
operator<( VImage a, std::vector<double> b ) operator<( const VImage a, const std::vector<double> b )
{ {
return( a.relational_const( VIPS_OPERATION_RELATIONAL_LESS, return( a.relational_const( VIPS_OPERATION_RELATIONAL_LESS,
b ) ); b ) );
} }
VImage VImage
operator<=( VImage a, VImage b ) operator<=( const VImage a, const VImage b )
{ {
return( a.relational( b, VIPS_OPERATION_RELATIONAL_LESSEQ ) ); return( a.relational( b, VIPS_OPERATION_RELATIONAL_LESSEQ ) );
} }
VImage VImage
operator<=( double a, VImage b ) operator<=( const double a, const VImage b )
{ {
return( b.relational_const( VIPS_OPERATION_RELATIONAL_MOREEQ, return( b.relational_const( VIPS_OPERATION_RELATIONAL_MOREEQ,
to_vector( a ) ) ); to_vector( a ) ) );
} }
VImage VImage
operator<=( VImage a, double b ) operator<=( const VImage a, const double b )
{ {
return( a.relational_const( VIPS_OPERATION_RELATIONAL_LESSEQ, return( a.relational_const( VIPS_OPERATION_RELATIONAL_LESSEQ,
to_vector( b ) ) ); to_vector( b ) ) );
} }
VImage VImage
operator<=( std::vector<double> a, VImage b ) operator<=( const std::vector<double> a, const VImage b )
{ {
return( b.relational_const( VIPS_OPERATION_RELATIONAL_MOREEQ, return( b.relational_const( VIPS_OPERATION_RELATIONAL_MOREEQ,
a ) ); a ) );
} }
VImage VImage
operator<=( VImage a, std::vector<double> b ) operator<=( const VImage a, const std::vector<double> b )
{ {
return( a.relational_const( VIPS_OPERATION_RELATIONAL_LESSEQ, return( a.relational_const( VIPS_OPERATION_RELATIONAL_LESSEQ,
b ) ); b ) );
} }
VImage VImage
operator>( VImage a, VImage b ) operator>( const VImage a, const VImage b )
{ {
return( a.relational( b, VIPS_OPERATION_RELATIONAL_MORE ) ); return( a.relational( b, VIPS_OPERATION_RELATIONAL_MORE ) );
} }
VImage VImage
operator>( double a, VImage b ) operator>( const double a, const VImage b )
{ {
return( b.relational_const( VIPS_OPERATION_RELATIONAL_LESS, return( b.relational_const( VIPS_OPERATION_RELATIONAL_LESS,
to_vector( a ) ) ); to_vector( a ) ) );
} }
VImage VImage
operator>( VImage a, double b ) operator>( const VImage a, const double b )
{ {
return( a.relational_const( VIPS_OPERATION_RELATIONAL_MORE, return( a.relational_const( VIPS_OPERATION_RELATIONAL_MORE,
to_vector( b ) ) ); to_vector( b ) ) );
} }
VImage VImage
operator>( std::vector<double> a, VImage b ) operator>( const std::vector<double> a, const VImage b )
{ {
return( b.relational_const( VIPS_OPERATION_RELATIONAL_LESS, return( b.relational_const( VIPS_OPERATION_RELATIONAL_LESS,
a ) ); a ) );
} }
VImage VImage
operator>( VImage a, std::vector<double> b ) operator>( const VImage a, const std::vector<double> b )
{ {
return( a.relational_const( VIPS_OPERATION_RELATIONAL_MORE, return( a.relational_const( VIPS_OPERATION_RELATIONAL_MORE,
b ) ); b ) );
} }
VImage VImage
operator>=( VImage a, VImage b ) operator>=( const VImage a, const VImage b )
{ {
return( a.relational( b, VIPS_OPERATION_RELATIONAL_MOREEQ ) ); return( a.relational( b, VIPS_OPERATION_RELATIONAL_MOREEQ ) );
} }
VImage VImage
operator>=( double a, VImage b ) operator>=( const double a, const VImage b )
{ {
return( b.relational_const( VIPS_OPERATION_RELATIONAL_LESSEQ, return( b.relational_const( VIPS_OPERATION_RELATIONAL_LESSEQ,
to_vector( a ) ) ); to_vector( a ) ) );
} }
VImage VImage
operator>=( VImage a, double b ) operator>=( const VImage a, const double b )
{ {
return( a.relational_const( VIPS_OPERATION_RELATIONAL_MOREEQ, return( a.relational_const( VIPS_OPERATION_RELATIONAL_MOREEQ,
to_vector( b ) ) ); to_vector( b ) ) );
} }
VImage VImage
operator>=( std::vector<double> a, VImage b ) operator>=( const std::vector<double> a, const VImage b )
{ {
return( b.relational_const( VIPS_OPERATION_RELATIONAL_LESSEQ, return( b.relational_const( VIPS_OPERATION_RELATIONAL_LESSEQ,
a ) ); a ) );
} }
VImage VImage
operator>=( VImage a, std::vector<double> b ) operator>=( const VImage a, const std::vector<double> b )
{ {
return( a.relational_const( VIPS_OPERATION_RELATIONAL_MOREEQ, return( a.relational_const( VIPS_OPERATION_RELATIONAL_MOREEQ,
b ) ); b ) );
} }
VImage VImage
operator==( VImage a, VImage b ) operator==( const VImage a, const VImage b )
{ {
return( a.relational( b, VIPS_OPERATION_RELATIONAL_EQUAL ) ); return( a.relational( b, VIPS_OPERATION_RELATIONAL_EQUAL ) );
} }
VImage VImage
operator==( double a, VImage b ) operator==( const double a, const VImage b )
{ {
return( b.relational_const( VIPS_OPERATION_RELATIONAL_EQUAL, return( b.relational_const( VIPS_OPERATION_RELATIONAL_EQUAL,
to_vector( a ) ) ); to_vector( a ) ) );
} }
VImage VImage
operator==( VImage a, double b ) operator==( const VImage a, const double b )
{ {
return( a.relational_const( VIPS_OPERATION_RELATIONAL_EQUAL, return( a.relational_const( VIPS_OPERATION_RELATIONAL_EQUAL,
to_vector( b ) ) ); to_vector( b ) ) );
} }
VImage VImage
operator==( std::vector<double> a, VImage b ) operator==( const std::vector<double> a, const VImage b )
{ {
return( b.relational_const( VIPS_OPERATION_RELATIONAL_EQUAL, return( b.relational_const( VIPS_OPERATION_RELATIONAL_EQUAL,
a ) ); a ) );
} }
VImage VImage
operator==( VImage a, std::vector<double> b ) operator==( const VImage a, const std::vector<double> b )
{ {
return( a.relational_const( VIPS_OPERATION_RELATIONAL_EQUAL, return( a.relational_const( VIPS_OPERATION_RELATIONAL_EQUAL,
b ) ); b ) );
} }
VImage VImage
operator!=( VImage a, VImage b ) operator!=( const VImage a, const VImage b )
{ {
return( a.relational( b, VIPS_OPERATION_RELATIONAL_NOTEQ ) ); return( a.relational( b, VIPS_OPERATION_RELATIONAL_NOTEQ ) );
} }
VImage VImage
operator!=( double a, VImage b ) operator!=( const double a, const VImage b )
{ {
return( b.relational_const( VIPS_OPERATION_RELATIONAL_NOTEQ, return( b.relational_const( VIPS_OPERATION_RELATIONAL_NOTEQ,
to_vector( a ) ) ); to_vector( a ) ) );
} }
VImage VImage
operator!=( VImage a, double b ) operator!=( const VImage a, const double b )
{ {
return( a.relational_const( VIPS_OPERATION_RELATIONAL_NOTEQ, return( a.relational_const( VIPS_OPERATION_RELATIONAL_NOTEQ,
to_vector( b ) ) ); to_vector( b ) ) );
} }
VImage VImage
operator!=( std::vector<double> a, VImage b ) operator!=( const std::vector<double> a, const VImage b )
{ {
return( b.relational_const( VIPS_OPERATION_RELATIONAL_NOTEQ, return( b.relational_const( VIPS_OPERATION_RELATIONAL_NOTEQ,
a ) ); a ) );
} }
VImage VImage
operator!=( VImage a, std::vector<double> b ) operator!=( const VImage a, const std::vector<double> b )
{ {
return( a.relational_const( VIPS_OPERATION_RELATIONAL_NOTEQ, return( a.relational_const( VIPS_OPERATION_RELATIONAL_NOTEQ,
b ) ); b ) );
} }
VImage VImage
operator&( VImage a, VImage b ) operator&( const VImage a, const VImage b )
{ {
return( a.boolean( b, VIPS_OPERATION_BOOLEAN_AND ) ); return( a.boolean( b, VIPS_OPERATION_BOOLEAN_AND ) );
} }
VImage VImage
operator&( double a, VImage b ) operator&( const double a, const VImage b )
{ {
return( b.boolean_const( VIPS_OPERATION_BOOLEAN_AND, return( b.boolean_const( VIPS_OPERATION_BOOLEAN_AND,
to_vector( a ) ) ); to_vector( a ) ) );
} }
VImage VImage
operator&( VImage a, double b ) operator&( const VImage a, const double b )
{ {
return( a.boolean_const( VIPS_OPERATION_BOOLEAN_AND, return( a.boolean_const( VIPS_OPERATION_BOOLEAN_AND,
to_vector( b ) ) ); to_vector( b ) ) );
} }
VImage VImage
operator&( std::vector<double> a, VImage b ) operator&( const std::vector<double> a, const VImage b )
{ {
return( b.boolean_const( VIPS_OPERATION_BOOLEAN_AND, a ) ); return( b.boolean_const( VIPS_OPERATION_BOOLEAN_AND, a ) );
} }
VImage VImage
operator&( VImage a, std::vector<double> b ) operator&( const VImage a, const std::vector<double> b )
{ {
return( a.boolean_const( VIPS_OPERATION_BOOLEAN_AND, b ) ); return( a.boolean_const( VIPS_OPERATION_BOOLEAN_AND, b ) );
} }
@ -1228,40 +1228,40 @@ operator&=( VImage &a, const double b )
} }
VImage & VImage &
operator&=( VImage &a, std::vector<double> b ) operator&=( VImage &a, const std::vector<double> b )
{ {
return( a = a & b ); return( a = a & b );
} }
VImage VImage
operator|( VImage a, VImage b ) operator|( const VImage a, const VImage b )
{ {
return( a.boolean( b, VIPS_OPERATION_BOOLEAN_OR ) ); return( a.boolean( b, VIPS_OPERATION_BOOLEAN_OR ) );
} }
VImage VImage
operator|( double a, VImage b ) operator|( const double a, const VImage b )
{ {
return( b.boolean_const( VIPS_OPERATION_BOOLEAN_OR, return( b.boolean_const( VIPS_OPERATION_BOOLEAN_OR,
to_vector( a ) ) ); to_vector( a ) ) );
} }
VImage VImage
operator|( VImage a, double b ) operator|( const VImage a, const double b )
{ {
return( a.boolean_const( VIPS_OPERATION_BOOLEAN_OR, return( a.boolean_const( VIPS_OPERATION_BOOLEAN_OR,
to_vector( b ) ) ); to_vector( b ) ) );
} }
VImage VImage
operator|( std::vector<double> a, VImage b ) operator|( const std::vector<double> a, const VImage b )
{ {
return( b.boolean_const( VIPS_OPERATION_BOOLEAN_OR, return( b.boolean_const( VIPS_OPERATION_BOOLEAN_OR,
a ) ); a ) );
} }
VImage VImage
operator|( VImage a, std::vector<double> b ) operator|( const VImage a, const std::vector<double> b )
{ {
return( a.boolean_const( VIPS_OPERATION_BOOLEAN_OR, return( a.boolean_const( VIPS_OPERATION_BOOLEAN_OR,
b ) ); b ) );
@ -1280,40 +1280,40 @@ operator|=( VImage &a, const double b )
} }
VImage & VImage &
operator|=( VImage &a, std::vector<double> b ) operator|=( VImage &a, const std::vector<double> b )
{ {
return( a = a | b ); return( a = a | b );
} }
VImage VImage
operator^( VImage a, VImage b ) operator^( const VImage a, const VImage b )
{ {
return( a.boolean( b, VIPS_OPERATION_BOOLEAN_EOR ) ); return( a.boolean( b, VIPS_OPERATION_BOOLEAN_EOR ) );
} }
VImage VImage
operator^( double a, VImage b ) operator^( const double a, const VImage b )
{ {
return( b.boolean_const( VIPS_OPERATION_BOOLEAN_EOR, return( b.boolean_const( VIPS_OPERATION_BOOLEAN_EOR,
to_vector( a ) ) ); to_vector( a ) ) );
} }
VImage VImage
operator^( VImage a, double b ) operator^( const VImage a, const double b )
{ {
return( a.boolean_const( VIPS_OPERATION_BOOLEAN_EOR, return( a.boolean_const( VIPS_OPERATION_BOOLEAN_EOR,
to_vector( b ) ) ); to_vector( b ) ) );
} }
VImage VImage
operator^( std::vector<double> a, VImage b ) operator^( const std::vector<double> a, const VImage b )
{ {
return( b.boolean_const( VIPS_OPERATION_BOOLEAN_EOR, return( b.boolean_const( VIPS_OPERATION_BOOLEAN_EOR,
a ) ); a ) );
} }
VImage VImage
operator^( VImage a, std::vector<double> b ) operator^( const VImage a, const std::vector<double> b )
{ {
return( a.boolean_const( VIPS_OPERATION_BOOLEAN_EOR, return( a.boolean_const( VIPS_OPERATION_BOOLEAN_EOR,
b ) ); b ) );
@ -1332,26 +1332,26 @@ operator^=( VImage &a, const double b )
} }
VImage & VImage &
operator^=( VImage &a, std::vector<double> b ) operator^=( VImage &a, const std::vector<double> b )
{ {
return( a = a ^ b ); return( a = a ^ b );
} }
VImage VImage
operator<<( VImage a, VImage b ) operator<<( const VImage a, const VImage b )
{ {
return( a.boolean( b, VIPS_OPERATION_BOOLEAN_LSHIFT ) ); return( a.boolean( b, VIPS_OPERATION_BOOLEAN_LSHIFT ) );
} }
VImage VImage
operator<<( VImage a, double b ) operator<<( const VImage a, const double b )
{ {
return( a.boolean_const( VIPS_OPERATION_BOOLEAN_LSHIFT, return( a.boolean_const( VIPS_OPERATION_BOOLEAN_LSHIFT,
to_vector( b ) ) ); to_vector( b ) ) );
} }
VImage VImage
operator<<( VImage a, std::vector<double> b ) operator<<( const VImage a, const std::vector<double> b )
{ {
return( a.boolean_const( VIPS_OPERATION_BOOLEAN_LSHIFT, return( a.boolean_const( VIPS_OPERATION_BOOLEAN_LSHIFT,
b ) ); b ) );
@ -1370,26 +1370,26 @@ operator<<=( VImage &a, const double b )
} }
VImage & VImage &
operator<<=( VImage &a, std::vector<double> b ) operator<<=( VImage &a, const std::vector<double> b )
{ {
return( a = a << b ); return( a = a << b );
} }
VImage VImage
operator>>( VImage a, VImage b ) operator>>( const VImage a, const VImage b )
{ {
return( a.boolean( b, VIPS_OPERATION_BOOLEAN_RSHIFT ) ); return( a.boolean( b, VIPS_OPERATION_BOOLEAN_RSHIFT ) );
} }
VImage VImage
operator>>( VImage a, double b ) operator>>( const VImage a, const double b )
{ {
return( a.boolean_const( VIPS_OPERATION_BOOLEAN_RSHIFT, return( a.boolean_const( VIPS_OPERATION_BOOLEAN_RSHIFT,
to_vector( b ) ) ); to_vector( b ) ) );
} }
VImage VImage
operator>>( VImage a, std::vector<double> b ) operator>>( const VImage a, const std::vector<double> b )
{ {
return( a.boolean_const( VIPS_OPERATION_BOOLEAN_RSHIFT, return( a.boolean_const( VIPS_OPERATION_BOOLEAN_RSHIFT,
b ) ); b ) );
@ -1408,7 +1408,7 @@ operator>>=( VImage &a, const double b )
} }
VImage & VImage &
operator>>=( VImage &a, std::vector<double> b ) operator>>=( VImage &a, const std::vector<double> b )
{ {
return( a = a << b ); return( a = a << b );
} }

View File

@ -14,38 +14,16 @@ using namespace vips;
int int
main( int argc, char **argv ) main( int argc, char **argv )
{ {
GOptionContext *context;
GOptionGroup *main_group;
GError *error = NULL;
if( vips_init( argv[0] ) ) if( vips_init( argv[0] ) )
vips_error_exit( NULL ); vips_error_exit( NULL );
context = g_option_context_new( "" );
main_group = g_option_group_new( NULL, NULL, NULL, NULL, NULL );
g_option_context_set_main_group( context, main_group );
g_option_context_add_group( context, vips_get_option_group() );
if( !g_option_context_parse( context, &argc, &argv, &error ) ) {
if( error ) {
fprintf( stderr, "%s\n", error->message );
g_error_free( error );
}
vips_error_exit( NULL );
}
{
VImage in = VImage::new_from_file( argv[1], VImage in = VImage::new_from_file( argv[1],
VImage::option()->set( "access", VIPS_ACCESS_SEQUENTIAL_UNBUFFERED ) ); VImage::option()->set( "access", VIPS_ACCESS_SEQUENTIAL ) );
double avg; double avg;
avg = in.avg(); avg = in.avg();
printf( "avg = %g\n", avg ); printf( "avg = %g\n", avg );
}
vips_shutdown(); vips_shutdown();

View File

@ -14,28 +14,9 @@ using namespace vips;
int int
main( int argc, char **argv ) main( int argc, char **argv )
{ {
GOptionContext *context;
GOptionGroup *main_group;
GError *error = NULL;
if( VIPS_INIT( argv[0] ) ) if( VIPS_INIT( argv[0] ) )
vips_error_exit( NULL ); vips_error_exit( NULL );
context = g_option_context_new( "" );
main_group = g_option_group_new( NULL, NULL, NULL, NULL, NULL );
g_option_context_set_main_group( context, main_group );
g_option_context_add_group( context, vips_get_option_group() );
if( !g_option_context_parse( context, &argc, &argv, &error ) ) {
if( error ) {
fprintf( stderr, "%s\n", error->message );
g_error_free( error );
}
vips_error_exit( NULL );
}
// load an image from a file // load an image from a file
VImage im = VImage::new_from_file( argv[1], VImage im = VImage::new_from_file( argv[1],
VImage::option()->set( "access", "sequential" ) ); VImage::option()->set( "access", "sequential" ) );

View File

@ -14,38 +14,16 @@ using namespace vips;
int int
main( int argc, char **argv ) main( int argc, char **argv )
{ {
GOptionContext *context;
GOptionGroup *main_group;
GError *error = NULL;
if( vips_init( argv[0] ) ) if( vips_init( argv[0] ) )
vips_error_exit( NULL ); vips_error_exit( NULL );
context = g_option_context_new( "" );
main_group = g_option_group_new( NULL, NULL, NULL, NULL, NULL );
g_option_context_set_main_group( context, main_group );
g_option_context_add_group( context, vips_get_option_group() );
if( !g_option_context_parse( context, &argc, &argv, &error ) ) {
if( error ) {
fprintf( stderr, "%s\n", error->message );
g_error_free( error );
}
vips_error_exit( NULL );
}
{
VImage in = VImage::new_from_file( argv[1], VImage in = VImage::new_from_file( argv[1],
VImage::option()->set( "access", VIPS_ACCESS_SEQUENTIAL_UNBUFFERED ) ); VImage::option()->set( "access", "sequential" ) );
VImage out = in.embed( 10, 10, 1000, 1000, VImage out = in.embed( 10, 10, 1000, 1000,
VImage::option()->set( "extend", VIPS_EXTEND_COPY ) ); VImage::option()->set( "extend", "copy" ) );
out.write_to_file( argv[2] ); out.write_to_file( argv[2] );
}
vips_shutdown(); vips_shutdown();

View File

@ -14,43 +14,21 @@ using namespace vips;
int int
main( int argc, char **argv ) main( int argc, char **argv )
{ {
GOptionContext *context;
GOptionGroup *main_group;
GError *error = NULL;
if( vips_init( argv[0] ) ) if( vips_init( argv[0] ) )
vips_error_exit( NULL ); vips_error_exit( NULL );
context = g_option_context_new( "" );
main_group = g_option_group_new( NULL, NULL, NULL, NULL, NULL );
g_option_context_set_main_group( context, main_group );
g_option_context_add_group( context, vips_get_option_group() );
if( !g_option_context_parse( context, &argc, &argv, &error ) ) {
if( error ) {
fprintf( stderr, "%s\n", error->message );
g_error_free( error );
}
vips_error_exit( NULL );
}
printf( "these should match if VImage is compile-time-only\n" ); printf( "these should match if VImage is compile-time-only\n" );
printf( "sizeof( VipsImage *) = %zd\n", sizeof( VipsImage *) ); printf( "sizeof( VipsImage *) = %zd\n", sizeof( VipsImage *) );
printf( "sizeof( VImage ) = %zd\n", sizeof( VImage ) ); printf( "sizeof( VImage ) = %zd\n", sizeof( VImage ) );
{
VImage in = VImage::new_from_file( argv[1], VImage in = VImage::new_from_file( argv[1],
VImage::option()->set( "access", VIPS_ACCESS_SEQUENTIAL_UNBUFFERED ) ); VImage::option()->set( "access", VIPS_ACCESS_SEQUENTIAL ) );
VImage out; VImage out;
out = in.invert(); out = in.invert();
out.write_to_file( argv[2] ); out.write_to_file( argv[2] );
}
vips_shutdown(); vips_shutdown();

View File

@ -14,30 +14,9 @@ using namespace vips;
int int
main( int argc, char **argv ) main( int argc, char **argv )
{ {
GOptionContext *context;
GOptionGroup *main_group;
GError *error = NULL;
if( vips_init( argv[0] ) ) if( vips_init( argv[0] ) )
vips_error_exit( NULL ); vips_error_exit( NULL );
context = g_option_context_new( "" );
main_group = g_option_group_new( NULL, NULL, NULL, NULL, NULL );
g_option_context_set_main_group( context, main_group );
g_option_context_add_group( context, vips_get_option_group() );
if( !g_option_context_parse( context, &argc, &argv, &error ) ) {
if( error ) {
fprintf( stderr, "%s\n", error->message );
g_error_free( error );
}
vips_error_exit( NULL );
}
{
VImage in = VImage::new_from_file( argv[1] ); VImage in = VImage::new_from_file( argv[1] );
VImage rows; VImage rows;
@ -45,7 +24,6 @@ main( int argc, char **argv )
rows.write_to_file( argv[2] ); rows.write_to_file( argv[2] );
cols.write_to_file( argv[3] ); cols.write_to_file( argv[3] );
}
vips_shutdown(); vips_shutdown();

View File

@ -14,29 +14,9 @@ using namespace vips;
int int
main( int argc, char **argv ) main( int argc, char **argv )
{ {
GOptionContext *context;
GOptionGroup *main_group;
GError *error = NULL;
if( vips_init( argv[0] ) ) if( vips_init( argv[0] ) )
vips_error_exit( NULL ); vips_error_exit( NULL );
context = g_option_context_new( "" );
main_group = g_option_group_new( NULL, NULL, NULL, NULL, NULL );
g_option_context_set_main_group( context, main_group );
g_option_context_add_group( context, vips_get_option_group() );
if( !g_option_context_parse( context, &argc, &argv, &error ) ) {
if( error ) {
fprintf( stderr, "%s\n", error->message );
g_error_free( error );
}
vips_error_exit( NULL );
}
{
VImage in = VImage::new_from_file( argv[1], VImage in = VImage::new_from_file( argv[1],
VImage::option()->set( "access", VIPS_ACCESS_SEQUENTIAL ) ); VImage::option()->set( "access", VIPS_ACCESS_SEQUENTIAL ) );
VInterpolate interp = VInterpolate::new_from_name( "nohalo" ); VInterpolate interp = VInterpolate::new_from_name( "nohalo" );
@ -46,7 +26,6 @@ main( int argc, char **argv )
out = in.resize( 0.2, VImage::option()->set( "interpolate", interp ) ); out = in.resize( 0.2, VImage::option()->set( "interpolate", interp ) );
out.write_to_file( argv[2] ); out.write_to_file( argv[2] );
}
vips_shutdown(); vips_shutdown();

View File

@ -242,30 +242,9 @@ TEST_BINARY( test_divide );
int int
main( int argc, char **argv ) main( int argc, char **argv )
{ {
GOptionContext *context;
GOptionGroup *main_group;
GError *error = NULL;
if( VIPS_INIT( argv[0] ) ) if( VIPS_INIT( argv[0] ) )
vips_error_exit( NULL ); vips_error_exit( NULL );
context = g_option_context_new( "" );
main_group = g_option_group_new( NULL, NULL, NULL, NULL, NULL );
g_option_context_set_main_group( context, main_group );
g_option_context_add_group( context, vips_get_option_group() );
if( !g_option_context_parse( context, &argc, &argv, &error ) ) {
if( error ) {
fprintf( stderr, "%s\n", error->message );
g_error_free( error );
}
vips_error_exit( NULL );
}
g_option_context_free( context );
VImage left = VImage::new_from_file( argv[1] ); VImage left = VImage::new_from_file( argv[1] );
VImage right = VImage::new_from_file( argv[2] ); VImage right = VImage::new_from_file( argv[2] );

View File

@ -366,31 +366,9 @@ TEST_ASSIGNMENT( test_divideequals );
int int
main( int argc, char **argv ) main( int argc, char **argv )
{ {
GOptionContext *context;
GOptionGroup *main_group;
GError *error = NULL;
if( VIPS_INIT( argv[0] ) ) if( VIPS_INIT( argv[0] ) )
vips_error_exit( NULL ); vips_error_exit( NULL );
context = g_option_context_new( "" );
main_group = g_option_group_new( NULL, NULL, NULL, NULL, NULL );
g_option_context_set_main_group( context, main_group );
g_option_context_add_group( context, vips_get_option_group() );
if( !g_option_context_parse( context, &argc, &argv, &error ) ) {
if( error ) {
fprintf( stderr, "%s\n", error->message );
g_error_free( error );
}
vips_error_exit( NULL );
}
g_option_context_free( context );
{
VImage left = VImage::new_from_file( argv[1] ); VImage left = VImage::new_from_file( argv[1] );
VImage right = VImage::new_from_file( argv[2] ); VImage right = VImage::new_from_file( argv[2] );
@ -406,7 +384,6 @@ main( int argc, char **argv )
test_assignment_test_minusequals( left, right ); test_assignment_test_minusequals( left, right );
test_assignment_test_timesequals( left, right ); test_assignment_test_timesequals( left, right );
test_assignment_test_divideequals( left, right ); test_assignment_test_divideequals( left, right );
}
vips_shutdown(); vips_shutdown();

View File

@ -794,141 +794,246 @@ public:
// Operator overloads // Operator overloads
VImage operator[]( int index ); VImage operator[]( int index ) const;
std::vector<double> operator()( int x, int y ); std::vector<double> operator()( int x, int y ) const;
friend VIPS_CPLUSPLUS_API VImage operator+( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator+( double a, VImage b ); operator+( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator+( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator+( std::vector<double> a, VImage b ); operator+( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator+( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator+( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator+( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator+( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage & operator+=( VImage &a, const VImage b ); friend VIPS_CPLUSPLUS_API VImage &
friend VIPS_CPLUSPLUS_API VImage & operator+=( VImage &a, const double b ); operator+=( VImage &a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage & operator+=( VImage &a, const std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage &
operator+=( VImage &a, const double b );
friend VIPS_CPLUSPLUS_API VImage &
operator+=( VImage &a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator-( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator-( double a, VImage b ); operator-( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator-( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator-( std::vector<double> a, VImage b ); operator-( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator-( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator-( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator-( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator-( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage & operator-=( VImage &a, const VImage b ); friend VIPS_CPLUSPLUS_API VImage &
friend VIPS_CPLUSPLUS_API VImage & operator-=( VImage &a, const double b ); operator-=( VImage &a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage & operator-=( VImage &a, const std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage &
operator-=( VImage &a, const double b );
friend VIPS_CPLUSPLUS_API VImage &
operator-=( VImage &a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator-( VImage a ); friend VIPS_CPLUSPLUS_API VImage
operator-( const VImage a );
friend VIPS_CPLUSPLUS_API VImage operator*( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator*( double a, VImage b ); operator*( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator*( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator*( std::vector<double> a, VImage b ); operator*( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator*( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator*( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator*( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator*( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage & operator*=( VImage &a, const VImage b ); friend VIPS_CPLUSPLUS_API VImage &
friend VIPS_CPLUSPLUS_API VImage & operator*=( VImage &a, const double b ); operator*=( VImage &a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage & operator*=( VImage &a, const std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage &
operator*=( VImage &a, const double b );
friend VIPS_CPLUSPLUS_API VImage &
operator*=( VImage &a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator/( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator/( double a, VImage b ); operator/( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator/( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator/( std::vector<double> a, VImage b ); operator/( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator/( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator/( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator/( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator/( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage & operator/=( VImage &a, const VImage b ); friend VIPS_CPLUSPLUS_API VImage &
friend VIPS_CPLUSPLUS_API VImage & operator/=( VImage &a, const double b ); operator/=( VImage &a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage & operator/=( VImage &a, const std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage &
operator/=( VImage &a, const double b );
friend VIPS_CPLUSPLUS_API VImage &
operator/=( VImage &a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator%( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator%( VImage a, double b ); operator%( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator%( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator%( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator%( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage & operator%=( VImage &a, const VImage b ); friend VIPS_CPLUSPLUS_API VImage &
friend VIPS_CPLUSPLUS_API VImage & operator%=( VImage &a, const double b ); operator%=( VImage &a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage & operator%=( VImage &a, const std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage &
operator%=( VImage &a, const double b );
friend VIPS_CPLUSPLUS_API VImage &
operator%=( VImage &a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator<( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator<( double a, VImage b ); operator<( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator<( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator<( std::vector<double> a, VImage b ); operator<( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator<( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator<( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator<( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator<( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator<=( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator<=( double a, VImage b ); operator<=( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator<=( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator<=( std::vector<double> a, VImage b ); operator<=( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator<=( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator<=( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator<=( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator<=( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator>( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator>( double a, VImage b ); operator>( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator>( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator>( std::vector<double> a, VImage b ); operator>( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator>( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator>( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator>( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator>( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator>=( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator>=( double a, VImage b ); operator>=( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator>=( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator>=( std::vector<double> a, VImage b ); operator>=( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator>=( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator>=( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator>=( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator>=( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator==( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator==( double a, VImage b ); operator==( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator==( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator==( std::vector<double> a, VImage b ); operator==( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator==( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator==( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator==( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator==( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator!=( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator!=( double a, VImage b ); operator!=( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator!=( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator!=( std::vector<double> a, VImage b ); operator!=( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator!=( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator!=( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator!=( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator!=( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator&( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator&( double a, VImage b ); operator&( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator&( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator&( std::vector<double> a, VImage b ); operator&( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator&( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator&( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator&( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator&( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage & operator&=( VImage &a, const VImage b ); friend VIPS_CPLUSPLUS_API VImage &
friend VIPS_CPLUSPLUS_API VImage & operator&=( VImage &a, const double b ); operator&=( VImage &a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage & operator&=( VImage &a, const std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage &
operator&=( VImage &a, const double b );
friend VIPS_CPLUSPLUS_API VImage &
operator&=( VImage &a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator|( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator|( double a, VImage b ); operator|( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator|( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator|( std::vector<double> a, VImage b ); operator|( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator|( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator|( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator|( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator|( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage & operator|=( VImage &a, const VImage b ); friend VIPS_CPLUSPLUS_API VImage &
friend VIPS_CPLUSPLUS_API VImage & operator|=( VImage &a, const double b ); operator|=( VImage &a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage & operator|=( VImage &a, const std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage &
operator|=( VImage &a, const double b );
friend VIPS_CPLUSPLUS_API VImage &
operator|=( VImage &a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator^( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator^( double a, VImage b ); operator^( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator^( VImage a, double b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator^( std::vector<double> a, VImage b ); operator^( const double a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator^( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator^( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator^( const std::vector<double> a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage
operator^( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage & operator^=( VImage &a, const VImage b ); friend VIPS_CPLUSPLUS_API VImage &
friend VIPS_CPLUSPLUS_API VImage & operator^=( VImage &a, const double b ); operator^=( VImage &a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage & operator^=( VImage &a, const std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage &
operator^=( VImage &a, const double b );
friend VIPS_CPLUSPLUS_API VImage &
operator^=( VImage &a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator<<( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator<<( VImage a, double b ); operator<<( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator<<( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator<<( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator<<( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage & operator<<=( VImage &a, const VImage b ); friend VIPS_CPLUSPLUS_API VImage &
friend VIPS_CPLUSPLUS_API VImage & operator<<=( VImage &a, const double b ); operator<<=( VImage &a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage & operator<<=( VImage &a, const std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage &
operator<<=( VImage &a, const double b );
friend VIPS_CPLUSPLUS_API VImage &
operator<<=( VImage &a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage operator>>( VImage a, VImage b ); friend VIPS_CPLUSPLUS_API VImage
friend VIPS_CPLUSPLUS_API VImage operator>>( VImage a, double b ); operator>>( const VImage a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage operator>>( VImage a, std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage
operator>>( const VImage a, const double b );
friend VIPS_CPLUSPLUS_API VImage
operator>>( const VImage a, const std::vector<double> b );
friend VIPS_CPLUSPLUS_API VImage & operator>>=( VImage &a, const VImage b ); friend VIPS_CPLUSPLUS_API VImage &
friend VIPS_CPLUSPLUS_API VImage & operator>>=( VImage &a, const double b ); operator>>=( VImage &a, const VImage b );
friend VIPS_CPLUSPLUS_API VImage & operator>>=( VImage &a, const std::vector<double> b ); friend VIPS_CPLUSPLUS_API VImage &
operator>>=( VImage &a, const double b );
friend VIPS_CPLUSPLUS_API VImage &
operator>>=( VImage &a, const std::vector<double> b );
}; };

View File

@ -52,7 +52,7 @@ public:
VInterpolate new_from_name( const char *name, VOption *options = 0 ); VInterpolate new_from_name( const char *name, VOption *options = 0 );
VipsInterpolate * VipsInterpolate *
get_interpolate() get_interpolate() const
{ {
return( (VipsInterpolate *) VObject::get_object() ); return( (VipsInterpolate *) VObject::get_object() );
} }