VImage operator^( const std::vector<double> a, const VImage b ) { return( b.boolean_const( VIPS_OPERATION_BOOLEAN_EOR, a ) ); }
VImage operator|( const VImage a, const std::vector<double> b ) { return( a.boolean_const( VIPS_OPERATION_BOOLEAN_OR, b ) ); }
VImage operator^( const VImage a, const double b ) { return( a.boolean_const( VIPS_OPERATION_BOOLEAN_EOR, to_vector( b ) ) ); }
VImage operator|( const double a, const VImage b ) { return( b.boolean_const( VIPS_OPERATION_BOOLEAN_OR, to_vector( a ) ) ); }
VImage operator<<( VImage a, std::vector<double> b ) { return( a.boolean_const( b, VIPS_OPERATION_BOOLEAN_LSHIFT ) ); }
VImage operator<<( VImage a, double b ) { return( a.boolean_const( to_vector( b ), VIPS_OPERATION_BOOLEAN_LSHIFT ) ); }
VImage operator^( std::vector<double> a, VImage b ) { return( b.boolean_const( a, VIPS_OPERATION_BOOLEAN_EOR ) ); }
VImage operator^( double a, VImage b ) { return( b.boolean_const( to_vector( a ), VIPS_OPERATION_BOOLEAN_EOR ) ); }