[comparisons.not.equal.to]

# 22 General utilities library [[utilities]](./#utilities)

## 22.10 Function objects [[function.objects]](function.objects#comparisons.not.equal.to)

### 22.10.8 Comparisons [[comparisons]](comparisons#not.equal.to)

#### 22.10.8.3 Class template not_equal_to [comparisons.not.equal.to]

[ð](#lib:not_equal_to)

`template<class T = void> struct not_equal_to {
  constexpr bool operator()(const T& x, const T& y) const;
};
`

[ð](#lib:operator(),not_equal_to)

`constexpr bool operator()(const T& x, const T& y) const;
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L12338)

*Returns*: x != y[.](#1.sentence-1)

[ð](#lib:not_equal_to%3c%3e)

`template<> struct not_equal_to<void> {
  template<class T, class U> constexpr auto operator()(T&& t, U&& u) const
    -> decltype(std::forward<T>(t) != std::forward<U>(u));

  using is_transparent = unspecified;
};
`

[ð](#lib:operator(),not_equal_to%3c%3e)

`template<class T, class U> constexpr auto operator()(T&& t, U&& u) const
    -> decltype(std::forward<T>(t) != std::forward<U>(u));
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L12360)

*Returns*: std​::​forward<T>(t) != std​::​forward<U>(u)[.](#2.sentence-1)
