Version 0.6, April 11, 2018
pure-stllib is an “umbrella” package that contains a pair of Pure addons, pure-stlvec and pure-stlmap. These addons provide Pure interfaces to a selection of containers provided by the C++ Standard Library, specialized to hold pointers to arbitrary Pure expressions. pure-stlvec is a Pure interface to C++’s vector and the STL algorithms that act on them. pure-stlmap is an interface to six (of the eight) of C++’s associative containers: map, set, multimap, multiset, unordered_map and unordered_set.
All rights reserved.
pure-stllib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
pure-stllib is distributed under a BSD-style license, see the COPYING file for details.
pure-stllib-0.6 requires at least Pure 0.50. The latest version of Pure is available at https://bitbucket.org/purelang/pure-lang/downloads.
The latest version of the source code for pure-stllib can be downloaded from https://bitbucket.org/purelang/pure-lang/downloads/pure-stllib-0.6.tar.gz.
To install pure-stllib-0.6 (on Linux), extract the source code (e.g., tar -xzf pure-stllib-0.6.tar.gz), cd to the pure-stllib-0.6 directory, and run make. After this you can (and should) also run make check to run a few unit tests to make sure that pure-stlvec and pure-stlmap work properly on your system. If make check works, run sudo make install to install pure-stlvec and pure-stlmap. Run sudo make uninstall to remove them.
make tries to guess your Pure installation directory and platform-specific setup. If it gets this wrong, you can set some variables manually. In particular, make install prefix=/usr sets the installation prefix. Please see the Makefile for details.
pure-stlvec provides functions that act on a single mutable container, stlvec, which is a wrapper around C++’s vector, specialized to hold Pure expressions. It also provides functions that correspond to C++’s STL algorithms specialized to act on stlvecs.
pure-stlmap provides functions that act on six mutable containers, “stlmap”, “stlset”, “stlmmap”, “stlmset”, “stlhmap” and “stlhset”, that are thin wrappers around the corresponding associative containers provided by C++, map, set, multimap, multiset, unordered_map and unordered_set, specialized to hold Pure expressions.
The functions provided by pure-stlvec and pure-stlmap are made available by importing one or more of the following modules.
stlvec - support for stlvecs
stlvec::algorithms - STL algorithms specialized to act on stlvecs
stlmap - support for stlmap and stlset
stlmmap - support for stlmmap and stlmset
stlhmap - support for stlhmap and stlhset
Please see the documentation for pure-stlvec and pure-stlmap.
For the impatient, the functions that act on containers provided by the stlmap, stlmmap, stlhmap and stlvec modules are summarized in a rudimentary cheatsheet, pure-stllib-cheatsheet.pdf, which can be found in the pure-stllib/doc directory.