1//===----------------------------------------------------------------------===// 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 10#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 39#endif // NOTCONSTRUCTIBLE_H 40