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


C++ chrono::microseconds类代码示例

本文整理汇总了C++中std::chrono::microseconds的典型用法代码示例。如果您正苦于以下问题:C++ microseconds类的具体用法?C++ microseconds怎么用?C++ microseconds使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: Select

bool TSerialPort::Select(const std::chrono::microseconds& us)
{
    fd_set rfds;
    struct timeval tv, *tvp = 0;

#if 0
    // too verbose
    if (Dbg)
        std::cerr << "Select on " << Settings.Device << ": " << ms.count() << " us" << std::endl;
#endif

    FD_ZERO(&rfds);
    FD_SET(Fd, &rfds);
    if (us.count() > 0) {
        tv.tv_sec = us.count() / 1000000;
        tv.tv_usec = us.count();
        tvp = &tv;
    }

    int r = select(Fd + 1, &rfds, NULL, NULL, tvp);
    if (r < 0)
        throw TSerialDeviceException("select() failed");

    return r > 0;
}
开发者ID:Perfy,项目名称:wb-homa-drivers,代码行数:25,代码来源:serial_port.cpp

示例2: targetTimeForDelay

gint64 GSourceWrap::targetTimeForDelay(std::chrono::microseconds delay)
{
    if (!delay.count())
        return 0;

    gint64 currentTime = g_get_monotonic_time();
    gint64 targetTime = currentTime + std::min<gint64>(G_MAXINT64 - currentTime, delay.count());
    ASSERT(targetTime >= currentTime);

    return targetTime;
}
开发者ID:robvogelaar,项目名称:WebKitForWayland,代码行数:11,代码来源:GSourceWrap.cpp

示例3: main

int main()
{
    {
    std::chrono::milliseconds ms(1);
    std::chrono::microseconds us = ms;
    assert(us.count() == 1000);
    }
#if TEST_STD_VER >= 11
    {
    constexpr std::chrono::milliseconds ms(1);
    constexpr std::chrono::microseconds us = ms;
    static_assert(us.count() == 1000, "");
    }
#endif
}
开发者ID:MIPS,项目名称:external-libcxx,代码行数:15,代码来源:convert_exact.pass.cpp

示例4: Poll

bool SocketImpl::Poll(const std::chrono::microseconds& timeout, int mode)
{
    assert(INVALID_SOCKET != m_sockfd);
    
    fd_set fdRead;
    fd_set fdWrite;
    fd_set fdExcept;
    FD_ZERO(&fdRead);
    FD_ZERO(&fdWrite);
    FD_ZERO(&fdExcept);

    if (mode & SELECT_READ)
    {
        FD_SET(m_sockfd, &fdRead);
    }
    if (mode & SELECT_WRITE)
    {
        FD_SET(m_sockfd, &fdWrite);
    }
    if (mode & SELECT_ERROR)
    {
        FD_SET(m_sockfd, &fdExcept);
    }

    struct timeval tv;
    tv.tv_sec = (long)std::chrono::duration_cast<std::chrono::seconds>(timeout).count();
    tv.tv_usec = (long)(timeout.count() % 1000000);

    return select(int(m_sockfd) + 1, &fdRead, &fdWrite, &fdExcept, &tv) > 0;
}
开发者ID:whrool,项目名称:Net,代码行数:30,代码来源:SocketImpl.cpp

示例5:

void
UnitTestClock<BaseClock>::setNow(const nanoseconds& timeSinceEpoch)
{
  BOOST_ASSERT(boost::posix_time::microseconds(SLEEP_AFTER_TIME_CHANGE.count()) >
               boost::asio::time_traits<steady_clock>::to_posix_duration(timeSinceEpoch -
                                                                         m_currentTime));
  m_currentTime = timeSinceEpoch;
  std::this_thread::sleep_for(SLEEP_AFTER_TIME_CHANGE);
}
开发者ID:2nd-ndn-hackathon,项目名称:ndn-cxx-logging,代码行数:9,代码来源:time-unit-test-clock.cpp

示例6: update

void tcapplication::update(std::chrono::microseconds delta)
{
    double const count = static_cast<double>(delta.count());
    double constexpr timestep = 16000;

    g_xrot += 0.3 * count / timestep;
    g_yrot += 0.2 * count / timestep;
    g_zrot += 0.4 * count / timestep;
}
开发者ID:proydakov,项目名称:cppzone,代码行数:9,代码来源:main.cpp

