BGL
The Boost Graph Library (BGL). Graphs are mathematical abstractions that are useful for solving many types of problems in computer science. Consequently, these abstractions must also be represented in computer programs. A standardized generic interface for traversing graphs is of utmost importance to encourage reuse of graph algorithms and data structures. Part of the Boost Graph Library is a generic interface that allows access to a graph’s structure, but hides the details of the implementation. This is an “open” interface in the sense that any graph library that implements this interface will be interoperable with the BGL generic algorithms and with other algorithms that also use this interface. The BGL provides some general purpose graph classes that conform to this interface, but they are not meant to be the “only” graph classes; there certainly will be other graph classes that are better for certain situations. We believe that the main contribution of the The BGL is the formulation of this interface. The BGL graph interface and graph components are generic, in the same sense as the Standard Template Library (STL) [2]. In the following sections, we review the role that generic programming plays in the STL and compare that to how we applied generic programming in the context of graphs.
Keywords for this software
References in zbMATH (referenced in 42 articles )
Showing results 1 to 20 of 42.
Sorted by year (- Toth, Csaba D. (ed.); Goodman, Jacob E. (ed.); O’Rourke, Joseph (ed.): Handbook of discrete and computational geometry (2017)
- Vömel, Christof; de Lorenzi, Flavio; Beer, Samuel; Fuchs, Erwin: The secret life of keys: on the calculation of mechanical lock systems (2017)
- Schuppan, Viktor: Extracting unsatisfiable cores for LTL via temporal resolution (2016)
- Burger, Alewyn Petrus; de Villiers, Anton Pierre; van Vuuren, Jan Harm: Edge stability in secure graph domination (2015)
- Filar, Jerzy A.; Haythorpe, Michael; Rossomakhine, Serguei: A new heuristic for detecting non-Hamiltonicity in cubic graphs (2015)
- Boland, Natashia; Kalinowski, Thomas; Waterer, Hamish; Zheng, Lanbo: Scheduling arc maintenance jobs in a network to maximize total flow over time (2014)
- Czado, Claudia; Brechmann, Eike Christian; Gruber, Lutz: Selection of vine copulas (2013)
- Oudinet, Johan; Denise, Alain; Gaudel, Marie-Claude: A new dichotomic algorithm for the uniform random generation of words in regular languages (2013)
- Salzman, Oren; Hemmer, Michael; Raveh, Barak; Halperin, Dan: Motion planning via manifold samples (2013)
- Ursulenko, Oleksii; Butenko, Sergiy; Prokopyev, Oleg A.: A global optimization algorithm for solving the minimum multiple ratio spanning tree problem (2013)
- Andersson, Tommy; Andersson, Christer: Properties of the DGS-auction algorithm (2012)
- Beasley, Ryan A.: Semiautonomous medical image segmentation using seeded cellular automaton plus edge detector (2012) ioport
- Kerivin, Hervé L.M.; Lacroix, Mathieu; Mahjoub, Ali Ridha: Models for the single-vehicle preemptive pickup and delivery problem (2012)
- Russell, Tyrel; Van Beek, Peter: A hybrid constraint programming and enumeration approach for solving NHL playoff qualification and elimination problems (2012) ioport
- Stepanov, Alexander; Smith, James MacGregor: Modeling wildfire propagation with Delaunay triangulation and shortest path algorithms (2012)
- Blazewicz, Jacek; Burke, Edmund K.; Kasprzak, Marta; Kovalev, Alexandr; Kovalyov, Mikhail Y.: The simplified partial digest problem: approximation and a graph-theoretic model (2011)
- Bodlaender, Hans L.; Koster, Arie M.C.A.: Treewidth computations. II. Lower bounds (2011)
- Bourdev, Lubomir; Järvi, Jaakko: Efficient run-time dispatching in generic programming with minimal code bloat (2011) ioport
- Carette, Jacques; Kiselyov, Oleg: Multi-stage programming with functors and monads: eliminating abstraction overhead from generic code (2011)
- Franke, Robert; Rutter, Ignaz; Wagner, Dorothea: Computing large matchings in planar graphs with fixed minimum degree (2011)