- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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
boost::slistS
不能使用 std::forward_list
吗?如果没有,是否有任何计划将其包含在 BGL 的 future 版本中?
最佳答案
这在我看来是特定于 Clang/Libc++ 的,其中 <slist>
不见了。它不是 c++ 标准的一部分。
用 GCC/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;
}
关于c++ - BGL 中的 slistS 发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35312971/
我使用的是 Windows 7 SP1 64 位。在 WinDBG 中,我打开一个可执行文件,然后输入命令 !slist $teb _EXCEPTION_REGISTRATION_RECORD 0 但
我正在使用 Boost 1.60 adjacency_list 并希望将 slistS 用于模板参数 OutEdgeList: using Graph = boost::adjacency_list;
我已经声明了以下 node继承自 boost::intrusive::slist_base_hook<> : class InputBufferSglNode : public boost::intr
我需要的只是一个动态增长的数组。我不需要随机访问,我总是插到最后,从头读到尾。 slist 似乎是首选,因为它提供了我所需要的。但是,我不知道使用 slist 而不是 vector 有什么好处。此外,
我是 STL 新手。我发现 slist(单链表)不是标准 C++ 标准的一部分。那么如何在我的程序中使用它呢? 我下载了 slist.h并粘贴在 C:\Program Files (x86)\Micr
当我尝试将我的 Win32 代码从 Microsoft 工具链移植到 MinGW 时,大多数代码都可以正常编译,但也有少数异常(exception)。 MinGW 中似乎缺少的一个特定 API 是 S
我一直在研究如何使用 sys/queue.h 中定义的宏来使用单链表,但我有一些疑问。目前我正在尝试使用相同的方法创建一个简单的列表。请注意,下面的程序是不完整的,我只输入了我认为相关的部分。 int
在两个boost::intrusive::slist>之间转移节点是否有效对象?类似下面的内容 auto one = boost::intrusive::slist>{}; auto two = bo
Windows 提供了一个无锁的单向链表,如本页所述: Win32 SList 我想知道是否有围绕此功能的现有良好 C++ 包装器。当我说好时,我的意思是它尽可能地导出通常的 STL 接口(inter
我正在使用 Ubuntu。 g++ 版本 4.7.2。 任何人都可以帮我处理 gnu-extension 单列表吗?我在这里编译了这些东西,并在执行时得到了一个核心转储。 我调试了它,看到核心转储发生
我正在尝试让一些旧的第三方软件在 OS X 10.9 上编译。通过调整 Makefile 中的设置,我设法摆脱了大多数编译问题,这些 Makefile 最初是为 gcc 编写的,大概是在 2005 年
对于一个不需要随机访问列表元素的简单链表,使用 std::list 代替 std 是否有任何显着优势(性能或其他方面): : vector ?如果需要向后遍历,在遍历其元素之前使用 std::slis
我是一名优秀的程序员,十分优秀!