libcxx

libcxx mirror with random patches
git clone https://git.neptards.moe/neptards/libcxx.git
Log | Files | Refs

NotConstructible.h (916B)


      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 
     15 class NotConstructible
     16 {
     17     NotConstructible(const NotConstructible&);
     18     NotConstructible& operator=(const NotConstructible&);
     19 public:
     20 };
     21 
     22 inline
     23 bool
     24 operator==(const NotConstructible&, const NotConstructible&)
     25 {return true;}
     26 
     27 namespace std
     28 {
     29 
     30 template <>
     31 struct hash<NotConstructible>
     32 {
     33     typedef NotConstructible argument_type;
     34     typedef std::size_t result_type;
     35 
     36     std::size_t operator()(const NotConstructible&) const {return 0;}
     37 };
     38 
     39 }
     40 
     41 #endif  // NOTCONSTRUCTIBLE_H