Here is a proposed patch to add std::unique_ptr support:

diff --git
index 8d43d1a..73287c6 100644
---
+++
@@ -300,7 +300,11 @@ bool
 DBDriver::set_option_impl(Option* o)
 {
        std::ostringstream os;
+#if __cplusplus >= 201103L
+       std::unique_ptr<Option> cleanup(o);
+#else
        std::auto_ptr<Option> cleanup(o);
+#endif

        switch (o->set(this)) {
                case Option::err_NONE:
diff --git
index 0869682..d985e1d 100644
---
+++
@@ -101,7 +101,11 @@ public:
        counted_(c),
        refs_(0)
        {
+#if __cplusplus >= 201103L
+               std::unique_ptr<T> exception_guard(counted_);
+#else
                std::auto_ptr<T> exception_guard(counted_);
+#endif
                if (counted_) {
                        refs_ = new size_t(1);
                }