greater.pass.cpp revision c52f43e72dfcea03037729649da84c23b3beb04a
1ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl//===----------------------------------------------------------------------===//
2ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl//
3ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl//                     The LLVM Compiler Infrastructure
4ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl//
5ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl// This file is distributed under the University of Illinois Open Source
6ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl// License. See LICENSE.TXT for details.
7ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl//
8ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl//===----------------------------------------------------------------------===//
9ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl
10ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl// <functional>
11ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl
12ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl// greater
13ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl
14ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl#include <functional>
15ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl#include <type_traits>
16ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl#include <cassert>
17ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl
18ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixlint main()
19ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl{
20ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl    typedef std::greater<int> F;
21ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl    const F f = F();
22ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl    static_assert((std::is_base_of<std::binary_function<int, int, bool>, F>::value), "");
23ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl    assert(!f(36, 36));
24ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl    assert(f(36, 6));
25ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl    assert(!f(6, 36));
26ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl}
27ad96eda8944ab1c1ba55715c50d9d6f0a3ed1dcarmvixl