草庐IT

current_index

全部标签

c++ - 将 C++11 lambda 与 boost::multi_index 结合使用

尝试使用C++11lambda作为boost::multi_index的关键访问器:#include#include#includestructFoobar{intkey;};voidfunc(){namespacemii=boost::multi_index;typedefboost::multi_index_container>>Container;}但是从g++4.8.2和boost1.53得到编译错误:error:couldnotconverttemplateargument'func()::__lambda0{}'to'int(*)(constFoobar&)'这个答案Usi

C++ Eclipse 调试器 : "Cannot find bounds of current function" and doesn't stop at breakpoints

我是第一次使用Ubuntu,而eclipse的调试器给我带来的麻烦超出了我的处理能力。目前我只想弄清楚如何让“无法找到当前函数的边界”停止,这样我就可以看到我的控制流在哪里出错了。我知道这是一个模糊的问题,但我愿意快速提供任何类型的必要信息。我在谷歌上搜索了大约2个小时的信息,打开和关闭不同的东西都无济于事。我正在使用版本:3.4.1(我相信是最新的)另外,我的断点并不总是有效(成功率可能约为25%),即使我在构建之前设置它们也是如此。在程序崩溃之前,我的cout如果有任何帮助,我将不胜感激。我会在附近。 最佳答案 不是unhear

c++ - Boost Multi-Index 自定义复合键比较器

我正在寻找为带有复合键的boostordered_non_unique索引编写自定义比较器。我不确定该怎么做。Boost有一个composite_key_comparer,但这对我不起作用,因为键成员的比较器之一取决于前一个成员。这是一个简化的示例,但我希望当second_为“A”时,索引按third_降序排序,首先为third_保留0值,然后在所有其他情况下使用std::less。希望这是有道理的。我想打印下面的代码:3,BLAH,A,05,BLAH,A,112,BLAH,A,104,BLAH,A,91,BLAH,A,8代码将代替这里有什么???。感谢您的帮助。#include#in

c++ - 关于 C++ Boost 图创建和 vertex_index 属性。

我是boost菜鸟。我想知道为什么以下代码编译失败。我正在创建一组顶点,并尝试分配我自己的顶点索引和顶点名称。(我正在关注此页面:http://fireflyblue.blogspot.com/2008/01/boost-graph-library.html。)我知道Boost中的vertS顶点列表不需要显式创建顶点ID,而且我还在Stackoverflow(howprovideavertex_indexpropertyformygraph)中看到了这个非常相关的问题讨论如何使用associative_property_map分配顶点索引。以下虽然-获取vertex_index映射,并

c++ - 从 boost multi_index 数组中 move 元素

假设我有可move且不可复制的对象,并且我有带有random_access索引的boost多索引数组。我需要将我的对象移出数组前端,但我找不到任何方法可以在documentation中给我右值/左值引用.我只能看到front()给我不断的引用和pop_front()删除元素,但不返回任何东西。那么有没有办法将元素移出boostmulti-index呢? 最佳答案 添加到@sehe的回答中,下面显示了在您的可move类型不可默认构造的情况下如何修改代码:已编辑:更改代码以正确处理*extracted的破坏。已编辑:添加了std::un

c++ - 为什么二进制文件不放在 CMAKE_CURRENT_BINARY_DIR 中?

据我了解,CMAKE_CURRENT_BINARY_DIR应该指向当前CMakeLists.txt文件的二进制文件所在的目录。然而,情况似乎并非如此。考虑这个文件结构:CMakeTest+-CMakeLists.txt+-main.cppCMakeLists.txtcmake_minimum_required(VERSION3.2)add_executable(CMakeTestmain.cpp)message(STATUS"CMAKE_CURRENT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}")main.cpp#includeintmain(){s

c++ - std::type_index 跨 DLL 是否安全

假设我有一个主DLL,其中有一个这样的类:classTest{public:typedefstd::unordered_mapMap;templatevoidSetValue(intval){SetValue(std::type_index(typeid(T)),val);}templateintGetValue(){returnGetValue(std::type_index(typeid(T)));}protected://Definedin.cppfilevoidSetValue(conststd::type_index&idx,intval){m_Map[idx]=val;}/

c++ - 从 sdl 调色板表面创建 OpenGL 纹理 (SDL_PIXELFORMAT_INDEX8)

我创建了一个bmp并使用SDL_LoadBMP加载它检查生成的SDL_Surface时,我可以看到它的格式为SDL_PIXELFORMAT_INDEX8。我想使用SDL表面使用glTexImage2D生成纹理.通常我只能检查表面接近于此的东西:SDL_Surface*surface=SDL_LoadBMP(filename.c_str());GLenummode=0;Uint8bpp=surface->format->BytesPerPixel;Uint32rm=surface->format->Rmask;if(bpp==3&&rm==0x000000ff)mode=GL_RGB;i

c++ - 如何在 Boost multi_index 复合键中删除?

我正在检查这个Boostmulti_indexcompositekeysusingMEM_FUN谁能告诉我如何为这个例子实现删除功能?现在我在做Name_set_by_last::iteratormitchells=names.get().find("mitchell");names.erase(mitchells);//showserror 最佳答案 names.get().erase(mitchells); 关于c++-如何在Boostmulti_index复合键中删除?,我们在St

c++ - std::current_exception 是否应该从类的析构函数中的 catch block 返回非空

我和我的同事认为我们在VisualC++2012和2013中发现了一个错误,但我们不确定。以下代码中对std::current_exception的调用是否应该返回一个非空的exception_ptr?似乎在我们尝试过的大多数其他编译器上:#include#include#includeclassA{public:~A(){try{throwstd::runtime_error("ohno");}catch(std::exception&){std::clog在VisualC++下运行时,我们得到“0”(假,这意味着返回的exception_ptr为空)。其他编译器,例如g++,打印“