use boost::shared_ptr in lua