brintos

brintos / llvm-project-archived public Read only

0
0
Text · 680 B · 5dc9e02 Raw
29 lines · c
1namespace std {2 3template <typename T>4class default_delete {};5 6template <typename type, typename Deleter = std::default_delete<type>>7class unique_ptr {8public:9  unique_ptr() {}10  unique_ptr(type *ptr) {}11  unique_ptr(const unique_ptr<type> &t) = delete;12  unique_ptr(unique_ptr<type> &&t) {}13  ~unique_ptr() {}14  type &operator*() { return *ptr; }15  type *operator->() { return ptr; }16  type *release() { return ptr; }17  void reset() {}18  void reset(type *pt) {}19  void reset(type pt) {}20  unique_ptr &operator=(unique_ptr &&) { return *this; }21  template <typename T>22  unique_ptr &operator=(unique_ptr<T> &&) { return *this; }23 24private:25  type *ptr;26};27 28}  // namespace std29