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


C++ scoped_ptr::rate_out_of_focus方法代码示例

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


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

示例1: main

int main( int ac, char** av )
{
    try
    {
        comma::command_line_options options( ac, av );
        if( options.exists( "--help,-h" ) ) { usage(); }
        outputRaw = options.exists( "--output-raw" );
        rate = options.optional< float >( "--rate" );

        scan_rate = options.optional< double >( "--scan-rate" );

        if( options.exists( "--publish" ) )
        {
            std::string how = options.value< std::string >( "--publish" );
            if( comma::split( how, ':' )[0] == "udp" ) // quick and dirty
            {
                udp_port = boost::lexical_cast< unsigned short >( comma::split( how, ':' )[1] );
                publisher_udp_service.reset( new boost::asio::io_service() );
                publisher_udp_socket.reset( new boost::asio::ip::udp::socket ( *publisher_udp_service, boost::asio::ip::udp::v4() ) );
                boost::system::error_code error;
                publisher_udp_socket->set_option( boost::asio::ip::udp::socket::broadcast( true ), error );
                if( error ) { std::cerr << "velodyne-thin: failed to set broadcast option on port " << udp_port << std::endl; return 1; }
                publisher_udp_socket->set_option( boost::asio::ip::udp::socket::reuse_address( true ), error );
                if( error ) { std::cerr << "velodyne-thin: failed to set reuse address option on port " << udp_port << std::endl; return 1; }
                udp_destination = boost::asio::ip::udp::endpoint( boost::asio::ip::address_v4::broadcast(), udp_port );
            }
            else
            {
                publisher.reset( new comma::io::publisher( how, comma::io::mode::binary ) );
            }
        }
        options.assert_mutually_exclusive( "--focus,--region,--subtract-by-age,--subtract-max-range,--subtract" );
        if( options.exists( "--focus,--region,--subtract-by-age,--subtract-max-range,--subtract" ) )
        {
            db = velodyne::db( options.value< std::string >( "--db", "/usr/local/etc/db.xml" ) );
        }
        if( options.exists( "--focus,--region" ) )
        {
            focus.reset( make_focus( options.value< std::string >( "--focus,--region" ), rate ? *rate : 1.0 ) );
            std::cerr << "velodyne-thin: rate in focus: " << focus->rate_in_focus() << "; rate out of focus: " << focus->rate_out_of_focus() << "; coverage: " << focus->coverage() << std::endl;
        }
        verbose = options.exists( "--verbose,-v" );
        #ifdef WIN32
        _setmode( _fileno( stdin ), _O_BINARY );
        _setmode( _fileno( stdout ), _O_BINARY );
        #endif
        options.assert_mutually_exclusive( "--pcap,--udp-port,--proprietary,-q" );
        boost::optional< unsigned short > port = options.optional< unsigned short >( "--udp-port" );
        if( port ) { run( new snark::udp_reader( *port ) ); }
        else if( options.exists( "--pcap" ) ) { run( new snark::pcap_reader ); }
        else if( options.exists( "--proprietary,-q" ) )
        {
            run( new snark::proprietary_reader );
        }
        else
        {
            run( new snark::stream_reader );
        }
        return 0;
    }
    catch( std::exception& ex ) { std::cerr << "velodyne-thin: " << ex.what() << std::endl; }
    catch( ... ) { std::cerr << "velodyne-thin: unknown exception" << std::endl; }
    usage();
}
开发者ID:WangFei-DUT,项目名称:snark,代码行数:64,代码来源:velodyne-thin.cpp


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