cpp/experimental/propagate const/operator cmp

Compares the wrapped pointers of two s, or between a and, or between a  and another object.

@1-4@ Equality comparison for a and.

@5-6@ Equality comparison for two s

@7-10@ Ordered comparison for two s

@11-14@ Equality comparison for a and another object.

@15-22@ Ordered comparison for a and another object.

Return value
Let denote the underlying pointer-like object wrapped by a.

@1@ @2@ @3@ @4@ @5@ @6@ @7@ @8@ @9@ @10@ @11@ @12@ @13@ @14@ @15@ @16@ @17@ @18@ @19@ @20@ @21@ @22@