// This file is part of SWGANH which is released under the MIT license.
// See file LICENSE or go to http://swganh.com/LICENSE
#pragma once

#include <memory>

namespace boost {
    template<class T> const T* get_pointer(const std::shared_ptr<T>& ptr)
    {
        return ptr.get();
    }

    template<class T> T* get_pointer(std::shared_ptr<T>& ptr)
    {
        return ptr.get();
    }

    template<class T> const T* get_pointer(const std::unique_ptr<T>& ptr)
    {
        return ptr.get();
    }

    template<class T> T* get_pointer(std::unique_ptr<T>& ptr)
    {
        return ptr.get();
    }
}

//#include <boost/python.hpp>
//namespace boost{ namespace python{
//    template <class T>
//    struct pointee< std::shared_ptr<T> >
//    {
//        typedef T type;
//    };
//
//}}


// This file is part of SWGANH which is released under the MIT license.
// See file LICENSE or go to http://swganh.com/LICENSE
#pragma once

#include <memory>

//namespace boost {
//    template<class T> const T* get_pointer(const std::shared_ptr<T>& ptr)
//    {
//        return ptr.get();
//    }
//
//    template<class T> T* get_pointer(std::shared_ptr<T>& ptr)
//    {
//        return ptr.get();
//    }
//
//    template<class T> const T* get_pointer(const std::unique_ptr<T>& ptr)
//    {
//        return ptr.get();
//    }
//
//    template<class T> T* get_pointer(std::unique_ptr<T>& ptr)
//    {
//        return ptr.get();
//    }
//}

//#include <boost/python.hpp>
//namespace boost{ namespace python{
//    template <class T>
//    struct pointee< std::shared_ptr<T> >
//    {
//        typedef T type;
//    };
//
//}}


Boost now supports std::unique_ptr/std::shared_ptr for python
Boost now supports std::unique_ptr/std::shared_ptr for python
