C++ Boost

Boost圖庫的歷史

Boost圖庫最開始是作為通用圖組件庫(GGCL)出現的,它是Notre Dame大學 科學計算實驗室 (LSC)Andrew Lumsdaine 教授帶領的一個項目。該實驗室的研究方向還包括:數值線性代數,並行計算,以及軟件工程(包括范型編程)。

標準模版庫出現後不久,LSC實驗室就開始採用范型編程來進行科學計算。矩陣模版庫(Matrix Template Library (Jeremy Siek的碩士學位論文)就是最早採用范型編程的項目之一。同時,構建MTL過程中的一些經驗被引入到GGCL的設計和實現當中。

由於圖算法在稀疏矩陣計算當中起著非常重要的作用,所以LSC需要一個優秀的圖庫。然而,沒有一個圖庫(LEDA, GTL, Stanford GraphBase)是用STL的范型編程風格去寫的,並且已有庫也不能很好的適應LSC對於靈活和高性能方面的需求。另外也有一些人非常需要用C++實 現的范型庫。在一次會議期間Bjarne Stroustrup被介紹給了一些需要這些庫的人。其實在范型圖算法方面已經做了一些前期工作,比如Alexander Stepanov寫的一些代碼,以及Dietmar Kuhl的碩士論文。

在這種思想的驅動下,同時為了完成算法課的作業,Jeremy於1998年春開始一套實現接口原型和一些圖相關類了。隨後,Lie- Quan Lee開發了GGCL的第一個版本,並且該項目作為他的碩士論文項目。

接下去的一年,Jeremy和Alexander Stepanov 以及Matt Austern一起到了SGI工作。其間Alex的基於連通分支的不相交集合算法被加入到GGCL中,並且Jeremy開始給GGCL的概念文檔了,該文 檔類似於Matt給STL寫的文檔。

在SGI工作期間,Jeremy聽說了Boost並且找到了一群對創造一套高質量C++庫感興趣的人。Boost成員中,有很多人對泛 型圖算法都很 感興趣,最有名的是Dietmar Kuhl。關於圖結構的范型接口的一些論述被加入到了GGCL中,它們已經很像現在的Boost圖庫接口了。

在2000年9月4日,GGCL通過了Boost的正式評審並且成為了Boost圖庫(BGL)。BGL的第一個發行版是2000年9 月27日發行的。

版本變更



Copyright c 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
Lie-Quan Lee, Indiana University (llee@cs.indiana.edu)
Andrew Lumsdaine, Indiana University (lums@osl.iu.edu)