BGL 中的 slistS 发生了什么变化?
What's happened to slistS in BGL?
我正在使用 Boost 1.60 adjacency_list
,并希望将slistS
用于模板参数OutEdgeList
:
using Graph = boost::adjacency_list<
boost::slistS, boost::listS, boost::bidirectionalS
>;
这不会编译。查看 adjacency_list.hpp 似乎在没有旧 STL std::slist
的情况下显式删除了此类型:
#if !defined BOOST_NO_SLIST
# ifdef BOOST_SLIST_HEADER
# include BOOST_SLIST_HEADER
# else
# include <slist>
# endif
#endif
#if !defined BOOST_NO_SLIST
struct slistS {};
#endif
不能将std::forward_list
用于boost::slistS
吗?如果没有,是否有计划将其包含在BGL的未来版本中?
在我看来,
这特定于缺少<slist>
的Clang/Libc++。它不是 c++ 标准的一部分。
/libstdc++ 编译很好(使用 GCC 5.2 和 c++14 测试)。
所以我只使用boost::container::slist
:
住在科里鲁
#include <boost/container/slist.hpp>
#include <boost/graph/adjacency_list.hpp>
#ifdef BOOST_NO_SLIST
namespace boost {
struct slistS;
template <class ValueType> struct container_gen<slistS, ValueType> {
typedef boost::container::slist<ValueType> type;
};
template <> struct parallel_edge_traits<slistS> { typedef allow_parallel_edge_tag type; };
}
#endif
int main() {
using namespace boost;
adjacency_list<vecS, slistS> works_for_me;
}
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 警告处理为错误这里有什么问题
- 什么时候调用组成单元对象的析构函数
- #定义c-预处理器常量..我做错了什么
- EM_ASM里面的 JS 代码会发生什么变化?
- 新任务中以前的数据会发生什么变化
- 在调用解构之后,存储在内存中的动态分配值会发生什么变化
- OpenGL从1.x、2.x、3.x和4.x的变化是什么
- C++11允许对非静态和非常量成员进行类内初始化.发生了什么变化
- 是什么变化导致C++中ABI中断
- 以 0 开头的 int 发生了什么变化?前 00101
- VS 2012 中可能有什么变化来破坏我的C++应用程序?
- 什么是 2D 矢量构建 C++11 中的突破性变化
- BGL 中的 slistS 发生了什么变化?
- (C++)函数完成后,堆栈上分配的数组发生了什么变化
- Windows 8的驱动程序签名要求发生了什么变化
- 一个从未执行过的代码中的一个小变化怎么会有什么不同呢
- 当我们从用户模式转移到内核模式时,哪些寄存器会发生变化?!以及转移到内核模式的原因是什么
- Mmap():如果底层文件发生变化(收缩)会发生什么
- 自2002年以来,c++模板标准有什么重大变化吗?