| <HTML> |
| <!-- |
| Copyright (c) 2012 Trustees of Indiana University |
| |
| 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) |
| --> |
| <Head> |
| <Title>Value-Transforming Property Map Adaptor</Title> |
| <BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b" |
| ALINK="#ff0000"> |
| <IMG SRC="../../../boost.png" |
| ALT="C++ Boost" width="277" height="86"> |
| |
| <BR Clear> |
| |
| |
| <H2><A NAME="sec:function-property-map"></A> |
| </h2> |
| <PRE> |
| transform_value_property_map<UnaryFunction, PM, Ref> |
| </PRE> |
| |
| <P> |
| This 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. |
| |
| <P> |
| |
| <!-- <h3>Example</h3> |
| |
| <pre> |
| </pre> --> |
| |
| <H3>Where Defined</H3> |
| |
| <P> |
| <a href="../../../boost/property_map/transform_value_property_map.hpp"><TT>boost/property_map/transform_value_property_map.hpp</TT></a> |
| |
| <p> |
| <H3>Model Of</H3> |
| |
| <a href="./ReadablePropertyMap.html">Readable Property Map</a> or <a href="./LvaluePropertyMap.html">Lvalue Property Map</a> |
| |
| <P> |
| |
| <H3>Template Parameters</H3> |
| |
| <P> |
| |
| <TABLE border> |
| <TR> |
| <th>Parameter</th><th>Description</th><th>Default</th> |
| </tr> |
| |
| |
| <TR> |
| <TD><TT>UnaryFunction</TT></TD> |
| <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> |
| <TD> </td> |
| </tr> |
| |
| <TR> |
| <TD><TT>PM</TT></TD> <TD>The underlying property map. |
| </TD> <TD> </TD> |
| </TR> |
| |
| <TR> |
| <TD><TT>Ref</TT></TD> |
| <TD>The result type of the function.</TD> |
| <TD><TT>boost::result_of<const UnaryFunction(property_traits<PM>::reference)>::type</TT></TD> |
| </TR> |
| |
| |
| </TABLE> |
| <P> |
| |
| <H3>Members</H3> |
| |
| <P> |
| In addition to the methods and functions required by <a |
| href="./ReadablePropertyMap.html">Readable Property Map</a> or <a href="LvaluePropertyMap.html">Lvalue Property Map</a>, this |
| class has the following members: |
| |
| <hr> |
| |
| <pre> |
| property_traits<transform_value_property_map>::value_type |
| </pre> |
| The type <tt>Ref</tt> with any reference or cv-qualifiers removed. |
| |
| <hr> |
| |
| <pre> |
| transform_value_property_map(const UnaryFunction& f, const PM& pm); |
| </pre> |
| Constructor. |
| |
| <hr> |
| |
| <h3>Non-Member functions</h3> |
| |
| <hr> |
| |
| <pre> |
| template <class PM, class UnaryFunction> |
| transform_value_property_map<UnaryFunction, PM> |
| make_transform_value_property_map(const UnaryFunction& f, const PM& pm); |
| </pre> |
| Returns a <tt>transform_value_property_map</tt> using the given function and property map type. |
| |
| <hr> |
| |
| <pre> |
| template <class Ref, class PM, class UnaryFunction> |
| transform_value_property_map<UnaryFunction, PM, Ref> |
| make_transform_value_property_map(const UnaryFunction& f, const PM& pm); |
| </pre> |
| Returns a <tt>transform_value_property_map</tt> using the given function and property map, explicitly giving the function's result type. |
| |
| <hr> |
| |
| <br> |
| <HR> |
| <TABLE> |
| <TR valign=top> |
| <TD nowrap>Copyright © 2012</TD><TD>Trustees of Indiana University |
| </TD></TR></TABLE> |
| |
| </BODY> |
| </HTML> |