1<HTML> 2<!-- 3 Copyright (c) 2012 Trustees of Indiana University 4 5 Distributed under the Boost Software License, Version 1.0. 6 (See accompanying file LICENSE_1_0.txt or copy at 7 http://www.boost.org/LICENSE_1_0.txt) 8 --> 9<Head> 10<Title>Value-Transforming Property Map Adaptor</Title> 11<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b" 12 ALINK="#ff0000"> 13<IMG SRC="../../../boost.png" 14 ALT="C++ Boost" width="277" height="86"> 15 16<BR Clear> 17 18 19<H2><A NAME="sec:function-property-map"></A> 20</h2> 21<PRE> 22transform_value_property_map<UnaryFunction, PM, Ref> 23</PRE> 24 25<P> 26This property map is an adaptor that composes a function object after an existing property map. The new property map will model either <a href="ReadablePropertyMap.html">Readable Property Map</a> or a <a href="LvaluePropertyMap.html">Lvalue Property Map</a>. The category of the property map is based on whether the function's return type (as given by <tt>Ref</tt>) is a non-const reference type. 27 28<P> 29 30<!-- <h3>Example</h3> 31 32<pre> 33</pre> --> 34 35<H3>Where Defined</H3> 36 37<P> 38<a href="../../../boost/property_map/transform_value_property_map.hpp"><TT>boost/property_map/transform_value_property_map.hpp</TT></a> 39 40<p> 41<H3>Model Of</H3> 42 43<a href="./ReadablePropertyMap.html">Readable Property Map</a> or <a href="./LvaluePropertyMap.html">Lvalue Property Map</a> 44 45<P> 46 47<H3>Template Parameters</H3> 48 49<P> 50 51<TABLE border> 52<TR> 53<th>Parameter</th><th>Description</th><th>Default</th> 54</tr> 55 56 57<TR> 58<TD><TT>UnaryFunction</TT></TD> 59<TD>Must be a model of <a href="http://www.sgi.com/tech/stl/UnaryFunction.html">Unary Function</a> that accepts an object of type <tt>property_traits<PM>::reference</tt> as an argument and returns a result of type <tt>Ref</tt>.</TD> 60<TD> </td> 61</tr> 62 63<TR> 64<TD><TT>PM</TT></TD> <TD>The underlying property map. 65</TD> <TD> </TD> 66</TR> 67 68<TR> 69<TD><TT>Ref</TT></TD> 70<TD>The result type of the function.</TD> 71<TD><TT>boost::result_of<const UnaryFunction(property_traits<PM>::reference)>::type</TT></TD> 72</TR> 73 74 75</TABLE> 76<P> 77 78<H3>Members</H3> 79 80<P> 81In addition to the methods and functions required by <a 82href="./ReadablePropertyMap.html">Readable Property Map</a> or <a href="LvaluePropertyMap.html">Lvalue Property Map</a>, this 83class has the following members: 84 85<hr> 86 87<pre> 88property_traits<transform_value_property_map>::value_type 89</pre> 90The type <tt>Ref</tt> with any reference or cv-qualifiers removed. 91 92<hr> 93 94<pre> 95transform_value_property_map(const UnaryFunction& f, const PM& pm); 96</pre> 97Constructor. 98 99<hr> 100 101<h3>Non-Member functions</h3> 102 103<hr> 104 105<pre> 106 template <class PM, class UnaryFunction> 107 transform_value_property_map<UnaryFunction, PM> 108 make_transform_value_property_map(const UnaryFunction& f, const PM& pm); 109</pre> 110Returns a <tt>transform_value_property_map</tt> using the given function and property map type. 111 112<hr> 113 114<pre> 115 template <class Ref, class PM, class UnaryFunction> 116 transform_value_property_map<UnaryFunction, PM, Ref> 117 make_transform_value_property_map(const UnaryFunction& f, const PM& pm); 118</pre> 119Returns a <tt>transform_value_property_map</tt> using the given function and property map, explicitly giving the function's result type. 120 121<hr> 122 123<br> 124<HR> 125<TABLE> 126<TR valign=top> 127<TD nowrap>Copyright © 2012</TD><TD>Trustees of Indiana University 128</TD></TR></TABLE> 129 130</BODY> 131</HTML> 132