Difference between revisions of "Boost"

From ProgrammingExamples
Jump to: navigation, search
(Basics)
(Boost Examples)
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
The following examples are frequent use cases of parts of the Boost (http://www.boost.org/) library. Each example includes a CMakeLists.txt file so it can be easily compiled.
 
The following examples are frequent use cases of parts of the Boost (http://www.boost.org/) library. Each example includes a CMakeLists.txt file so it can be easily compiled.
  
 +
== Boost Examples ==
 +
* [[CPP/Boost/LexicalCast|lexical_cast - a replacement for std::stringstream]]
 
* [[CPP/Boost/Bimap|Bidirectional (both ways) map]]
 
* [[CPP/Boost/Bimap|Bidirectional (both ways) map]]
 
* [[CPP/Boost/Function|Glorified function pointers (function.hpp and bind.hpp)]]
 
* [[CPP/Boost/Function|Glorified function pointers (function.hpp and bind.hpp)]]
 +
* [[CPP/Boost/ClassFunctionPointer|Function pointers to class functions]]
 
* [[CPP/Boost/Histogram|Create a histogram (accumulator)]]
 
* [[CPP/Boost/Histogram|Create a histogram (accumulator)]]
 
* [[CPP/Boost/Numeric/Matrix|Matrix]]
 
* [[CPP/Boost/Numeric/Matrix|Matrix]]
Line 21: Line 24:
  
 
== Boost Graph Library (BGL) ==
 
== Boost Graph Library (BGL) ==
=== Basics ===
+
The Boost Graph Library is a c++ library for graph theoretic data structures and algorithms. There are several examples here: [[Boost/BGL|Boost Graph Library Examples]]
* [[CPP/Boost/CreateGraph|Create a graph]] - This is the most fundamental process of using BGL - creating a graph. This example explains 3 methods of creating a graph, using adjacency_list directly, and also using the directed_graph and undirected_graph subclasses.
+
  
* [[CPP/Boost/BGL/EdgeExists|Check if an edge exists]] - If it does, you also get the edge_descriptor
+
=== Wish List ===
* [[CPP/Boost/BGL/Directed/Weighted|Access an edge]]
+
Examples in this section are either shells or something is wrong with them that must be fixed before they can graduate into real examples.
* [[CPP/Boost/RemoveVertex|Remove a vertex from a graph]]
+
* [[CPP/Boost/RemoveEdge|Remove an edge from a graph]]
+
* [[CPP/Boost/BGL/EdgeProperties|Add properties to edges]]
+
* [[CPP/Boost/BGL/VertexProperties|Add properties to vertices]]
+
* [[CPP/Boost/BGL/BundledProperties|Bundled properties]]
+
* [[CPP/Boost/BGL/AdjacentVertices|Get a list of neighboring (adjacent) vertices]]
+
* [[CPP/Boost/BGL/DirectedGraph|Directed graphs only give access to out edges]]
+
* [[CPP/Boost/BGL/BidirectionalGraph|Bidirectional graphs give access to both in and out edges]]
+
* [[CPP/Boost/BGL/NumberOfNeighbors|Number of incoming, outgoing, and total edges]]
+
* [[CPP/Boost/BGL/BreadthFirstSearch|Breadth first search (BFS with a custom visitor)]]
+
* [[CPP/Boost/BGL/MakeBFSVisitor|Breadth first search with make_bfs_visitor]]
+
* [[CPP/Boost/BGL/DepthFirstSearch|Depth first search (DFS)]]
+
  
=== I/O ===
+
== Boost (Generic) Geometry Library ==
* [[CPP/Boost/BGL/ReadGraph|Read a graph from a file]]
+
* [[CPP/Boost/Geometry/DistanceBetweenPoints|Compute the distance between two points]]
* [[CPP/Boost/BGL/WriteGraph|Write a graph to a file]]
+
* [[CPP/Boost/Geometry/PointInPolygon|Determine if a point is inside of a polygon (within() function)]]
* [[CPP/WishList/Boost/BGL/RelabelInputVertices|Relabel input vertices read from a dot file so they match the labels used in the file]]
+
* [[CPP/Boost/Geometry/Simplify|Simplify a polyline]]
 +
* [[CPP/Boost/Geometry/CoordinateConversion|Convert between spherical and Cartesian coordinates]]
  
=== Algorithms ===
+
== Boost Iterators ==
 +
* [[CPP/Boost/Iterators/IndirectIterator|Access a collection of pointers as if it were a collection of objects]]
  
* [[CPP/Boost/BGL/DijkstraDirected|Find the shortest path (Dijkstra) from a specified vertex to all other vertices in a directed graph]]
+
== Boost Math Library ==
* [[CPP/Boost/BGL/DijkstraUndirected|Find the shortest path (Dijkstra) from a specified vertex to all other vertices in an undirected graph]]
+
=== uBLAS ===
* [[CPP/Boost/BGL/DijkstraComputePath|Find the shortest path (Dijkstra) from one specified vertex to another specified vertex in a graph]]
+
* [[CPP/Boost/Math/uBLAS/determinant]] Calculating the determinant of a matrix using boost::numeric::lu_factorize
* [[CPP/Boost/BGL/BetweennessCentralityClustering|Cluster a graph using betweenness centrality]]
+
=== Tools ===
 +
* [[CPP/Boost/Math/Tools/brent_find_minima|brent_find_minima]] Find a bracketed minimum of a function
 +
* [[CPP/Boost/Math/Tools/TOMS748|TOMS748 root finding algorithm]] Find a bracketed root(zero) of a function
  
=== Visualization ===
+
== Heap ==
 
+
* [[CPP/Boost/Heap/IndirectCompare|Indirect heap]] Sort a heap by values in a property map
* [[CPP/Boost/BGL/InvisibleEdges|Create a graph with invisible edges]]
+
 
+
=== Wish List ===
+
Examples in this section are either shells or something is wrong with them that must be fixed before they can graduate into real examples.
+

Latest revision as of 15:36, 12 May 2015

The following examples are frequent use cases of parts of the Boost (http://www.boost.org/) library. Each example includes a CMakeLists.txt file so it can be easily compiled.

Boost Examples

Boost Graph Library (BGL)

The Boost Graph Library is a c++ library for graph theoretic data structures and algorithms. There are several examples here: Boost Graph Library Examples

Wish List

Examples in this section are either shells or something is wrong with them that must be fixed before they can graduate into real examples.

Boost (Generic) Geometry Library

Boost Iterators

Boost Math Library

uBLAS

Tools

Heap