| [/license |
| |
| Boost.Bimap |
| |
| Copyright (c) 2006-2007 Matias Capeletto |
| |
| Distributed under 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) |
| |
| ] |
| |
| [/ QuickBook Document version 1.4 ] |
| |
| [section unconstrained_set_of Reference] |
| |
| [section Header "boost/bimap/unconstrained_set_of.hpp" synopsis] |
| |
| namespace boost { |
| namespace bimaps { |
| |
| |
| template< class KeyType > |
| struct unconstrained_set_of; |
| |
| struct unconstrained_set_of_relation; |
| |
| |
| } // namespace bimap |
| } // namespace boost |
| |
| [endsect] |
| |
| [section unconstrained_set_of Views] |
| |
| An unconstrained_set_of set view is a view with no constraints. The use |
| of these kind of view boost the bimap performance but the view can not |
| be accessed. An unconstrained view is an empty class. |
| |
| namespace boost { |
| namespace bimaps { |
| namespace views { |
| |
| template< ``['-implementation defined parameter list-]`` > |
| class ``['-implementation defined view name-]`` |
| { |
| // Empty view |
| }; |
| |
| } // namespace views |
| } // namespace bimap |
| } // namespace boost |
| |
| |
| |
| In the case of a `bimap< unconstrained_set_of<Left>, ... >` |
| |
| In the set view: |
| |
| typedef signature-compatible with relation< Left, ... > key_type; |
| typedef signature-compatible with relation< Left, ... > value_type; |
| |
| In the left map view: |
| |
| typedef Left key_type; |
| typedef ... data_type; |
| |
| typedef signature-compatible with std::pair< Left, ... > value_type; |
| |
| In the right map view: |
| |
| typedef ... key_type; |
| typedef Left data_type; |
| |
| typedef signature-compatible with std::pair< ... , Left > value_type; |
| |
| |
| |
| [#unconstrained_set_of_complexity_signature] |
| |
| [section Complexity signature] |
| |
| We adopt the scheme outlined in the |
| [link complexity_signature_explanation complexity signature section]. |
| An unconstrained view can not be accessed by the user, but the |
| formulas to find the order of an operation for a bimap hold with |
| the following definitions. |
| The complexity signature of a `unconstrained_set_of` view is: |
| |
| * copying: `c(n) = 0` |
| * insertion: `i(n) = 0` |
| * hinted insertion: `h(n) = 0` |
| * deletion: `d(n) = 0` |
| * replacement: `r(n) = 0` |
| * modifying: `m(n) = 0` |
| |
| [endsect] |
| |
| [section Serialization] |
| |
| Views cannot be serialized on their own, but only as part of the |
| `bimap` into which they are embedded. In describing the additional |
| preconditions and guarantees associated to `list_of` views with respect to |
| serialization of their embedding containers, we use the concepts defined in the |
| `bimap` serialization section. |
| |
| [blurb [*Operation:] saving of a `bimap` b to an output archive |
| (XML archive) ar.] |
| |
| * [*Requires:] No additional requirements to those imposed by the container. |
| |
| [blurb [*Operation:] loading of a `bimap` b' from an input archive |
| (XML archive) ar.] |
| |
| * [*Requires:] No additional requirements to those imposed by the container. |
| |
| |
| [endsect] |
| [endsect] |
| |
| [endsect] |
| |
| |