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>Function 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> 22function_property_map<UnaryFunction, Key, Ref> 23</PRE> 24 25<P> 26This property map is an adaptor that converts a function object into either a <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/function_property_map.hpp"><TT>boost/property_map/function_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>Key</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>Key</TT></TD> <TD>The key type of the 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(const Key&)>::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<function_property_map>::value_type 89</pre> 90The type <tt>Ref</tt> with any reference or cv-qualifiers removed. 91 92<hr> 93 94<pre> 95function_property_map(const UnaryFunction& f = UnaryFunction()) 96</pre> 97Constructor. 98 99<hr> 100 101<h3>Non-Member functions</h3> 102 103<hr> 104 105<pre> 106 template <class Key, class UnaryFunction> 107 function_property_map<UnaryFunction, Key> 108 make_function_property_map(const UnaryFunction& f); 109</pre> 110Returns a <tt>function_property_map</tt> using the given function and key type. 111 112<hr> 113 114<pre> 115 template <class Key, class Ref, class UnaryFunction> 116 function_property_map<UnaryFunction, Key, Ref> 117 make_function_property_map(const UnaryFunction& f); 118</pre> 119Returns a <tt>function_property_map</tt> using the given function and key and reference types. 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