xref: /llvm-project/libcxx/test/std/containers/NotConstructible.h (revision 5dfdac74cadd9483a66eb17e51dc632b554cccb1)
1 //===----------------------------------------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef NOTCONSTRUCTIBLE_H
10 #define NOTCONSTRUCTIBLE_H
11 
12 #include <functional>
13 
14 class NotConstructible
15 {
16     NotConstructible(const NotConstructible&);
17     NotConstructible& operator=(const NotConstructible&);
18 public:
19 };
20 
21 inline
22 bool
23 operator==(const NotConstructible&, const NotConstructible&)
24 {return true;}
25 
26 template <>
27 struct std::hash<NotConstructible> {
28   typedef NotConstructible argument_type;
29   typedef std::size_t result_type;
30 
31   std::size_t operator()(const NotConstructible&) const { return 0; }
32 };
33 
34 #endif // NOTCONSTRUCTIBLE_H
35