草庐IT

BOOST_STATIC_ASSERT

全部标签

c++ - Boost Spirit Qi Symbols默认值和NULL值

BoostSpiritqi::symbols实现了一个键值对映射:给一个字符串的键,它可以返回某个值。我的问题是:1)对于一个空字符串,是否可以返回一个默认值?(代码中的Q1)2)对于非空字符串或键值对映射中列出的键,是否可以返回一个值表示该键无效?(代码中的Q2)**以下代码基于BOOSTSPIRIT文档。**在此先感谢您的任何建议。#include#include#include#include#include#include#include#include#includetemplatevoidtest_parser_attr(charconst*input,Pconst&p,T

c++ - 使用 boost::spirit::x3 解析为 vector<boost::string_view>

这是我的previousone的后续问题关于boost::spirit::x3和boost::string_view.虽然我可以解析成std::vector(liveexample),解析为std::vector失败并出现以下编译错误:#include#include#includenamespaceboost{namespacespirit{namespacex3{namespacetraits{templatevoidmove_to(Itb,Ite,boost::string_view&v){v=boost::string_view(b,std::size_t(std::dista

c++ - 嵌套的 Boost 融合结构

是否可以在单个语句中定义(或改编)包含成员BoostFusion结构的BoostFusion结构?例如,我如何调整或定义与此等效的内容:structOuter{inti;floatj;structNested{inta;}nested;};Outer和Outer::Nested都是可反射类型。以由内而外的顺序定义所有内部类型非常困惑并且将内部类型暴露在外部。 最佳答案 您应该能够使用其完全限定名称“定义”内部结构:BOOST_FUSION_ADAPT_STRUCT(Outer::Nested,a)BOOST_FUSION_ADAPT

c++ - 如何使用 C++ 获取文件夹/目录名称,但不是一个文件的路径?特别是 boost::filesystem;

这个问题在这里已经有了答案:Gettingadirectorynamefromafilename(11个答案)关闭6年前。std::stringfile="C:\\folder1\\folder2\\folder3.txt";fs::pathfile_path(file);fs::pathfile_dir=file_path.parent_path();//"C:\\folder1\\folder2";std::stringstr_path=file_path.string();std::stringstr_dir=file_dir.string();std:stringstr_fol

c++ - boost::spirit 默认语义 Action 和字符串组合

我有以下代码和平:#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includenamespacespi=boost::spirit;namespaceqi=boost::spirit::qi;TEST(TestBoost,cpp_comment){usingqi::char_;usingqi::omit;usingqi::eoi;typedefstd::stri

C++ 嵌套模板 : inaccessible static method

我在以下代码中遇到了一个奇怪的(或者可能不是)错误:templateclassRegistrer{public:Registrer(){Registry::register(T::instance);}};templateclassRegisteringClass{private:staticconstRegistrerREGISTRER;public:RegisteringClass(){Q_UNUSED(REGISTRER);/*forcestaticinstantiation*/}staticconstWhatEver*instance(){staticTINSTANCE;ret

c++ - Boost::ASIO:如何从 io_service 获取返回值?

如何从boost::asio::io_service获取返回值?是否可以使用一些绑定(bind)或任何不涉及重写函数的简单构造?下面是一个最小的例子。我正在trycatchGetSum()的返回值:#include#include#includeusingnamespacestd;voidSayHello(){std::coutTGetSum(Ta,Tb){std::cout,1,2));ioservice.run();return0;}为什么?因为我正在设计一个线程池,而且我正在考虑我的选择,使用户能够获得他的函数的返回值,而不必手动用另一个函数包装他的函数,为他捕获返回值.我的解决

c++ - static_cast<T&&>(t) 编译速度比 std::forward<T>(t) 快?

最近,我在这里阅读了range-v3的提交评论:https://github.com/ericniebler/range-v3/commit/a4829172c0d6c43687ba213c54f430202efd7497提交消息说,marginallyimprovecompiletimesbyreplacingstd::forwardwithstatic_cast我知道std::forward(t)返回static_cast(t),按照标准。我也知道有时static_cast(t)当T&&t时会正常工作是通过引用折叠规则的通用引用(或转发引用)。我感兴趣的是提交消息说static_c

c++ - 使用 Boost::Spirit 解析前置条件和递归

我正在尝试使用Boost::Spirit解析PDDL文件,但在将前提条件解析为结构时遇到了一些问题。我很难理解关于如何将条件放入我的结构和递归的Boost手册。我在下面给出了一段代码,应该可以很好地说明问题。必须解析如下所示的字符串::precondition(and(at-pos?r?pos)(not(has-pos?m?pos)))到目前为止,我的代码看起来像这样,但我几乎可以肯定我不了解at_c是如何工作的,因为我还没有使用过Boost::Phoenix。predi_param='?'>>name_type;predi='('>>name_type>>+predi_param>>

C++ 未解析的外部符号(public static int)

当我尝试编译它时,我得到了这个链接器错误:LNK2001unresolvedexternalsymbol"public:staticintHooksXD::night"(?night@HooksXD@@2HA)Theheaderisthis:classHooksXD{public:staticvoidXD3();staticintnight;staticintnight2;};变量是公共(public)的而不是私有(private)的,因为我需要从不在同一个类中的其他voids访问它们。cpp文件:HooksXDlmao;voidHooksXD::XD3(){//thisvoidwil