geometry/doc/quickbook/references.qbk
2012-01-09 21:56:08 +00:00

86 lines
3.0 KiB
Plaintext

[/==============================================================================
Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2008-2012 Bruno Lalande, Paris, France.
Copyright (c) 2009-2012 Mateusz Loskot, London, UK., London, UK
Use, modification and distribution is subject to the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
[section References]
The following section lists references and relations between __boost_geometry__ and other
software libraries as well as various specifications and documents discussing subjects directly
related to the matter of the library implementation.
[section:std C++ Standard Library]
The __boost_geometry__ makes substantial use of the __wiki_std__ and is designed to be
compatible with it. Quick list of uses of the `std` namespace elements:
* provided geometries (linestring, ring, polygon, multi-s) make default use of `std::vector`,
but that is configurable.
* std sorting, unique copies, maps can make use of provided functors in compare.
* internally, there are vector's, deque's, there is sorting, many things are implemented
using the std library
[endsect] [/ end of C++Std]
[section Boost C++ Libraries]
The __boost_geometry__ makes use of the following __boost_cpp_lib__:
* __boost_range__
* __boost_traits__ (e.g. remove_const)
* __boost_concept__
* __boost_numericconv__ (cast, bounds)
* __boost_mpl__
* __boost_staticassert__
* __boost_iterator__
* __boost_smart_ptr__ (shared_ptr, in the extensions spatial index and projections)
* __boost_ublas__
* Adapted geometries:
* __boost_array__
* __boost_tuple__
* IO and parsing
* __boost_tokenizer__
* __boost_conversion__ (lexical cast)
* __boost_stringalgo__
* Testing
* __boost_test__
* __boost_timer__
* Examples
* __boost_graph__
Many of these are used a lot inside the library.
The __boost_range__ library is used everywhere to declare iterators and to walk through standard
containers or custom ranges.
The __boost_concept__ is used to check concepts, for geometries as well as for strategies.
Tranformations are implemented using __boost_ublas__
The __boost_mpl__ is used for a.o. reverse dispatching
Finally, the library can perfectly be used together with the __boost_graph__, as shown in example 7.
[endsect] [/ end of Boost]
[section:other Other Libraries]
__boost_geometry__ is designed to support use of arbitrary-precision arithmetic data types
and algorithms provided by third-party libraries like __gmp__ and __cln__.
['TODO: to be extended --mloskot]
['TODO: do we discuss only what libraries Boost Geometry core can use or extensions too? --mloskot]
[endsect] [/ end of Other Libraries]
[section:opengis Standards of the Open Geospatial Consortium (?)] [/TODO: matrix on Wiki]
['TODO: about ogc here...]
[endsect] [/ end of OGC]
[endsect] [/ end of References]