blob: ac8b98ef99f05cb88df75f77aefd92086754a76f [file] [log] [blame]
Marshall Clow354d39c2014-01-16 16:58:45 +00001//===----------------------------------------------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
Howard Hinnant3e519522010-05-11 19:42:16 +000010#ifndef NOTCONSTRUCTIBLE_H
11#define NOTCONSTRUCTIBLE_H
12
13#include <functional>
14
15class NotConstructible
16{
17 NotConstructible(const NotConstructible&);
18 NotConstructible& operator=(const NotConstructible&);
19public:
20};
21
22inline
23bool
24operator==(const NotConstructible&, const NotConstructible&)
25{return true;}
26
27namespace std
28{
29
30template <>
31struct hash<NotConstructible>
32 : public std::unary_function<NotConstructible, std::size_t>
33{
34 std::size_t operator()(const NotConstructible&) const {return 0;}
35};
36
37}
38
Howard Hinnant8f2f7e72010-08-22 00:15:28 +000039#endif // NOTCONSTRUCTIBLE_H