⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tr1_tuple_auto_conv.cpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 CPP
字号:
#include <boost/tr1/memory.hpp>#include <boost/tr1/tuple.hpp>#include <boost/any.hpp>#include <iostream>namespace Core{    class AutoConverter    {        std::tr1::shared_ptr<boost::any> t_;    public:        AutoConverter(std::tr1::shared_ptr<boost::any> const & t)            : t_(t)        {}        template <typename C>        operator C ()        {            try            {                boost::any & a = (*t_);                return boost::any_cast<C>(a);            }            catch(boost::bad_any_cast & e)            {                std::cerr << "Internal conversion bug: "                          << "Failed to convert data holder to "                          << typeid(C).name() << "\n"                          << e.what()                          << std::endl;                C c = C();                return c;            }        }    };    inline AutoConverter Demo()    {        std::tr1::shared_ptr<boost::any> p_result            (new boost::any(std::tr1::make_tuple(1, 2, 3, 4)));        return p_result;    }} // namespace Coreint main(int argc, char* argv[]){    std::tr1::tuple<int, int, int, int> test = Core::Demo();    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -