1[/license 2 3Boost.Bimap 4 5Copyright (c) 2006-2007 Matias Capeletto 6 7Distributed under the Boost Software License, Version 1.0. 8(See accompanying file LICENSE_1_0.txt or copy at 9http://www.boost.org/LICENSE_1_0.txt) 10 11] 12 13[/ QuickBook Document version 1.4 ] 14 15[section unconstrained_set_of Reference] 16 17[section Header "boost/bimap/unconstrained_set_of.hpp" synopsis] 18 19 namespace boost { 20 namespace bimaps { 21 22 23 template< class KeyType > 24 struct unconstrained_set_of; 25 26 struct unconstrained_set_of_relation; 27 28 29 } // namespace bimap 30 } // namespace boost 31 32[endsect] 33 34[section unconstrained_set_of Views] 35 36An unconstrained_set_of set view is a view with no constraints. The use 37of these kind of view boost the bimap performance but the view can not 38be accessed. An unconstrained view is an empty class. 39 40 namespace boost { 41 namespace bimaps { 42 namespace views { 43 44 template< ``['-implementation defined parameter list-]`` > 45 class ``['-implementation defined view name-]`` 46 { 47 // Empty view 48 }; 49 50 } // namespace views 51 } // namespace bimap 52 } // namespace boost 53 54 55 56In the case of a `bimap< unconstrained_set_of<Left>, ... >` 57 58In the set view: 59 60 typedef signature-compatible with relation< Left, ... > key_type; 61 typedef signature-compatible with relation< Left, ... > value_type; 62 63In the left map view: 64 65 typedef Left key_type; 66 typedef ... mapped_type; 67 68 typedef signature-compatible with std::pair< Left, ... > value_type; 69 70In the right map view: 71 72 typedef ... key_type; 73 typedef Left mapped_type; 74 75 typedef signature-compatible with std::pair< ... , Left > value_type; 76 77 78 79[#unconstrained_set_of_complexity_signature] 80 81[section Complexity signature] 82 83We adopt the scheme outlined in the 84[link complexity_signature_explanation complexity signature section]. 85An unconstrained view can not be accessed by the user, but the 86formulas to find the order of an operation for a bimap hold with 87the following definitions. 88The complexity signature of a `unconstrained_set_of` view is: 89 90* copying: `c(n) = 0` 91* insertion: `i(n) = 0` 92* hinted insertion: `h(n) = 0` 93* deletion: `d(n) = 0` 94* replacement: `r(n) = 0` 95* modifying: `m(n) = 0` 96 97[endsect] 98 99[section Serialization] 100 101Views cannot be serialized on their own, but only as part of the 102`bimap` into which they are embedded. In describing the additional 103preconditions and guarantees associated to `list_of` views with respect to 104serialization of their embedding containers, we use the concepts defined in the 105`bimap` serialization section. 106 107[blurb [*Operation:] saving of a `bimap` b to an output archive 108(XML archive) ar.] 109 110* [*Requires:] No additional requirements to those imposed by the container. 111 112[blurb [*Operation:] loading of a `bimap` b' from an input archive 113(XML archive) ar.] 114 115* [*Requires:] No additional requirements to those imposed by the container. 116 117 118[endsect] 119[endsect] 120 121[endsect] 122 123 124