]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/mpl/doc/refmanual/c-str.html
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / mpl / doc / refmanual / c-str.html
CommitLineData
7c673cae
FG
1<?xml version="1.0" encoding="utf-8" ?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6<meta name="generator" content="Docutils 0.7: http://docutils.sourceforge.net/" />
7<title>The MPL Reference Manual: c_str</title>
8<link rel="stylesheet" href="../style.css" type="text/css" />
9</head>
10<body class="docframe refmanual">
11<table class="header"><tr class="header"><td class="header-group navigation-bar"><span class="navigation-group"><a href="./string-operations.html" class="navigation-link">Prev</a>&nbsp;<a href="./miscellaneous.html" class="navigation-link">Next</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group">Back&nbsp;Along</span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./string-operations.html" class="navigation-link">Up</a>&nbsp;<a href="../refmanual.html" class="navigation-link">Home</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./refmanual_toc.html" class="navigation-link">Full TOC</a></span></td>
12<td class="header-group page-location"><a href="../refmanual.html" class="navigation-link">Front Page</a> / <a href="./metafunctions.html" class="navigation-link">Metafunctions</a> / <a href="./string-operations.html" class="navigation-link">String Operations</a> / <a href="./c-str.html" class="navigation-link">c_str</a></td>
13</tr></table><div class="header-separator"></div>
14<div class="section" id="c-str">
15<h1><a class="toc-backref" href="./string-operations.html#id1562">c_str</a></h1>
16<div class="section" id="id1137">
17<h3><a class="subsection-title" href="#synopsis" name="synopsis">Synopsis</a></h3>
18<pre class="literal-block">
19template&lt;
20 typename Sequence
21 &gt;
22struct <a href="./c-str.html" class="identifier">c_str</a>
23{
24 typedef <em>unspecified</em> type;
25 static char const value[];
26};
27</pre>
28</div>
29<div class="section" id="id1138">
30<h3><a class="subsection-title" href="#description" name="description">Description</a></h3>
31<p><tt class="literal"><span class="pre"><a href="./c-str.html" class="identifier">c_str</a></span></tt> converts the <a class="reference internal" href="./forward-sequence.html">Forward Sequence</a> of <a class="reference internal" href="./integral-constant.html">Integral Constant</a>s <tt class="literal"><span class="pre">Sequence</span></tt>
32into a null-terminated byte string containing an equivalent sequence.</p>
33</div>
34<div class="section" id="id1139">
35<h3><a class="subsection-title" href="#header" name="header">Header</a></h3>
36<pre class="literal-block">
37#include &lt;<a href="../../../../boost/mpl/string.hpp" class="header">boost/mpl/string.hpp</a>&gt;
38</pre>
39</div>
40<div class="section" id="id1140">
41<h3><a class="subsection-title" href="#model-of" name="model-of">Model of</a></h3>
42<p><a class="reference internal" href="./metafunction.html">Metafunction</a></p>
43</div>
44<div class="section" id="id1141">
45<h3><a class="subsection-title" href="#parameters" name="parameters">Parameters</a></h3>
46<table border="1" class="docutils table">
47<colgroup>
48<col width="17%" />
49<col width="30%" />
50<col width="53%" />
51</colgroup>
52<thead valign="bottom">
53<tr><th class="head">Parameter</th>
54<th class="head">Requirement</th>
55<th class="head">Description</th>
56</tr>
57</thead>
58<tbody valign="top">
59<tr><td><tt class="literal"><span class="pre">Sequence</span></tt></td>
60<td><a class="reference internal" href="./forward-sequence.html">Forward Sequence</a> of
61<a class="reference internal" href="./integral-constant.html">Integral Constant</a>s</td>
62<td>A sequence to be converted into a
63null-terminated byte string.</td>
64</tr>
65</tbody>
66</table>
67</div>
68<div class="section" id="id1142">
69<h3><a class="subsection-title" href="#expression-semantics" name="expression-semantics">Expression semantics</a></h3>
70<div class="expression-semantics compound">
71<p class="compound-first">For any <a class="reference internal" href="./forward-sequence.html">Forward Sequence</a> of <a class="reference internal" href="./integral-constant.html">Integral Constant</a>s <tt class="literal"><span class="pre">s</span></tt>,</p>
72<pre class="compound-middle literal-block">
73<a href="./c-str.html" class="identifier">c_str</a>&lt;s&gt;::value;
74</pre>
75<table class="compound-last docutils field-list" frame="void" rules="none">
76<col class="field-name" />
77<col class="field-body" />
78<tbody valign="top">
79<tr class="field"><th class="field-name">Return type:</th><td class="field-body"><p class="first">A null-terminated byte string.</p>
80</td>
81</tr>
82<tr class="field"><th class="field-name">Precondition:</th><td class="field-body"><p class="first"><tt class="literal"><span class="pre"><a href="./size.html" class="identifier">size</a>&lt;s&gt;::value</span> <span class="pre">&lt;=</span> <span class="pre">BOOST_MPL_STRING_MAX_LENGTH</span></tt>.</p>
83</td>
84</tr>
85<tr class="field"><th class="field-name">Semantics:</th><td class="field-body"><p class="first">Equivalent to</p>
86<pre class="last literal-block">
87char const value[] = {
88 <a href="./at.html" class="identifier">at</a>&lt;s, 0&gt;::type::value
89 , ...
90 , <a href="./at.html" class="identifier">at</a>&lt;s, <a href="./size.html" class="identifier">size</a>&lt;s&gt;::value-1&gt;::type::value
91 , '\0'
92};
93</pre>
94</td>
95</tr>
96</tbody>
97</table>
98</div>
99</div>
100<div class="section" id="id1143">
101<h3><a class="subsection-title" href="#complexity" name="complexity">Complexity</a></h3>
102<table border="1" class="docutils table">
103<colgroup>
104<col width="47%" />
105<col width="53%" />
106</colgroup>
107<thead valign="bottom">
108<tr><th class="head">Sequence archetype</th>
109<th class="head">Complexity</th>
110</tr>
111</thead>
112<tbody valign="top">
113<tr><td><a class="reference internal" href="./forward-sequence.html">Forward Sequence</a></td>
114<td>Linear.</td>
115</tr>
116</tbody>
117</table>
118</div>
119<div class="section" id="id1144">
120<h3><a class="subsection-title" href="#example" name="example">Example</a></h3>
121<pre class="literal-block">
122typedef <a href="./vector-c.html" class="identifier">vector_c</a>&lt;char,'h','e','l','l','o'&gt; hello;
123assert( 0 == std::strcmp( <a href="./c-str.html" class="identifier">c_str</a>&lt;hello&gt;::value, &quot;hello&quot; ) );
124</pre>
125</div>
126<div class="section" id="id1145">
127<h3><a class="subsection-title" href="#see-also" name="see-also">See also</a></h3>
128<p><a class="reference internal" href="./forward-sequence.html">Forward Sequence</a>, <a class="reference internal" href="./integral-constant.html">Integral Constant</a>, <a class="reference internal" href="./string.html">string</a></p>
129</div>
130</div>
131
132<div class="footer-separator"></div>
133<table class="footer"><tr class="footer"><td class="header-group navigation-bar"><span class="navigation-group"><a href="./string-operations.html" class="navigation-link">Prev</a>&nbsp;<a href="./miscellaneous.html" class="navigation-link">Next</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group">Back&nbsp;Along</span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./string-operations.html" class="navigation-link">Up</a>&nbsp;<a href="../refmanual.html" class="navigation-link">Home</a></span><span class="navigation-group-separator">&nbsp;|&nbsp;</span><span class="navigation-group"><a href="./refmanual_toc.html" class="navigation-link">Full TOC</a></span></td>
134<td><div class="copyright-footer"><div class="copyright">Copyright © 2009 Eric Niebler</div>
135Distributed under the Boost Software License, Version 1.0. (See accompanying
136file LICENSE_1_0.txt or copy at <a class="reference external" href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</div></td></tr></table></body>
137</html>