]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/sptr.h
test framework: Correctly generate new paths in noopchroot
[apt.git] / apt-pkg / contrib / sptr.h
index 9df0e44a71b0b8ae862a98dc9f1b606315fccf92..ee4a65d60a618a2b49af3ecd15f6084b6b5f0cbf 100644 (file)
                                                                        /*}}}*/
 #ifndef SMART_POINTER_H
 #define SMART_POINTER_H
                                                                        /*}}}*/
 #ifndef SMART_POINTER_H
 #define SMART_POINTER_H
+#include <apt-pkg/macros.h>
 
 template <class T>
 
 template <class T>
-class SPtr
+class APT_DEPRECATED_MSG("use std::unique_ptr instead") SPtr
 {
    public:
    T *Ptr;
 {
    public:
    T *Ptr;
@@ -43,7 +44,7 @@ class SPtr
 };
 
 template <class T>
 };
 
 template <class T>
-class SPtrArray
+class APT_DEPRECATED_MSG("use std::unique_ptr instead") SPtrArray
 {
    public:
    T *Ptr;
 {
    public:
    T *Ptr;
@@ -60,7 +61,15 @@ class SPtrArray
    
    inline SPtrArray(T *Ptr) : Ptr(Ptr) {};
    inline SPtrArray() : Ptr(0) {};
    
    inline SPtrArray(T *Ptr) : Ptr(Ptr) {};
    inline SPtrArray() : Ptr(0) {};
+#if __GNUC__ >= 4
+       #pragma GCC diagnostic push
+       #pragma GCC diagnostic ignored "-Wunsafe-loop-optimizations"
+       // gcc warns about this, but we can do nothing hereā€¦
+#endif
    inline ~SPtrArray() {delete [] Ptr;};
    inline ~SPtrArray() {delete [] Ptr;};
+#if __GNUC__ >= 4
+       #pragma GCC diagnostic pop
+#endif
 };
 
 #endif
 };
 
 #endif