Generate non repeating values in an array of class

I am trying to randomize an array in my class where array elements are non-repeating and below 11.
But my constraints are satisfying my requirement. How should I change my code?

class A;
  rand bit [3:0] value [10];
  
  int q[$];
  constraint C1 {foreach(value[i]) value[i]<11 && value[i] >0;}
  constraint CYCLIC {foreach(value[i])
						 if(i>0)
                         value[i] != value[i-1];            
                    }
endclass:A

module randc1;
  A pkt;
  initial begin
    pkt = new();
    void'(pkt.randomize());
    foreach(pkt.value[i])
      $display("%d  ",pkt.value[i]);
  end
endmodule

In reply to bachan21:

Your CYCLIC constraint only checks that adjacent elements are not the same. SystemVerilog has a unique constraint that does what you want:

class A;
  rand bit [3:0] value [10];
  constraint C1 { foreach(value[i]) value[i] inside {[1:10]}; }
  constraint CYCLIC { unique {value}; }
endclass:A

In reply to dave_59:

Thanks Dave.

Also found another method

constraint CYCLIC {foreach(value[i])
	       foreach(value[j])
		if(i!=j)
		value[i] != value[j];}

This constraint checks whether an element is taking a value thats already taken by another element of the array.
May this be useful to someone out there.