///
/// Returns `true` if this palette and *p* are copies of each other,
/// i.e. one of them was created as a copy of the other and neither
/// was subsequently modified; otherwise returns `false.` This is much
/// stricter than equality.
///
/// **See also:** [`operator()`]
/// [`operator()`]
Returns `true` if this palette and *p* are copies of each other,
i.e. one of them was created as a copy of the other and neither
was subsequently modified; otherwise returns `false.` This is much
stricter than equality.


Returns ` true ` if this palette and * p * are copies of each other i . e . one of them was created as a copy of the other and neither was subsequently modified ; otherwise returns ` false . ` This is much stricter than equality .
pub fn is_copy_of<P: PaletteTrait<'a>>(&self, p: &P) -> bool {
        let (obj_p_1, _funcs) = p.get_palette_obj_funcs();
        let (obj_data, funcs) = self.get_palette_obj_funcs();
        unsafe {
            let ret_val = ((*funcs).is_copy_of)(obj_data, obj_p_1);
            ret_val
        }
    }
pub fn is_copy_of < P : PaletteTrait < ' a > > ( & self , p : & P ) -> bool { let ( obj_p_1 , _funcs ) = p . get_palette_obj_funcs ( ) ; let ( obj_data , funcs ) = self . get_palette_obj_funcs ( ) ; unsafe { let ret_val = ( ( * funcs ) . is_copy_of ) ( obj_data , obj_p_1 ) ; ret_val } }
Returns `true` if this palette and *p* are copies of each other,
i.e.
Returns ` true ` if this palette and * p * are copies of each other i . e .
&self
p
&P