# Interface CAComparisonSetType<T>

Type Parameters:
  `T` - The type of values

All Superinterfaces:
  `CAComparisonType`

All Known Implementing Classes:
  `CAComparisonSetType.Anything`, `CAComparisonSetType.IsEqualTo`, `CAComparisonSetType.IsNotEqualTo`, `CAComparisonSetType.IsOverlapping`, `CAComparisonSetType.IsSubsetOf`, `CAComparisonSetType.IsSupersetOf`

public sealed interface CAComparisonSetType<T> extends CAComparisonType permits CAComparisonSetType.Anything<T>, CAComparisonSetType.IsSubsetOf<T>, CAComparisonSetType.IsSupersetOf<T>, CAComparisonSetType.IsOverlapping<T>, CAComparisonSetType.IsEqualTo<T>, CAComparisonSetType.IsNotEqualTo<T>
The type of expressions that can match sets.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static final record`
  `CAComparisonSetType.Anything<T>`
  Match any set.
  `static final record`
  `CAComparisonSetType.IsEqualTo<T>`
  Match a value exactly.
  `static final record`
  `CAComparisonSetType.IsNotEqualTo<T>`
  Match a value exactly.
  `static final record`
  `CAComparisonSetType.IsOverlapping<T>`
  Match values that overlap the given set.
  `static final record`
  `CAComparisonSetType.IsSubsetOf<T>`
  Match values that are subsets of the given set.
  `static final record`
  `CAComparisonSetType.IsSupersetOf<T>`
  Match values that are supersets of the given set.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `<U> CAComparisonSetType<U>`
  `map(Function<T,U> f)`
  Produce a new comparison over values transformed with `f`.
  `boolean`
  `matches(Set<T> other)`

- ## Method Details

  - ### map

    <U> CAComparisonSetType<U> map(Function<T,U> f)
    Produce a new comparison over values transformed with `f`.
    Type Parameters:
      `U` - The type of results
    Parameters:
      `f` - The transform
    Returns:
      A new comparison

  - ### matches

    boolean matches(Set<T> other)
    Parameters:
      `other` - The set
    Returns:
      `true` if this comparison matches the given set