这篇教程C++ BOOST_AUTO函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中BOOST_AUTO函数的典型用法代码示例。如果您正苦于以下问题:C++ BOOST_AUTO函数的具体用法?C++ BOOST_AUTO怎么用?C++ BOOST_AUTO使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了BOOST_AUTO函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: amgcl_precond_create_f//---------------------------------------------------------------------------amgclHandle STDCALL amgcl_precond_create_f( int n, const int *ptr, const int *col, const double *val, amgclHandle prm ){ BOOST_AUTO( ptr_c, boost::make_transform_iterator(ptr, std::bind2nd(std::minus<int>(), 1)) ); BOOST_AUTO( col_c, boost::make_transform_iterator(col, std::bind2nd(std::minus<int>(), 1)) ); BOOST_AUTO( A, boost::make_tuple( n, boost::make_iterator_range(ptr_c, ptr_c + n + 1), boost::make_iterator_range(col_c, col_c + ptr[n]), boost::make_iterator_range(val, val + ptr[n]) ) ); if (prm) return static_cast<amgclHandle>(new AMG(A, *static_cast<Params*>(prm))); else return static_cast<amgclHandle>(new AMG(A));}
开发者ID:HongLi15,项目名称:amgcl,代码行数:34,
示例2: verifybool verify(std::string const& caseid, MultiPolygon const& mp, MultiPolygon const& buffer, Settings const& settings){ bool result = true; // Area of buffer must be larger than of original polygon BOOST_AUTO(area_mp, bg::area(mp)); BOOST_AUTO(area_buf, bg::area(buffer)); if (area_buf < area_mp) { result = false; } if (result) { typedef boost::range_value<MultiPolygon const>::type polygon_type; BOOST_FOREACH(polygon_type const& polygon, mp) { typename bg::point_type<polygon_type>::type point; bg::point_on_border(point, polygon); if (! bg::within(point, buffer)) { result = false; } } }
开发者ID:cpascal,项目名称:af-cpp,代码行数:26,
示例3: test_geometryvoid test_geometry(std::string const& wkt1, std::string const& wkt2, RingIdVector const& expected_ids, WithinVector const& expected_withins){ typedef bg::detail::overlay::ring_properties<typename bg::point_type<Geometry1>::type> properties; Geometry1 geometry1; Geometry2 geometry2; bg::read_wkt(wkt1, geometry1); bg::read_wkt(wkt2, geometry2); typedef std::map<bg::ring_identifier, properties> map_type; map_type selected; std::map<bg::ring_identifier, int> empty; bg::detail::overlay::select_rings<OverlayType>(geometry1, geometry2, empty, selected); BOOST_CHECK_EQUAL(selected.size(), expected_ids.size()); BOOST_CHECK_EQUAL(selected.size(), expected_withins.size()); if (selected.size() <= expected_ids.size()) { BOOST_AUTO(eit, expected_ids.begin()); BOOST_AUTO(wit, expected_withins.begin()); for(typename map_type::const_iterator it = selected.begin(); it != selected.end(); ++it, ++eit, ++wit) { bg::ring_identifier const ring_id = it->first; BOOST_CHECK_EQUAL(ring_id.source_index, eit->source_index); BOOST_CHECK_EQUAL(ring_id.multi_index, eit->multi_index); BOOST_CHECK_EQUAL(ring_id.ring_index, eit->ring_index); BOOST_CHECK_EQUAL(it->second.within_code, *wit); } }}
开发者ID:QwZhang,项目名称:gale,代码行数:35,
示例4: test_integervoid test_integer(bool check_types){ typedef bg::model::point<CoordinateType, 2, bg::cs::cartesian> point_type; point_type p1, p2; bg::assign_values(p1, 12345678, 23456789); bg::assign_values(p2, 98765432, 87654321); typedef bg::strategy::distance::pythagoras<> pythagoras_type; pythagoras_type pythagoras; BOOST_AUTO(distance, pythagoras.apply(p1, p2)); BOOST_CHECK_CLOSE(distance, 107655455.02347542, 0.001); typedef typename bg::strategy::distance::services::comparable_type < pythagoras_type >::type comparable_type; comparable_type comparable; BOOST_AUTO(cdistance, comparable.apply(p1, p2)); BOOST_CHECK_EQUAL(cdistance, 11589696996311540); typedef BOOST_TYPEOF(cdistance) cdistance_type; typedef BOOST_TYPEOF(distance) distance_type; distance_type distance2 = sqrt(distance_type(cdistance)); BOOST_CHECK_CLOSE(distance, distance2, 0.001); if (check_types) { BOOST_CHECK((boost::is_same<distance_type, double>::type::value)); // comparable_distance results in now double too, obviously because // comp.distance point-segment can be fraction, even for integer input BOOST_CHECK((boost::is_same<cdistance_type, double>::type::value)); }}
开发者ID:Adikteev,项目名称:rtbkit-deps,代码行数:35,
示例5: test_integerinline void test_integer(bool check_types){ typedef bg::model::point<CoordinateType, 2, bg::cs::cartesian> point_type; typedef bg::model::box<point_type> box_type; point_type p; box_type b; bg::assign_values(b, 0, 0, 12345678, 23456789); bg::assign_values(p, 98765432, 87654321); typedef bg::strategy::distance::pythagoras_point_box<> pythagoras_pb_type; pythagoras_pb_type pythagoras_pb; BOOST_AUTO(distance, pythagoras_pb.apply(p, b)); BOOST_CHECK_CLOSE(distance, 107655455.02347542, 0.001); typedef typename bg::strategy::distance::services::comparable_type < pythagoras_pb_type >::type comparable_type; comparable_type comparable; BOOST_AUTO(cdistance, comparable.apply(p, b)); BOOST_CHECK_EQUAL(cdistance, 11589696996311540); typedef BOOST_TYPEOF(cdistance) cdistance_type; typedef BOOST_TYPEOF(distance) distance_type; distance_type distance2 = sqrt(distance_type(cdistance)); BOOST_CHECK_CLOSE(distance, distance2, 0.001); if (check_types) { BOOST_CHECK((boost::is_same<distance_type, double>::type::value)); BOOST_CHECK((boost::is_same<cdistance_type, boost::long_long_type>::type::value)); }}
开发者ID:OggYiu,项目名称:rag-engine,代码行数:35,
示例6: odr_no_uns2void odr_no_uns2(){ odr_test_1 t1; odr_test_2 t2; BOOST_AUTO(v1, t1); BOOST_AUTO(v2, t2);}
开发者ID:0xDEC0DE8,项目名称:mcsema,代码行数:7,
|