示例7: cbPing

 void cbPing(const vssp::header &header, const std::chrono::microseconds &delayRead)
     {
         ros::Time now = ros::Time::now() - ros::Duration(delayRead.count() * 0.001 * 0.001);
         ros::Duration delay = ((now - timePing)
                                - ros::Duration(header.send_time_ms * 0.001 - header.received_time_ms * 0.001)) * 0.5;
         ros::Time base = timePing + delay - ros::Duration(header.received_time_ms * 0.001);
         if(timestampBase == ros::Time(0)) timestampBase = base;
         else timestampBase += (base - timestampBase) * 0.01;
     }
开发者ID:794523332,项目名称:Autoware,代码行数:9,代码来源:hokuyo_3d.cpp

示例8: SYNCHRONISED

std::chrono::microseconds SYNCHRONISED(
    const std::chrono::microseconds data) {
#if defined(SUPPORT_MPI)
  unsigned int synchronisedData = static_cast<unsigned int>(data.count());
  MPI_Bcast(&synchronisedData, 1, MPI_UNSIGNED, 0, MPI_COMM_WORLD);
  return std::chrono::microseconds(synchronisedData);
#else
  return data;
#endif
}
开发者ID:xlong88,项目名称:Mantella,代码行数:10,代码来源:catchExtension.cpp

示例9: update

void Matrix::update(Input *input, std::chrono::microseconds delta)
{
	if (getParent()->getComponent<Menu>()->getTime() < 0)
		return;
	m_timeToGlobalRun -= delta.count()/1000000.0;
	if (m_timeToGlobalRun < 0) {
		if (solve())
			m_timeToGlobalRun = 0.5;
		else
			m_timeToGlobalRun = FLT_MAX;
	}
}
开发者ID:tolstenko,项目名称:mobagen,代码行数:12,代码来源:Matrix.cpp

示例10: startTimer

void Watchdog::startTimer(std::chrono::microseconds limit)
{
    JSC_GETJAVAENV_CHKRET(env);

    static jmethodID mid = env->GetMethodID(
            GetWatchdogTimerClass(env),
            "fwkStart",
            "(D)V");
    ASSERT(mid);

    env->CallVoidMethod(m_timer, mid, (jdouble) (limit.count() / (1000.0 * 1000.0)));
    CheckAndClearException(env);
}
开发者ID:mjparme,项目名称:openjdk-jfx,代码行数:13,代码来源:WatchdogJava.cpp

示例11: oneshot

  void APIC_Timer::oneshot(std::chrono::microseconds micros) noexcept
  {
    // prevent overflow
    uint64_t ticks = micros.count() * ticks_per_micro;
    if (ticks > 0xFFFFFFFF) ticks = 0xFFFFFFFF;

    // set initial counter
    auto& lapic = APIC::get();
    lapic.timer_begin(ticks);
    // re-enable interrupts if disabled
    if (GET_TIMER().intr_enabled == false) {
      GET_TIMER().intr_enabled = true;
      lapic.timer_interrupt(true);
    }
  }
开发者ID:tanisman,项目名称:IncludeOS,代码行数:15,代码来源:apic_timer.cpp

示例12: scheduleAfterDelay

void GMainLoopSource::scheduleAfterDelay(const char* name, std::function<bool ()> function, std::chrono::microseconds delay, int priority, std::function<void ()> destroyFunction, GMainContext* context)
{
    cancel();

    ASSERT(!m_context.source);
    m_context = {
        adoptGRef(createMicrosecondsTimeoutSource(delay.count())),
        nullptr, // cancellable
        nullptr, // socketCancellable
        nullptr, // voidCallback
        WTF::move(function),
        nullptr, // socketCallback
        WTF::move(destroyFunction)
    };
    scheduleTimeoutSource(name, reinterpret_cast<GSourceFunc>(boolSourceCallback), priority, context);
}
开发者ID:biddyweb,项目名称:switch-oss,代码行数:16,代码来源:GMainLoopSource.cpp

示例13: Status

