#include <map>
#include <deque>
#include <string>
+#include <list>
/** Dummy class to help enforce culls being parent-called up to classbase */
class CullResult
if (value && value->refcount_dec())
delete value;
}
- inline operator bool() const { return value; }
+
+ inline reference<T>& operator=(T* other)
+ {
+ if (value != other)
+ {
+ if (value && value->refcount_dec())
+ delete value;
+ value = other;
+ if (value)
+ value->refcount_inc();
+ }
+
+ return *this;
+ }
+
+ inline operator bool() const { return (value != NULL); }
inline operator T*() const { return value; }
inline T* operator->() const { return value; }
inline T& operator*() const { return *value; }
inline bool operator>(const reference<T>& other) const { return value > other.value; }
static inline void* operator new(size_t, void* m) { return m; }
private:
-#ifndef WIN32
+#ifndef _WIN32
static void* operator new(size_t);
static void operator delete(void*);
#endif