SkillAgentSearch skills...

Cppnow2016

C++Now 2016 talk - Pulling Visitors: Boost.Graph + Boost.Coroutine

Install / Use

/learn @daniel-j-h/Cppnow2016
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Pulling Visitors: Boost.Graph + Boost.Coroutine

Continuous Integration

Overview

I recommend going through the examples in order.

| Example | Introduces | | -------------- | ---------------------------------------------------------------------------------------------------- | | 01.cc | Dynamic graph, adjacency_list | | 02.cc | Bundled Properties, working with vertex / edge ranges | | 03.cc | Static graph, compressed_sparse_row_graph, temporary graph-external properties | | 04.cc | Breadth-first search, customization through visitor | | 05.cc | Breadth-first search, inverting control flow with coroutines, stepwise iteration, stdlib integration | | 06.cc | Bidirectional dijkstra, customization through visitor, problem with stepping visitors | | 07.cc | Bidirectional dijkstra, inverted control flow with coroutines, stepwise iteration | | 08.cc | GeoJSON from graph for visualization |

Building the Examples

mkdir build && cd build
export CC='clang' CXX='clang++' CXXFLAGS='-Wall -Wextra -pedantic'
cmake .. -DCMAKE_BUILD_TYPE=Release

With Nix:

nix-shell --pure --run 'env CXXFLAGS="-Wall -Wextra -pedantic" mkdir build && cd build && cmake ..'
nix-shell --pure --run 'cmake --build build'

Note: apply use-boost-coroutine2.patch if you want to use the newer Boost.Coroutine2 instead of the Boost.Coroutine library. This requires your Boost >=1.59 distribution to be build with CXXFLAGS=-std=c++14, which is probably not the case by default or using Boost >=1.61 where Boost.Coroutine2 was relaxed to C++11.

Resources

License

Copyright © 2016 Daniel J. Hofmann

Distributed under the MIT License (MIT).

Related Skills

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated5mo ago
Forks2

Languages

C++

Security Score

87/100

Audited on Oct 19, 2025

No findings