Ticket #4919: gil.patch

File gil.patch, 2.0 KB (added by Marshall Clow, 10 years ago)

Revised GIL self-assignment patch

  • Users/mclow/Projects/boost/trunk/boost/gil/gil_concept.hpp

     
    272272        LT lt=axis_value<N-1>(point);
    273273        axis_value<N-1>(point)=lt;
    274274   
    275         value_type v=point[0];  ignore_unused_variable_warning(v);
    276         point[0]=point[0];
     275//        value_type v=point[0];  ignore_unused_variable_warning(v);
    277276    }
    278277    P point;
    279278};
     
    456455    template <typename T>
    457456    struct ChannelIsMutableConcept {
    458457        void constraints() {
    459             c=c;
     458            c1=c2;
    460459            using std::swap;
    461             swap(c,c);
     460            swap(c1,c2);
    462461        }
    463         T c;
     462        T c1;
     463        T c2;
    464464    };
    465465}
    466466
     
    951951    void constraints() {
    952952        gil_function_requires<HomogeneousPixelConcept<P> >();
    953953        gil_function_requires<MutableHomogeneousColorBaseConcept<P> >();
    954         p[0]=p[0];
     954        p[0]=v;
     955        v=p[0];
    955956    }
     957        typename P::template element_type<P>::type v;
    956958    P p;
    957959};
    958960
  • Users/mclow/Projects/boost/trunk/libs/gil/test/pixel_iterator.cpp

     
    147147    unsigned char v8 = get_color( p8, gray_color_t() );
    148148
    149149        // all values should be 110b ( 6 );
    150     //assert( v1 == 6 );
    151     //assert( v2 == 6 );
    152     //assert( v3 == 6 );
    153     //assert( v4 == 6 );
    154     //assert( v5 == 6 );
    155     //assert( v6 == 6 );
    156     //assert( v7 == 6 );
    157     //assert( v8 == 6 );
     150    assert( v1 == 6 );
     151    assert( v2 == 6 );
     152    assert( v3 == 6 );
     153    assert( v4 == 6 );
     154    assert( v5 == 6 );
     155    assert( v6 == 6 );
     156    assert( v7 == 6 );
     157    assert( v8 == 6 );
    158158}
    159159
    160160// TODO: Make better tests. Use some code from below.