Status PipeWindows::ReadWithTimeout(void *buf, size_t size,
                                    const std::chrono::microseconds &duration,
                                    size_t &bytes_read) {
  if (!CanRead())
    return Status(ERROR_INVALID_HANDLE, eErrorTypeWin32);

  bytes_read = 0;
  DWORD sys_bytes_read = size;
  BOOL result = ::ReadFile(m_read, buf, sys_bytes_read, &sys_bytes_read,
                           &m_read_overlapped);
  if (!result && GetLastError() != ERROR_IO_PENDING)
    return Status(::GetLastError(), eErrorTypeWin32);

  DWORD timeout = (duration == std::chrono::microseconds::zero())
                      ? INFINITE
                      : duration.count() * 1000;
  DWORD wait_result = ::WaitForSingleObject(m_read_overlapped.hEvent, timeout);
  if (wait_result != WAIT_OBJECT_0) {
    // The operation probably failed.  However, if it timed out, we need to
    // cancel the I/O.
    // Between the time we returned from WaitForSingleObject and the time we
    // call CancelIoEx,
    // the operation may complete.  If that hapens, CancelIoEx will fail and
    // return ERROR_NOT_FOUND.
    // If that happens, the original operation should be considered to have been
    // successful.
    bool failed = true;
    DWORD failure_error = ::GetLastError();
    if (wait_result == WAIT_TIMEOUT) {
      BOOL cancel_result = CancelIoEx(m_read, &m_read_overlapped);
      if (!cancel_result && GetLastError() == ERROR_NOT_FOUND)
        failed = false;
    }
    if (failed)
      return Status(failure_error, eErrorTypeWin32);
  }

  // Now we call GetOverlappedResult setting bWait to false, since we've already
  // waited
  // as long as we're willing to.
  if (!GetOverlappedResult(m_read, &m_read_overlapped, &sys_bytes_read, FALSE))
    return Status(::GetLastError(), eErrorTypeWin32);

  bytes_read = sys_bytes_read;
  return Status();
}
开发者ID:emaste,项目名称:lldb,代码行数:46,代码来源:PipeWindows.cpp

示例14: finishSuite

void TextOutput::finishSuite(const std::string& suiteName, const unsigned int numTests, const unsigned int numPositiveTests, const std::chrono::microseconds totalDuration)
{
    if(mode <= Verbose || numTests != numPositiveTests)
    stream << "Suite '" << suiteName << "' finished, " << numPositiveTests << '/' << numTests << " successful (" << prettifyPercentage(numPositiveTests, numTests) << "%) in " << totalDuration.count() << " microseconds (" << totalDuration.count()/1000.0 << " ms)." << std::endl;
}
开发者ID:Kaayy-J,项目名称:OHMComm-Light,代码行数:5,代码来源:TextOutput.cpp

示例15: baoliSearch

void baoliSearch(int curlv,int remainF,int remainA,int gridSz){
    if(curlv == gridSz || (remainF == 0 && remainA == 0)){//µÝ¹é³ö¿Ú
        if(restime=std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now()-logtime),restime.count()>TLE*1000000){
            cout<<"ERROR:TLE"<<endl;
            exit(0);
        }
        int tAssignN[4] = {0, 0, 0, 0};
        getAssignN(tAssignN, gridSz);//sav avail grids num to ships
        BelongStructure &curres=dpRes[tAssignN[0]][tAssignN[1]][tAssignN[2]][tAssignN[3]];
        vector<int *> &tlist=curres.belongings;
        int i=0;
        for(vector<int *>::iterator iter=tlist.begin(),end=tlist.end();iter!=end;++iter){
            getCurAssign(iter);
            float newAtk = curres.as[i++] + op_coef * calOPAtk(gridSz);
            if(newAtk > resAtk){
                int newAS = calAS(gridSz) + calASofBomber(gridSz);
                if(newAS >= tarAirSupremacy){
                    //write cur data to res
                    resAtk = newAtk;
                    resAS = newAS;
                    resBomberNum = curBomberNum - remainA;
                    copySign2Res(resSign, gridSz);
                    copyCurAssign2Res(resAssign,resAssignGrid);

                    if(flushFlag){
                        ResPlaneVecA = planeVecA;
                        flushFlag = 0;
                    }
                }
            }
        }
        return;
    }
    if(remainF){//³¢ÊÔ·ÅÖÃÕ½¶·»ú£¬¼ì²â·£Õ¾
        sign[curlv]=1;
        baoliSearch(curlv+1,remainF-1,remainA,gridSz);
        sign[curlv]=0;
    }
    if(remainA){//³¢ÊÔ·ÅÖù¥»÷»ú
        sign[curlv]=2;
        if(cutF(curlv+1,remainF,gridSz)){
            if(gridVec[curlv].isFighterOnly){
                sign[curlv]=0;
                baoliSearch(curlv+1,remainF,remainA,gridSz);
            }
            else baoliSearch(curlv+1,remainF,remainA-1,gridSz);
        }
        sign[curlv]=0;
    }
}
开发者ID:Nasusu,项目名称:kc_aircraftOptimize,代码行数:50,代码来源:calculator.cpp


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