32 lines · c
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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef NOTCONSTRUCTIBLE_H10#define NOTCONSTRUCTIBLE_H11 12#include <functional>13 14class NotConstructible {15 NotConstructible(const NotConstructible&);16 NotConstructible& operator=(const NotConstructible&);17 18public:19};20 21inline bool operator==(const NotConstructible&, const NotConstructible&) { return true; }22 23template <>24struct std::hash<NotConstructible> {25 typedef NotConstructible argument_type;26 typedef std::size_t result_type;27 28 std::size_t operator()(const NotConstructible&) const { return 0; }29};30 31#endif // NOTCONSTRUCTIBLE_H32