当前位置: 首页>>代码示例>>C++>>正文


C++ boost::any方法代码示例

本文整理汇总了C++中boost::any方法的典型用法代码示例。如果您正苦于以下问题:C++ boost::any方法的具体用法?C++ boost::any怎么用?C++ boost::any使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在boost的用法示例。


在下文中一共展示了boost::any方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: found

const any document::operator[](const wstring &key) const {
    tag_map::const_iterator found(m_tags.find(key));
    if (found == m_tags.end())
        return any();
    else
        return found->second;
}
开发者ID:aranetic,项目名称:process-pst,代码行数:7,代码来源:document.cpp

示例2: validate

/**
 * @brief Validator for boost::program_options to parse ResultIndentationMode.
 *
 * @param value  target value handler
 * @param values values all values that match validator
 */
void validate(
    any&                  value,
    const vector<string>& values,
    ResultIndentationMode*,
    int
) {
    // make sure no previous assignment to value was made
    check_first_occurrence(value);

    // Extract the first string from 'values'. If there is more than
    // one string, it's an error, and exception will be thrown.
    const string&         stringValue = get_single_string(values);
    istringstream         streamValue(stringValue);
    ResultIndentationMode parsedValue;
    streamValue >> parsedValue;

    value = any( parsedValue );
}
开发者ID:MateuszKubuszok,项目名称:GameTheoryTools,代码行数:24,代码来源:program.cpp

示例3: ShowPopulation

/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8/////////9/////////A
void Populations::ShowPopulation()
{
    try
    {
        const Wt::WString &site_name = areas_->currentText();
        Wt::WApplication::instance()->log("notice") <<  "Populations::ShowPopulation() for " << site_name;

        delete chart_;
        chart_ = 0;
        delete footertext_;
        footertext_ = 0;
        delete algo_legend_;
        algo_legend_ = 0;

        pqxx::connection conn(db_conn_str_);
        pqxx::transaction<> trans(conn, "web population");

        std::stringstream sstr;
        sstr << "SELECT * FROM trained_solutions INNER JOIN pred_sites ON "
             << "trained_solutions.pred_site_id = pred_sites.pred_site_id WHERE "
             << "site_name='" << site_name.narrow() << "' "
             << "ORDER BY train_time ASC";
        pqxx::result res = trans.exec(sstr.str());
        if(!res.size())
        {
            Wt::WApplication::instance()->log("warn") << "critical error during session initialization : ";
            footertext_ = new Wt::WText("no population found", impl_);
            return;
        }

        boost::regex regx("\\w+\\(\\w+");
        set<string> confclasses;
        typedef map<size_t, vector<pair<string, double> > > SolutionsT; // train_time, algorithm, validation_error
        SolutionsT  solutions;
        double max_train_time = 0.0;
        static const double train_time_treshold = 60.0;

        for(size_t i=0; i<res.size(); ++i)
        {
            size_t train_sol_id;
            res[i]["train_sol_id"].to(train_sol_id);
            size_t generation;
            res[i]["generation"].to(generation);
            string config;
            res[i]["configuration"].to(config);
            boost::smatch regxmatch;
            if(boost::regex_search(config, regxmatch, regx))
            {
                string confclass = regxmatch[0] + ")";
                double train_time;
                res[i]["train_time"].to(train_time);
                double validation_error;
                res[i]["validation_error"].to(validation_error);

                if(criteria_->currentText() == "Generation")
                    confclass = (boost::format("%03d") % generation).str();

                confclasses.insert(confclass);
                if(train_time <= train_time_treshold)
                    solutions[train_time * 100].push_back(make_pair(confclass, validation_error));
                max_train_time = std::max(max_train_time, train_time);
            }
        }

        Wt::WStandardItemModel *model = new Wt::WStandardItemModel(res.size(), 1 + confclasses.size());
        model->setHeaderData(0, Wt::Horizontal, any(string("train_time")));
        for(set<string>::iterator it = confclasses.begin(); it != confclasses.end(); ++it)
            model->setHeaderData(1 + std::distance(confclasses.begin(), it), Wt::Horizontal, any(*it));

        for(SolutionsT::iterator it = solutions.begin(); it != solutions.end(); ++it)
        {
            const size_t modrow = std::distance(solutions.begin(), it);
            model->setData(modrow, 0, any(it->first / 100.0));
            for(vector<pair<string, double> >::iterator itv = it->second.begin(); itv != it->second.end(); ++itv)
            {
                const size_t modcol = 1 + std::distance(confclasses.begin(), confclasses.find(itv->first));
                model->setData(modrow, modcol, any(itv->second));
            }
        }


        chart_ = new Wt::Chart::WCartesianChart(impl_);
        chart_->setType(Wt::Chart::ScatterPlot);
        chart_->resize(800, 500);
        chart_->setTitle("Population performance");
        chart_->setPlotAreaPadding(200, Wt::Right);
        chart_->setPlotAreaPadding(30,  Wt::Bottom);
        chart_->setModel(model);
        chart_->setXSeriesColumn(0);
        chart_->setLegendEnabled(true);
        chart_->axis(Wt::Chart::XAxis).setScale(Wt::Chart::LinearScale);
    //    chart_->axis(Wt::Chart::XAxis).setMaximum(60.0);
        chart_->axis(Wt::Chart::XAxis).setLabelFormat("%.2f");
        chart_->axis(Wt::Chart::XAxis).setTitle("training_time");
        chart_->axis(Wt::Chart::YAxis).setTitle("error");
        for(set<string>::iterator it = confclasses.begin(); it != confclasses.end(); ++it)
        {
            const size_t npos = std::distance(confclasses.begin(), it);
            Wt::Chart::WDataSeries data1(Wt::Chart::WDataSeries(1 + npos, Wt::Chart::PointSeries, Wt::Chart::Y1Axis));
//.........这里部分代码省略.........
开发者ID:ulrichard,项目名称:flightpred,代码行数:101,代码来源:Populations.cpp


注:本文中的boost::any方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。