草庐IT

first_time_wind

全部标签

c++ - boost::date_time (boost-145) 使用带有微秒计算的 64 位 uint,没有截断

我正在使用date_time来抽象掉平台特性。我需要生成一个64位微秒分辨率uint64_t,它将用于序列化。我不明白下面出了什么问题。#include#include#includeusingnamespaceboost::posix_time;usingboost::uint64_t;ptimeUNIX_EPOCH(boost::gregorian::date(1970,1,1));intmain(){ptimecurrent_time=microsec_clock::universal_time();std::cout这是我得到的输出。originaltime:2010-Dec-

c++ - time_t boost 日期转换给出不正确的结果

我有一组unix时间戳,我正在转换为boost(1.65.1)日期,但是当它们在未来太远时,转换似乎会中断。2040年左右及以后的任何事情似乎都以某种方式回到了1900年后。给定以下代码...{std::time_tt=1558220400;boost::gregorian::datedate=boost::posix_time::from_time_t(t).date();std::cout...我得到以下输出...Date:2019-May-18Date:2037-Dec-27Date:1913-Feb-13...但是我期待以下输出...Expectedoutput:Date:20

c++ - boost 图中的颜色图 breadth_first_visit

我想使用boostsbreadth_first_visit方法,我想为它提供我自己的“外部”颜色图。我定义的图如下typedefboost::adjacency_list>>GraphType;其中Node_t是一个结构体,用于定义顶点的属性。但是,我无法找到如何为BFS提供我自己的颜色图。我想将顶点颜色存储在一个vector中,所以我的定义看起来像std::vectorcolors;但我想不通,如何将其用于bfs。都不是boost::breadth_first_search(g,*boost::vertices(g).first,boost::color_map(colors));也

c++ - 如何将 __DATE__ 和 __TIME__ 宏拆分为变量声明的单独组件?

我有以下结构(在嵌入式系统上):structCalib_Time_struct{uint16_tyear;uint16_tmonth;uint16_tday;uint16_thour;uint16_tminute;uint16_tseconds;};我有一个“默认”值数组,我需要在其中插入时间值:structCalib_Table_struct{unsignedinttable_id;//!我想从__DATE__宏中填写“modification_date”成员的年、月和日。有没有办法做到这一点?(有什么技巧吗?)是否可以将类似的方法或hack应用于__TIME__宏?动机是允许编译器

c++ - 在 universal_time 上使用时间方面

在boost上,要创建一个时间方面来格式化指定的时间,我们使用以下方法:boost::local_time::local_time_facet*facet=newboost::local_time::local_time_facet("%Y%m%d%H:%M:%S.%f");std::stringstreamdate_stream;date_stream.imbue(std::locale(date_stream.getloc(),facet));date_stream我如何做同样的事情,但使用通用时钟:boost::posix_time::microsec_clock::univer

c++ - Boost find_first 它是如何工作的?/定义一个范围

我有一个缓冲区(例如charbuffer[1024]),其中填充了一些数据。现在我想在这个缓冲区中搜索一个子字符串。因为它应该是一个不区分大小写的搜索,所以我正在使用boost::algorithm::ifind_first。所以我这样调用这个函数:boost::iterator_rangebuf_iterator;buf_iterator=boost::algorithm::ifind_first(buffer,"substring");这实际上工作正常。但我担心的是:我只向函数传递了一个charpointer,所以ifind_first应该不知道我的缓冲区在哪里结束,但它仍然有效。

c++ - boost::transform_iterator 不适用于 std::bind( &Pair::first, _1 )?

通过std::map的键集进行迭代的传统任务将我引向了另一个似乎尚未在此处讨论的困惑局面。简而言之,这段代码无法编译(大量使用C++11):typedefstd::pairPair;vectorv{Pair(1,2),Pair(2,3)};usingnamespacestd::placeholders;autochoose_first=std::bind(&Pair::first,_1);boost::make_transform_iterator(v.begin(),choose_first);错误信息如下。notypenamed'result_type'in'structstd::

c++ - 为什么在核心转储中得到 "first/second chance not available"

我使用windbg调试故障转储,在windbg的以下输出中,您可以看到“first/secondchancenotavailable”,为什么first/secondchance不可用?这是什么意思?Thisdumpfilehasanexceptionofintereststoredinit.Thestoredexceptioninformationcanbeaccessedvia.ecxr.(e38.2270):Accessviolation-codec0000005(first/secondchancenotavailable) 最佳答案

c++ - 从 64 位整数秒数创建一个 boost::posix_time::ptime 对象

我有一个32位Linux系统,我必须在其中记录时间戳为1901-01-0100:00:00的UINT32秒偏移量的数据。计算时间戳对我来说没问题,因为我可以使用64位ticks()计数器和ticks_per_second()函数生成自纪元以来的秒数如下(我只需要二级分辨率)constptimeptime_origin(time_from_string("1901-01-0100:00:00"));time_durationmy_utc=microsec_clock::universal_time()-ptime_origin;boost::int64_ttick_per_sec=my_

c++ - std::chrono::time_point 无效值

boost/std::chrono::time_pointmy_time_point(/*invalidvalue*/);我需要存储一个无效/无意义/标记值。我怎么可能那样做? 最佳答案 您可以使用boost::optional(或std::optional,如果您支持C++17)表示chrono::time_point的无效状态:#include#includeintmain(){usingmy_clock=std::chrono::system_clock;usingmy_time_point=std::chrono::time