57
56
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsbuild_1_1chroot.html">chroot</a></td></tr>
59
58
<tr><td class="mdescLeft"> </td><td class="mdescRight">Common chroot data. <a href="classsbuild_1_1chroot.html#_details">More...</a><br></td></tr>
59
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsbuild_1_1custom__error.html">custom_error</a></td></tr>
61
<tr><td class="mdescLeft"> </td><td class="mdescRight">Custom error. <a href="classsbuild_1_1custom__error.html#_details">More...</a><br></td></tr>
62
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsbuild_1_1direntry.html">direntry</a></td></tr>
64
<tr><td class="mdescLeft"> </td><td class="mdescRight">An entry in a dirstream. <a href="classsbuild_1_1direntry.html#_details">More...</a><br></td></tr>
65
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsbuild_1_1dirstream.html">dirstream</a></td></tr>
67
<tr><td class="mdescLeft"> </td><td class="mdescRight">Access directories. <a href="classsbuild_1_1dirstream.html#_details">More...</a><br></td></tr>
60
68
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsbuild_1_1environment.html">environment</a></td></tr>
62
70
<tr><td class="mdescLeft"> </td><td class="mdescRight">Container of environment variables. <a href="classsbuild_1_1environment.html#_details">More...</a><br></td></tr>
63
71
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsbuild_1_1runtime__error.html">runtime_error</a></td></tr>
65
73
<tr><td class="mdescLeft"> </td><td class="mdescRight">Generic runtime error. <a href="classsbuild_1_1runtime__error.html#_details">More...</a><br></td></tr>
66
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsbuild_1_1runtime__error__custom.html">runtime_error_custom</a></td></tr>
68
<tr><td class="mdescLeft"> </td><td class="mdescRight">Runtime error specific to a class. <a href="classsbuild_1_1runtime__error__custom.html#_details">More...</a><br></td></tr>
69
74
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsbuild_1_1format__detail.html">format_detail</a></td></tr>
71
<tr><td class="mdescLeft"> </td><td class="mdescRight">Helper to perform formatting of chroot details. <a href="classsbuild_1_1format__detail.html#_details">More...</a><br></td></tr>
76
<tr><td class="mdescLeft"> </td><td class="mdescRight">Format names and values for output. <a href="classsbuild_1_1format__detail.html#_details">More...</a><br></td></tr>
72
77
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classsbuild_1_1keyfile.html">keyfile</a></td></tr>
74
79
<tr><td class="mdescLeft"> </td><td class="mdescRight">Configuration file parser. <a href="classsbuild_1_1keyfile.html#_details">More...</a><br></td></tr>
123
135
<tr><td class="mdescLeft"> </td><td class="mdescRight">Debugging level. <a href="namespacesbuild.html#cc4d8fc120bfd21c22acd9d9ed0e754d">More...</a><br></td></tr>
124
136
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
125
<tr><td class="memTemplParams" nowrap colspan="2">template<> </td></tr>
126
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#d7fb21c24a96b9dfa53c6df3a08e8db3">operator<<</a> (std::ostream &, <a class="el" href="classsbuild_1_1format__detail.html">format_detail</a>< bool > const &)</td></tr>
128
<tr><td class="mdescLeft"> </td><td class="mdescRight">Output the formatted detail to an ostream. <a href="#d7fb21c24a96b9dfa53c6df3a08e8db3"></a><br></td></tr>
129
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
130
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#a56b6ac0119274b62954dd0f9f0a243e">operator<<</a> (std::ostream &, <a class="el" href="classsbuild_1_1format__detail.html">format_detail</a>< T > const &)</td></tr>
132
<tr><td class="memTemplParams" nowrap colspan="2">template<> </td></tr>
133
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#c32e2a3254e89641345d4a5f0bbd23aa">operator<<</a> (std::ostream &, <a class="el" href="classsbuild_1_1format__detail.html">format_detail</a>< <a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">string_list</a> > const &)</td></tr>
135
<tr><td class="mdescLeft"> </td><td class="mdescRight">Output the formatted detail to an ostream. <a href="#c32e2a3254e89641345d4a5f0bbd23aa"></a><br></td></tr>
136
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T> </td></tr>
137
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classsbuild_1_1format__detail.html">format_detail</a>< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#4634a617fb501d6fa6bdc26725f092e9">format_details</a> (std::string const &name, T const &value)</td></tr>
139
<tr><td class="mdescLeft"> </td><td class="mdescRight">Format a name-value pair for output. <a href="#4634a617fb501d6fa6bdc26725f092e9"></a><br></td></tr>
137
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classsbuild_1_1dirstream.html">dirstream</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#40df5457e02faab0b4248d914ddb9b38">operator>></a> (<a class="el" href="classsbuild_1_1dirstream.html">dirstream</a> &stream, <a class="el" href="classsbuild_1_1direntry.html">direntry</a> &entry)</td></tr>
140
139
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#4b668d467f8c9c6063cd2c9c7aaf3086">log_info</a> ()</td></tr>
142
141
<tr><td class="mdescLeft"> </td><td class="mdescRight">Log an informational message. <a href="#4b668d467f8c9c6063cd2c9c7aaf3086"></a><br></td></tr>
161
170
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#1334c1a94c9c653461074efd4580f26d">normalname</a> (std::string name, char separator= '/')</td></tr>
163
172
<tr><td class="mdescLeft"> </td><td class="mdescRight">Normalise a pathname. <a href="#1334c1a94c9c653461074efd4580f26d"></a><br></td></tr>
173
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#2d0074b31e1a2644405dce0585e44117">is_absname</a> (std::string const &name)</td></tr>
175
<tr><td class="mdescLeft"> </td><td class="mdescRight">Check if a pathname is absolute. <a href="#2d0074b31e1a2644405dce0585e44117"></a><br></td></tr>
164
176
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#56e63f2becadeda121c470befde8e76b">string_list_to_string</a> (<a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">string_list</a> const &list, std::string const &separator)</td></tr>
166
178
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a string_list into a string. <a href="#56e63f2becadeda121c470befde8e76b"></a><br></td></tr>
167
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">string_list</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#b37c4c3fda167fdf0f110d2e916e3f3b">split_string</a> (std::string const &value, char separator)</td></tr>
169
<tr><td class="mdescLeft"> </td><td class="mdescRight">Split a string into a string_list. <a href="#b37c4c3fda167fdf0f110d2e916e3f3b"></a><br></td></tr>
179
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">string_list</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#c4eaba7a27fcd2af0dff073df0feaec3">split_string</a> (std::string const &value, std::string const &separator)</td></tr>
181
<tr><td class="mdescLeft"> </td><td class="mdescRight">Split a string into a string_list. <a href="#c4eaba7a27fcd2af0dff073df0feaec3"></a><br></td></tr>
182
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::wstring </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#5d04bfb2880d553b76c7de0b63c4e6a5">widen_string</a> (std::string const &str, std::locale locale)</td></tr>
184
<tr><td class="mdescLeft"> </td><td class="mdescRight">Widen a string. <a href="#5d04bfb2880d553b76c7de0b63c4e6a5"></a><br></td></tr>
185
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#6ea21c4378601dbd6d3af10a71cfc623">narrow_string</a> (std::wstring const &str, std::locale locale)</td></tr>
187
<tr><td class="mdescLeft"> </td><td class="mdescRight">Narrow a string. <a href="#6ea21c4378601dbd6d3af10a71cfc623"></a><br></td></tr>
170
188
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesbuild.html#2c84c6d8cb3f81e7ba8f75ab86acb084">find_program_in_path</a> (std::string const &program, std::string const &path, std::string const &prefix)</td></tr>
172
190
<tr><td class="mdescLeft"> </td><td class="mdescRight">Find a program in the PATH search path. <a href="#2c84c6d8cb3f81e7ba8f75ab86acb084"></a><br></td></tr>
185
206
<tr><td class="mdescLeft"> </td><td class="mdescRight">A null ostream. <a href="#ae4d27a642c39a81dbea2a34f5f3461a"></a><br></td></tr>
187
208
<hr><h2>Typedef Documentation</h2>
188
<a class="anchor" name="0cba2424b80e6d2f603ddb2c30c8ac93"></a><!-- doxytag: member="sbuild::nostream" ref="0cba2424b80e6d2f603ddb2c30c8ac93" args="" --><p>
189
<table class="mdTable" cellpadding="2" cellspacing="0">
192
<table cellpadding="0" cellspacing="0" border="0">
209
<a class="anchor" name="0cba2424b80e6d2f603ddb2c30c8ac93"></a><!-- doxytag: member="sbuild::nostream" ref="0cba2424b80e6d2f603ddb2c30c8ac93" args="" -->
210
<div class="memitem">
211
<div class="memproto">
212
<table class="memname">
194
<td class="md" nowrap valign="top">typedef <a class="el" href="classsbuild_1_1basic__nostream.html">basic_nostream</a><char> <a class="el" href="classsbuild_1_1basic__nostream.html">sbuild::nostream</a> </td>
214
<td class="memname">typedef <a class="el" href="classsbuild_1_1basic__nostream.html">basic_nostream</a><char> <a class="el" href="classsbuild_1_1basic__nostream.html">sbuild::nostream</a> </td>
200
<table cellspacing="5" cellpadding="0" border="0">
213
<a class="anchor" name="4268c3202ab4b20cbebf347a6d69393f"></a><!-- doxytag: member="sbuild::string_list" ref="4268c3202ab4b20cbebf347a6d69393f" args="" --><p>
214
<table class="mdTable" cellpadding="2" cellspacing="0">
217
<table cellpadding="0" cellspacing="0" border="0">
219
<td class="md" nowrap valign="top">typedef std::vector<std::string> <a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">sbuild::string_list</a> </td>
225
<table cellspacing="5" cellpadding="0" border="0">
226
<a class="anchor" name="af114ca9e689ae3a430deb0785ba8c38"></a><!-- doxytag: member="sbuild::wnostream" ref="af114ca9e689ae3a430deb0785ba8c38" args="" -->
227
<div class="memitem">
228
<div class="memproto">
229
<table class="memname">
231
<td class="memname">typedef <a class="el" href="classsbuild_1_1basic__nostream.html">basic_nostream</a><wchar_t> <a class="el" href="classsbuild_1_1basic__nostream.html">sbuild::wnostream</a> </td>
243
<a class="anchor" name="4268c3202ab4b20cbebf347a6d69393f"></a><!-- doxytag: member="sbuild::string_list" ref="4268c3202ab4b20cbebf347a6d69393f" args="" -->
244
<div class="memitem">
245
<div class="memproto">
246
<table class="memname">
248
<td class="memname">typedef std::vector<std::string> <a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">sbuild::string_list</a> </td>
238
<a class="anchor" name="af114ca9e689ae3a430deb0785ba8c38"></a><!-- doxytag: member="sbuild::wnostream" ref="af114ca9e689ae3a430deb0785ba8c38" args="" --><p>
239
<table class="mdTable" cellpadding="2" cellspacing="0">
242
<table cellpadding="0" cellspacing="0" border="0">
244
<td class="md" nowrap valign="top">typedef <a class="el" href="classsbuild_1_1basic__nostream.html">basic_nostream</a><wchar_t> <a class="el" href="classsbuild_1_1basic__nostream.html">sbuild::wnostream</a> </td>
250
<table cellspacing="5" cellpadding="0" border="0">
263
260
<hr><h2>Enumeration Type Documentation</h2>
264
<a class="anchor" name="cc4d8fc120bfd21c22acd9d9ed0e754d"></a><!-- doxytag: member="sbuild::DebugLevel" ref="cc4d8fc120bfd21c22acd9d9ed0e754d" args="" --><p>
265
<table class="mdTable" cellpadding="2" cellspacing="0">
268
<table cellpadding="0" cellspacing="0" border="0">
261
<a class="anchor" name="cc4d8fc120bfd21c22acd9d9ed0e754d"></a><!-- doxytag: member="sbuild::DebugLevel" ref="cc4d8fc120bfd21c22acd9d9ed0e754d" args="" -->
262
<div class="memitem">
263
<div class="memproto">
264
<table class="memname">
270
<td class="md" nowrap valign="top">enum <a class="el" href="namespacesbuild.html#cc4d8fc120bfd21c22acd9d9ed0e754d">sbuild::DebugLevel</a> </td>
266
<td class="memname">enum <a class="el" href="namespacesbuild.html#cc4d8fc120bfd21c22acd9d9ed0e754d">sbuild::DebugLevel</a> </td>
276
<table cellspacing="5" cellpadding="0" border="0">
297
286
Critical messages. </td></tr>
303
292
<hr><h2>Function Documentation</h2>
304
<a class="anchor" name="dc08246e41ded013e358c71817d26451"></a><!-- doxytag: member="sbuild::basename" ref="dc08246e41ded013e358c71817d26451" args="(std::string name, char separator= '/')" --><p>
305
<table class="mdTable" cellpadding="2" cellspacing="0">
308
<table cellpadding="0" cellspacing="0" border="0">
310
<td class="md" nowrap valign="top">std::string sbuild::basename </td>
311
<td class="md" valign="top">( </td>
312
<td class="md" nowrap valign="top">std::string </td>
313
<td class="mdname" nowrap> <em>name</em>, </td>
316
<td class="md" nowrap align="right"></td>
318
<td class="md" nowrap>char </td>
319
<td class="mdname" nowrap> <em>separator</em> = <code>'/'</code></td>
323
<td class="md">) </td>
324
<td class="md" colspan="2"></td>
330
<table cellspacing="5" cellpadding="0" border="0">
293
<a class="anchor" name="40df5457e02faab0b4248d914ddb9b38"></a><!-- doxytag: member="sbuild::operator>>" ref="40df5457e02faab0b4248d914ddb9b38" args="(dirstream &stream, direntry &entry)" -->
294
<div class="memitem">
295
<div class="memproto">
296
<table class="memname">
298
<td class="memname"><a class="el" href="classsbuild_1_1dirstream.html">dirstream</a>& sbuild::operator>> </td>
300
<td class="paramtype"><a class="el" href="classsbuild_1_1dirstream.html">dirstream</a> & </td>
301
<td class="paramname"> <em>stream</em>, </td>
304
<td class="paramkey"></td>
306
<td class="paramtype"><a class="el" href="classsbuild_1_1direntry.html">direntry</a> & </td>
307
<td class="paramname"> <em>entry</em></td><td> </td>
312
<td></td><td></td><td width="100%"></td>
319
This is used to pull direntries from a dirstream.
322
<a class="anchor" name="4b668d467f8c9c6063cd2c9c7aaf3086"></a><!-- doxytag: member="sbuild::log_info" ref="4b668d467f8c9c6063cd2c9c7aaf3086" args="()" -->
323
<div class="memitem">
324
<div class="memproto">
325
<table class="memname">
327
<td class="memname">std::ostream & sbuild::log_info </td>
329
<td class="paramname"> </td>
330
<td> ) </td>
331
<td width="100%"></td>
338
Log an informational message.
340
<dl compact><dt><b>Returns:</b></dt><dd>an ostream. </dd></dl>
344
<a class="anchor" name="133a221b9d5fbd4756937f2ec0a02958"></a><!-- doxytag: member="sbuild::log_warning" ref="133a221b9d5fbd4756937f2ec0a02958" args="()" -->
345
<div class="memitem">
346
<div class="memproto">
347
<table class="memname">
349
<td class="memname">std::ostream & sbuild::log_warning </td>
351
<td class="paramname"> </td>
352
<td> ) </td>
353
<td width="100%"></td>
360
Log a warning message.
362
<dl compact><dt><b>Returns:</b></dt><dd>an ostream. </dd></dl>
366
<a class="anchor" name="ec357a880f0d3cec5cd85ca9b23376f8"></a><!-- doxytag: member="sbuild::log_error" ref="ec357a880f0d3cec5cd85ca9b23376f8" args="()" -->
367
<div class="memitem">
368
<div class="memproto">
369
<table class="memname">
371
<td class="memname">std::ostream & sbuild::log_error </td>
373
<td class="paramname"> </td>
374
<td> ) </td>
375
<td width="100%"></td>
382
Log an error message.
384
<dl compact><dt><b>Returns:</b></dt><dd>an ostream. </dd></dl>
388
<a class="anchor" name="969fd2d32c7bd41fb92467682089becb"></a><!-- doxytag: member="sbuild::log_debug" ref="969fd2d32c7bd41fb92467682089becb" args="(sbuild::DebugLevel level)" -->
389
<div class="memitem">
390
<div class="memproto">
391
<table class="memname">
393
<td class="memname">std::ostream& sbuild::log_debug </td>
395
<td class="paramtype"><a class="el" href="namespacesbuild.html#cc4d8fc120bfd21c22acd9d9ed0e754d">DebugLevel</a> </td>
396
<td class="paramname"> <em>level</em> </td>
397
<td> ) </td>
398
<td width="100%"></td>
407
<dl compact><dt><b>Parameters:</b></dt><dd>
408
<table border="0" cellspacing="2" cellpadding="0">
409
<tr><td valign="top"></td><td valign="top"><em>level</em> </td><td>the debug level of the message being logged. </td></tr>
412
<dl compact><dt><b>Returns:</b></dt><dd>an ostream. This will be a valid stream if level is greater or equal to debug_level, or else a null stream will be returned, resulting in no output. </dd></dl>
416
<a class="anchor" name="14aabc9474a15baa317ae3c2fb75877d"></a><!-- doxytag: member="sbuild::log_debug" ref="14aabc9474a15baa317ae3c2fb75877d" args="(DebugLevel level)" -->
417
<div class="memitem">
418
<div class="memproto">
419
<table class="memname">
421
<td class="memname">std::ostream& sbuild::log_debug </td>
423
<td class="paramtype"><a class="el" href="namespacesbuild.html#cc4d8fc120bfd21c22acd9d9ed0e754d">DebugLevel</a> </td>
424
<td class="paramname"> <em>level</em> </td>
425
<td> ) </td>
426
<td width="100%"></td>
435
<dl compact><dt><b>Parameters:</b></dt><dd>
436
<table border="0" cellspacing="2" cellpadding="0">
437
<tr><td valign="top"></td><td valign="top"><em>level</em> </td><td>the debug level of the message being logged. </td></tr>
440
<dl compact><dt><b>Returns:</b></dt><dd>an ostream. This will be a valid stream if level is greater or equal to debug_level, or else a null stream will be returned, resulting in no output. </dd></dl>
444
<a class="anchor" name="66fa42f49931bd045bc41778781e5f3c"></a><!-- doxytag: member="sbuild::parse_value" ref="66fa42f49931bd045bc41778781e5f3c" args="(std::string const &value, bool &parsed_value)" -->
445
<div class="memitem">
446
<div class="memproto">
447
<table class="memname">
449
<td class="memname">void sbuild::parse_value </td>
451
<td class="paramtype">std::string const & </td>
452
<td class="paramname"> <em>value</em>, </td>
455
<td class="paramkey"></td>
457
<td class="paramtype">bool & </td>
458
<td class="paramname"> <em>parsed_value</em></td><td> </td>
463
<td></td><td></td><td width="100%"></td>
470
Parse a boolean value.
472
<dl compact><dt><b>Parameters:</b></dt><dd>
473
<table border="0" cellspacing="2" cellpadding="0">
474
<tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to parse. </td></tr>
475
<tr><td valign="top"></td><td valign="top"><em>parsed_value</em> </td><td>the variable to store the parsed value. </td></tr>
478
<dl compact><dt><b>Returns:</b></dt><dd>true on success, false on failure. </dd></dl>
482
<a class="anchor" name="2ffc71b6aa0cb790f816ba0752e0fb41"></a><!-- doxytag: member="sbuild::parse_value" ref="2ffc71b6aa0cb790f816ba0752e0fb41" args="(std::string const &value, std::string &parsed_value)" -->
483
<div class="memitem">
484
<div class="memproto">
485
<table class="memname">
487
<td class="memname">void sbuild::parse_value </td>
489
<td class="paramtype">std::string const & </td>
490
<td class="paramname"> <em>value</em>, </td>
493
<td class="paramkey"></td>
495
<td class="paramtype">std::string & </td>
496
<td class="paramname"> <em>parsed_value</em></td><td> </td>
501
<td></td><td></td><td width="100%"></td>
508
Parse a string value.
510
<dl compact><dt><b>Parameters:</b></dt><dd>
511
<table border="0" cellspacing="2" cellpadding="0">
512
<tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to parse. </td></tr>
513
<tr><td valign="top"></td><td valign="top"><em>parsed_value</em> </td><td>the variable to store the parsed value. </td></tr>
516
<dl compact><dt><b>Returns:</b></dt><dd>true on success, false on failure. </dd></dl>
520
<a class="anchor" name="f16773e0491832232463fd22b8f66dd4"></a><!-- doxytag: member="sbuild::parse_value" ref="f16773e0491832232463fd22b8f66dd4" args="(std::string const &value, T &parsed_value)" -->
521
<div class="memitem">
522
<div class="memproto">
523
<div class="memtemplate">
524
template<typename T> </div>
525
<table class="memname">
527
<td class="memname">void sbuild::parse_value </td>
529
<td class="paramtype">std::string const & </td>
530
<td class="paramname"> <em>value</em>, </td>
533
<td class="paramkey"></td>
535
<td class="paramtype">T & </td>
536
<td class="paramname"> <em>parsed_value</em></td><td> </td>
541
<td></td><td></td><td width="100%"></td>
548
Parse a value of type T.
550
<dl compact><dt><b>Parameters:</b></dt><dd>
551
<table border="0" cellspacing="2" cellpadding="0">
552
<tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to parse. </td></tr>
553
<tr><td valign="top"></td><td valign="top"><em>parsed_value</em> </td><td>the variable to store the parsed value. </td></tr>
556
<dl compact><dt><b>Returns:</b></dt><dd>true on success, false on failure. </dd></dl>
559
Here is the call graph for this function:<p><center><img src="namespacesbuild_f16773e0491832232463fd22b8f66dd4_cgraph.png" border="0" usemap="#namespacesbuild_f16773e0491832232463fd22b8f66dd4_cgraph_map" alt=""></center>
560
<map name="namespacesbuild_f16773e0491832232463fd22b8f66dd4_cgraph_map">
561
<area href="namespacesbuild.html#969fd2d32c7bd41fb92467682089becb" shape="rect" coords="209,5,351,32" alt="">
566
<a class="anchor" name="dc08246e41ded013e358c71817d26451"></a><!-- doxytag: member="sbuild::basename" ref="dc08246e41ded013e358c71817d26451" args="(std::string name, char separator= '/')" -->
567
<div class="memitem">
568
<div class="memproto">
569
<table class="memname">
571
<td class="memname">std::string sbuild::basename </td>
573
<td class="paramtype">std::string </td>
574
<td class="paramname"> <em>name</em>, </td>
577
<td class="paramkey"></td>
579
<td class="paramtype">char </td>
580
<td class="paramname"> <em>separator</em> = <code>'/'</code></td><td> </td>
585
<td></td><td></td><td width="100%"></td>
338
592
Strip the directory path from a filename.
347
601
<dl compact><dt><b>Returns:</b></dt><dd>the base name. </dd></dl>
351
<a class="anchor" name="0ef72c3c7110ac7f57aa19cacdb7dc01"></a><!-- doxytag: member="sbuild::dirname" ref="0ef72c3c7110ac7f57aa19cacdb7dc01" args="(std::string name, char separator= '/')" --><p>
352
<table class="mdTable" cellpadding="2" cellspacing="0">
355
<table cellpadding="0" cellspacing="0" border="0">
357
<td class="md" nowrap valign="top">std::string sbuild::dirname </td>
358
<td class="md" valign="top">( </td>
359
<td class="md" nowrap valign="top">std::string </td>
360
<td class="mdname" nowrap> <em>name</em>, </td>
363
<td class="md" nowrap align="right"></td>
365
<td class="md" nowrap>char </td>
366
<td class="mdname" nowrap> <em>separator</em> = <code>'/'</code></td>
370
<td class="md">) </td>
371
<td class="md" colspan="2"></td>
605
<a class="anchor" name="0ef72c3c7110ac7f57aa19cacdb7dc01"></a><!-- doxytag: member="sbuild::dirname" ref="0ef72c3c7110ac7f57aa19cacdb7dc01" args="(std::string name, char separator= '/')" -->
606
<div class="memitem">
607
<div class="memproto">
608
<table class="memname">
610
<td class="memname">std::string sbuild::dirname </td>
612
<td class="paramtype">std::string </td>
613
<td class="paramname"> <em>name</em>, </td>
616
<td class="paramkey"></td>
618
<td class="paramtype">char </td>
619
<td class="paramname"> <em>separator</em> = <code>'/'</code></td><td> </td>
624
<td></td><td></td><td width="100%"></td>
377
<table cellspacing="5" cellpadding="0" border="0">
385
631
Strip the fileame from a pathname.
394
640
<dl compact><dt><b>Returns:</b></dt><dd>the directory name. </dd></dl>
398
<a class="anchor" name="2c84c6d8cb3f81e7ba8f75ab86acb084"></a><!-- doxytag: member="sbuild::find_program_in_path" ref="2c84c6d8cb3f81e7ba8f75ab86acb084" args="(std::string const &program, std::string const &path, std::string const &prefix)" --><p>
399
<table class="mdTable" cellpadding="2" cellspacing="0">
402
<table cellpadding="0" cellspacing="0" border="0">
404
<td class="md" nowrap valign="top">std::string sbuild::find_program_in_path </td>
405
<td class="md" valign="top">( </td>
406
<td class="md" nowrap valign="top">std::string const & </td>
407
<td class="mdname" nowrap> <em>program</em>, </td>
410
<td class="md" nowrap align="right"></td>
412
<td class="md" nowrap>std::string const & </td>
413
<td class="mdname" nowrap> <em>path</em>, </td>
416
<td class="md" nowrap align="right"></td>
418
<td class="md" nowrap>std::string const & </td>
419
<td class="mdname" nowrap> <em>prefix</em></td>
423
<td class="md">) </td>
424
<td class="md" colspan="2"></td>
430
<table cellspacing="5" cellpadding="0" border="0">
438
Find a program in the PATH search path.
440
<dl compact><dt><b>Parameters:</b></dt><dd>
441
<table border="0" cellspacing="2" cellpadding="0">
442
<tr><td valign="top"></td><td valign="top"><em>program</em> </td><td>the program to search for. </td></tr>
443
<tr><td valign="top"></td><td valign="top"><em>path</em> </td><td>the search path; typically the value of $PATH. </td></tr>
444
<tr><td valign="top"></td><td valign="top"><em>prefix</em> </td><td>a directory prefix the add to the search path. This may be left empty to search the root filesystem. </td></tr>
447
<dl compact><dt><b>Returns:</b></dt><dd>the absolute path of the program, or an empty string if the program could not be found. </dd></dl>
451
<a class="anchor" name="4634a617fb501d6fa6bdc26725f092e9"></a><!-- doxytag: member="sbuild::format_details" ref="4634a617fb501d6fa6bdc26725f092e9" args="(std::string const &name, T const &value)" --><p>
452
<table class="mdTable" cellpadding="2" cellspacing="0">
455
<table cellpadding="0" cellspacing="0" border="0">
457
<td class="mdPrefix" colspan="4">
458
template<typename T> </td>
461
<td class="md" nowrap valign="top"><a class="el" href="classsbuild_1_1format__detail.html">format_detail</a><T> sbuild::format_details </td>
462
<td class="md" valign="top">( </td>
463
<td class="md" nowrap valign="top">std::string const & </td>
464
<td class="mdname" nowrap> <em>name</em>, </td>
467
<td class="md" nowrap align="right"></td>
469
<td class="md" nowrap>T const & </td>
470
<td class="mdname" nowrap> <em>value</em></td>
474
<td class="md">) </td>
475
<td class="md" colspan="2"><code> [inline]</code></td>
481
<table cellspacing="5" cellpadding="0" border="0">
489
Format a name-value pair for output.
491
This is a convenience wrapper to construct a <a class="el" href="classsbuild_1_1format__detail.html">format_detail</a> of the appropriate type.<p>
492
<dl compact><dt><b>Parameters:</b></dt><dd>
493
<table border="0" cellspacing="2" cellpadding="0">
494
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>the name to output. </td></tr>
495
<tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to output. </td></tr>
498
<dl compact><dt><b>Returns:</b></dt><dd>a <a class="el" href="classsbuild_1_1format__detail.html">format_detail</a> of the appropriate type. </dd></dl>
502
<a class="anchor" name="14aabc9474a15baa317ae3c2fb75877d"></a><!-- doxytag: member="sbuild::log_debug" ref="14aabc9474a15baa317ae3c2fb75877d" args="(DebugLevel level)" --><p>
503
<table class="mdTable" cellpadding="2" cellspacing="0">
506
<table cellpadding="0" cellspacing="0" border="0">
508
<td class="md" nowrap valign="top">std::ostream& sbuild::log_debug </td>
509
<td class="md" valign="top">( </td>
510
<td class="md" nowrap valign="top"><a class="el" href="namespacesbuild.html#cc4d8fc120bfd21c22acd9d9ed0e754d">DebugLevel</a> </td>
511
<td class="mdname1" valign="top" nowrap> <em>level</em> </td>
512
<td class="md" valign="top"> ) </td>
513
<td class="md" nowrap></td>
519
<table cellspacing="5" cellpadding="0" border="0">
529
<dl compact><dt><b>Parameters:</b></dt><dd>
530
<table border="0" cellspacing="2" cellpadding="0">
531
<tr><td valign="top"></td><td valign="top"><em>level</em> </td><td>the debug level of the message being logged. </td></tr>
534
<dl compact><dt><b>Returns:</b></dt><dd>an ostream. This will be a valid stream if level is greater or equal to debug_level, or else a null stream will be returned, resulting in no output. </dd></dl>
538
<a class="anchor" name="969fd2d32c7bd41fb92467682089becb"></a><!-- doxytag: member="sbuild::log_debug" ref="969fd2d32c7bd41fb92467682089becb" args="(sbuild::DebugLevel level)" --><p>
539
<table class="mdTable" cellpadding="2" cellspacing="0">
542
<table cellpadding="0" cellspacing="0" border="0">
544
<td class="md" nowrap valign="top">std::ostream& sbuild::log_debug </td>
545
<td class="md" valign="top">( </td>
546
<td class="md" nowrap valign="top"><a class="el" href="namespacesbuild.html#cc4d8fc120bfd21c22acd9d9ed0e754d">DebugLevel</a> </td>
547
<td class="mdname1" valign="top" nowrap> <em>level</em> </td>
548
<td class="md" valign="top"> ) </td>
549
<td class="md" nowrap></td>
555
<table cellspacing="5" cellpadding="0" border="0">
565
<dl compact><dt><b>Parameters:</b></dt><dd>
566
<table border="0" cellspacing="2" cellpadding="0">
567
<tr><td valign="top"></td><td valign="top"><em>level</em> </td><td>the debug level of the message being logged. </td></tr>
570
<dl compact><dt><b>Returns:</b></dt><dd>an ostream. This will be a valid stream if level is greater or equal to debug_level, or else a null stream will be returned, resulting in no output. </dd></dl>
574
<a class="anchor" name="ec357a880f0d3cec5cd85ca9b23376f8"></a><!-- doxytag: member="sbuild::log_error" ref="ec357a880f0d3cec5cd85ca9b23376f8" args="()" --><p>
575
<table class="mdTable" cellpadding="2" cellspacing="0">
578
<table cellpadding="0" cellspacing="0" border="0">
580
<td class="md" nowrap valign="top">std::ostream & sbuild::log_error </td>
581
<td class="md" valign="top">( </td>
582
<td class="mdname1" valign="top" nowrap> </td>
583
<td class="md" valign="top"> ) </td>
584
<td class="md" nowrap></td>
590
<table cellspacing="5" cellpadding="0" border="0">
598
Log an error message.
600
<dl compact><dt><b>Returns:</b></dt><dd>an ostream. </dd></dl>
604
<a class="anchor" name="4b668d467f8c9c6063cd2c9c7aaf3086"></a><!-- doxytag: member="sbuild::log_info" ref="4b668d467f8c9c6063cd2c9c7aaf3086" args="()" --><p>
605
<table class="mdTable" cellpadding="2" cellspacing="0">
608
<table cellpadding="0" cellspacing="0" border="0">
610
<td class="md" nowrap valign="top">std::ostream & sbuild::log_info </td>
611
<td class="md" valign="top">( </td>
612
<td class="mdname1" valign="top" nowrap> </td>
613
<td class="md" valign="top"> ) </td>
614
<td class="md" nowrap></td>
620
<table cellspacing="5" cellpadding="0" border="0">
628
Log an informational message.
630
<dl compact><dt><b>Returns:</b></dt><dd>an ostream. </dd></dl>
634
<a class="anchor" name="133a221b9d5fbd4756937f2ec0a02958"></a><!-- doxytag: member="sbuild::log_warning" ref="133a221b9d5fbd4756937f2ec0a02958" args="()" --><p>
635
<table class="mdTable" cellpadding="2" cellspacing="0">
638
<table cellpadding="0" cellspacing="0" border="0">
640
<td class="md" nowrap valign="top">std::ostream & sbuild::log_warning </td>
641
<td class="md" valign="top">( </td>
642
<td class="mdname1" valign="top" nowrap> </td>
643
<td class="md" valign="top"> ) </td>
644
<td class="md" nowrap></td>
650
<table cellspacing="5" cellpadding="0" border="0">
658
Log a warning message.
660
<dl compact><dt><b>Returns:</b></dt><dd>an ostream. </dd></dl>
664
<a class="anchor" name="1334c1a94c9c653461074efd4580f26d"></a><!-- doxytag: member="sbuild::normalname" ref="1334c1a94c9c653461074efd4580f26d" args="(std::string name, char separator= '/')" --><p>
665
<table class="mdTable" cellpadding="2" cellspacing="0">
668
<table cellpadding="0" cellspacing="0" border="0">
670
<td class="md" nowrap valign="top">std::string sbuild::normalname </td>
671
<td class="md" valign="top">( </td>
672
<td class="md" nowrap valign="top">std::string </td>
673
<td class="mdname" nowrap> <em>name</em>, </td>
676
<td class="md" nowrap align="right"></td>
678
<td class="md" nowrap>char </td>
679
<td class="mdname" nowrap> <em>separator</em> = <code>'/'</code></td>
683
<td class="md">) </td>
684
<td class="md" colspan="2"></td>
690
<table cellspacing="5" cellpadding="0" border="0">
644
<a class="anchor" name="1334c1a94c9c653461074efd4580f26d"></a><!-- doxytag: member="sbuild::normalname" ref="1334c1a94c9c653461074efd4580f26d" args="(std::string name, char separator= '/')" -->
645
<div class="memitem">
646
<div class="memproto">
647
<table class="memname">
649
<td class="memname">std::string sbuild::normalname </td>
651
<td class="paramtype">std::string </td>
652
<td class="paramname"> <em>name</em>, </td>
655
<td class="paramkey"></td>
657
<td class="paramtype">char </td>
658
<td class="paramname"> <em>separator</em> = <code>'/'</code></td><td> </td>
663
<td></td><td></td><td width="100%"></td>
698
670
Normalise a pathname.
707
679
<dl compact><dt><b>Returns:</b></dt><dd>the normalised name. </dd></dl>
711
<a class="anchor" name="c32e2a3254e89641345d4a5f0bbd23aa"></a><!-- doxytag: member="sbuild::operator<<" ref="c32e2a3254e89641345d4a5f0bbd23aa" args="(std::ostream &, format_detail< string_list > const &)" --><p>
712
<table class="mdTable" cellpadding="2" cellspacing="0">
715
<table cellpadding="0" cellspacing="0" border="0">
717
<td class="mdPrefix" colspan="4">
718
template<> </td>
721
<td class="md" nowrap valign="top">std::ostream & sbuild::operator<< </td>
722
<td class="md" valign="top">( </td>
723
<td class="md" nowrap valign="top">std::ostream & </td>
724
<td class="mdname" nowrap>, </td>
727
<td class="md" nowrap align="right"></td>
729
<td class="md" nowrap>format_detail< <a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">string_list</a> > const & </td>
730
<td class="mdname" nowrap></td>
734
<td class="md">) </td>
735
<td class="md" colspan="2"><code> [inline]</code></td>
741
<table cellspacing="5" cellpadding="0" border="0">
749
Output the formatted detail to an ostream.
751
This is a special case for string_list values.<p>
752
<dl compact><dt><b>Parameters:</b></dt><dd>
753
<table border="0" cellspacing="2" cellpadding="0">
754
<tr><td valign="top"></td><td valign="top"><em>stream</em> </td><td>the stream to output to. </td></tr>
755
<tr><td valign="top"></td><td valign="top"><em>rhs</em> </td><td>the formatted detail to output. </td></tr>
758
<dl compact><dt><b>Returns:</b></dt><dd>the stream. </dd></dl>
761
Here is the call graph for this function:<p><center><img src="namespacesbuild_c32e2a3254e89641345d4a5f0bbd23aa_cgraph.png" border="0" usemap="#namespacesbuild_c32e2a3254e89641345d4a5f0bbd23aa_cgraph_map" alt=""></center>
762
<map name="namespacesbuild_c32e2a3254e89641345d4a5f0bbd23aa_cgraph_map">
763
<area href="namespacesbuild.html#56e63f2becadeda121c470befde8e76b" shape="rect" coords="184,5,363,32" alt="">
768
<a class="anchor" name="a56b6ac0119274b62954dd0f9f0a243e"></a><!-- doxytag: member="sbuild::operator<<" ref="a56b6ac0119274b62954dd0f9f0a243e" args="(std::ostream &, format_detail< T > const &)" --><p>
769
<table class="mdTable" cellpadding="2" cellspacing="0">
772
<table cellpadding="0" cellspacing="0" border="0">
774
<td class="mdPrefix" colspan="4">
775
template<typename T> </td>
778
<td class="md" nowrap valign="top">std::ostream & sbuild::operator<< </td>
779
<td class="md" valign="top">( </td>
780
<td class="md" nowrap valign="top">std::ostream & </td>
781
<td class="mdname" nowrap>, </td>
784
<td class="md" nowrap align="right"></td>
786
<td class="md" nowrap>format_detail< T > const & </td>
787
<td class="mdname" nowrap></td>
791
<td class="md">) </td>
792
<td class="md" colspan="2"><code> [inline]</code></td>
798
<table cellspacing="5" cellpadding="0" border="0">
809
<a class="anchor" name="d7fb21c24a96b9dfa53c6df3a08e8db3"></a><!-- doxytag: member="sbuild::operator<<" ref="d7fb21c24a96b9dfa53c6df3a08e8db3" args="(std::ostream &, format_detail< bool > const &)" --><p>
810
<table class="mdTable" cellpadding="2" cellspacing="0">
813
<table cellpadding="0" cellspacing="0" border="0">
815
<td class="mdPrefix" colspan="4">
816
template<> </td>
819
<td class="md" nowrap valign="top">std::ostream & sbuild::operator<< </td>
820
<td class="md" valign="top">( </td>
821
<td class="md" nowrap valign="top">std::ostream & </td>
822
<td class="mdname" nowrap>, </td>
825
<td class="md" nowrap align="right"></td>
827
<td class="md" nowrap><a class="el" href="classsbuild_1_1format__detail.html">format_detail</a>< bool > const & </td>
828
<td class="mdname" nowrap></td>
832
<td class="md">) </td>
833
<td class="md" colspan="2"></td>
839
<table cellspacing="5" cellpadding="0" border="0">
847
Output the formatted detail to an ostream.
849
This is a special case for boolean values.<p>
850
<dl compact><dt><b>Parameters:</b></dt><dd>
851
<table border="0" cellspacing="2" cellpadding="0">
852
<tr><td valign="top"></td><td valign="top"><em>stream</em> </td><td>the stream to output to. </td></tr>
853
<tr><td valign="top"></td><td valign="top"><em>rhs</em> </td><td>the formatted detail to output. </td></tr>
856
<dl compact><dt><b>Returns:</b></dt><dd>the stream. </dd></dl>
860
<a class="anchor" name="b37c4c3fda167fdf0f110d2e916e3f3b"></a><!-- doxytag: member="sbuild::split_string" ref="b37c4c3fda167fdf0f110d2e916e3f3b" args="(std::string const &value, char separator)" --><p>
861
<table class="mdTable" cellpadding="2" cellspacing="0">
864
<table cellpadding="0" cellspacing="0" border="0">
866
<td class="md" nowrap valign="top"><a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">string_list</a> sbuild::split_string </td>
867
<td class="md" valign="top">( </td>
868
<td class="md" nowrap valign="top">std::string const & </td>
869
<td class="mdname" nowrap> <em>value</em>, </td>
872
<td class="md" nowrap align="right"></td>
874
<td class="md" nowrap>char </td>
875
<td class="mdname" nowrap> <em>separator</em></td>
879
<td class="md">) </td>
880
<td class="md" colspan="2"></td>
886
<table cellspacing="5" cellpadding="0" border="0">
683
<a class="anchor" name="2d0074b31e1a2644405dce0585e44117"></a><!-- doxytag: member="sbuild::is_absname" ref="2d0074b31e1a2644405dce0585e44117" args="(std::string const &name)" -->
684
<div class="memitem">
685
<div class="memproto">
686
<table class="memname">
688
<td class="memname">bool sbuild::is_absname </td>
690
<td class="paramtype">std::string const & </td>
691
<td class="paramname"> <em>name</em> </td>
692
<td> ) </td>
693
<td width="100%"></td>
700
Check if a pathname is absolute.
702
<dl compact><dt><b>Parameters:</b></dt><dd>
703
<table border="0" cellspacing="2" cellpadding="0">
704
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>the path to check. </td></tr>
707
<dl compact><dt><b>Returns:</b></dt><dd>true if the name is absolute or false if it is not, or if name is empty. </dd></dl>
711
<a class="anchor" name="56e63f2becadeda121c470befde8e76b"></a><!-- doxytag: member="sbuild::string_list_to_string" ref="56e63f2becadeda121c470befde8e76b" args="(string_list const &list, std::string const &separator)" -->
712
<div class="memitem">
713
<div class="memproto">
714
<table class="memname">
716
<td class="memname">std::string sbuild::string_list_to_string </td>
718
<td class="paramtype"><a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">string_list</a> const & </td>
719
<td class="paramname"> <em>list</em>, </td>
722
<td class="paramkey"></td>
724
<td class="paramtype">std::string const & </td>
725
<td class="paramname"> <em>separator</em></td><td> </td>
730
<td></td><td></td><td width="100%"></td>
737
Convert a string_list into a string.
739
The strings are concatenated using separator as a delimiter.<p>
740
<dl compact><dt><b>Parameters:</b></dt><dd>
741
<table border="0" cellspacing="2" cellpadding="0">
742
<tr><td valign="top"></td><td valign="top"><em>list</em> </td><td>the list to concatenate. </td></tr>
743
<tr><td valign="top"></td><td valign="top"><em>separator</em> </td><td>the delimiting character. </td></tr>
746
<dl compact><dt><b>Returns:</b></dt><dd>a string. </dd></dl>
750
<a class="anchor" name="c4eaba7a27fcd2af0dff073df0feaec3"></a><!-- doxytag: member="sbuild::split_string" ref="c4eaba7a27fcd2af0dff073df0feaec3" args="(std::string const &value, std::string const &separator)" -->
751
<div class="memitem">
752
<div class="memproto">
753
<table class="memname">
755
<td class="memname"><a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">string_list</a> sbuild::split_string </td>
757
<td class="paramtype">std::string const & </td>
758
<td class="paramname"> <em>value</em>, </td>
761
<td class="paramkey"></td>
763
<td class="paramtype">std::string const & </td>
764
<td class="paramname"> <em>separator</em></td><td> </td>
769
<td></td><td></td><td width="100%"></td>
894
776
Split a string into a string_list.
897
779
<dl compact><dt><b>Parameters:</b></dt><dd>
898
780
<table border="0" cellspacing="2" cellpadding="0">
899
781
<tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the string to split. </td></tr>
900
<tr><td valign="top"></td><td valign="top"><em>separator</em> </td><td>the delimiting character. </td></tr>
782
<tr><td valign="top"></td><td valign="top"><em>separator</em> </td><td>the delimiting character or characters. </td></tr>
903
785
<dl compact><dt><b>Returns:</b></dt><dd>a string_list. </dd></dl>
907
<a class="anchor" name="56e63f2becadeda121c470befde8e76b"></a><!-- doxytag: member="sbuild::string_list_to_string" ref="56e63f2becadeda121c470befde8e76b" args="(string_list const &list, std::string const &separator)" --><p>
908
<table class="mdTable" cellpadding="2" cellspacing="0">
911
<table cellpadding="0" cellspacing="0" border="0">
913
<td class="md" nowrap valign="top">std::string sbuild::string_list_to_string </td>
914
<td class="md" valign="top">( </td>
915
<td class="md" nowrap valign="top"><a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">string_list</a> const & </td>
916
<td class="mdname" nowrap> <em>list</em>, </td>
919
<td class="md" nowrap align="right"></td>
921
<td class="md" nowrap>std::string const & </td>
922
<td class="mdname" nowrap> <em>separator</em></td>
926
<td class="md">) </td>
927
<td class="md" colspan="2"></td>
933
<table cellspacing="5" cellpadding="0" border="0">
941
Convert a string_list into a string.
943
The strings are concatenated using separator as a delimiter.<p>
944
<dl compact><dt><b>Parameters:</b></dt><dd>
945
<table border="0" cellspacing="2" cellpadding="0">
946
<tr><td valign="top"></td><td valign="top"><em>list</em> </td><td>the list to concatenate. </td></tr>
947
<tr><td valign="top"></td><td valign="top"><em>separator</em> </td><td>the delimiting character. </td></tr>
950
<dl compact><dt><b>Returns:</b></dt><dd>a string. </dd></dl>
954
<a class="anchor" name="8086f1bf15e7d30656c67f7e9240f4ed"></a><!-- doxytag: member="sbuild::string_list_to_strv" ref="8086f1bf15e7d30656c67f7e9240f4ed" args="(string_list const &str)" --><p>
955
<table class="mdTable" cellpadding="2" cellspacing="0">
958
<table cellpadding="0" cellspacing="0" border="0">
960
<td class="md" nowrap valign="top">char ** sbuild::string_list_to_strv </td>
961
<td class="md" valign="top">( </td>
962
<td class="md" nowrap valign="top"><a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">string_list</a> const & </td>
963
<td class="mdname1" valign="top" nowrap> <em>str</em> </td>
964
<td class="md" valign="top"> ) </td>
965
<td class="md" nowrap></td>
971
<table cellspacing="5" cellpadding="0" border="0">
789
<a class="anchor" name="5d04bfb2880d553b76c7de0b63c4e6a5"></a><!-- doxytag: member="sbuild::widen_string" ref="5d04bfb2880d553b76c7de0b63c4e6a5" args="(std::string const &str, std::locale locale)" -->
790
<div class="memitem">
791
<div class="memproto">
792
<table class="memname">
794
<td class="memname">std::wstring sbuild::widen_string </td>
796
<td class="paramtype">std::string const & </td>
797
<td class="paramname"> <em>str</em>, </td>
800
<td class="paramkey"></td>
802
<td class="paramtype">std::locale </td>
803
<td class="paramname"> <em>locale</em></td><td> </td>
808
<td></td><td></td><td width="100%"></td>
817
The narrow string is converted into a wide string. Note that any conversion error will cause the string to be clipped at the point of error.<p>
818
<dl compact><dt><b>Parameters:</b></dt><dd>
819
<table border="0" cellspacing="2" cellpadding="0">
820
<tr><td valign="top"></td><td valign="top"><em>str</em> </td><td>the string to widen. </td></tr>
821
<tr><td valign="top"></td><td valign="top"><em>locale</em> </td><td>the locale to use for the conversion. </td></tr>
824
<dl compact><dt><b>Returns:</b></dt><dd>a wide string. </dd></dl>
828
<a class="anchor" name="6ea21c4378601dbd6d3af10a71cfc623"></a><!-- doxytag: member="sbuild::narrow_string" ref="6ea21c4378601dbd6d3af10a71cfc623" args="(std::wstring const &str, std::locale locale)" -->
829
<div class="memitem">
830
<div class="memproto">
831
<table class="memname">
833
<td class="memname">std::string sbuild::narrow_string </td>
835
<td class="paramtype">std::wstring const & </td>
836
<td class="paramname"> <em>str</em>, </td>
839
<td class="paramkey"></td>
841
<td class="paramtype">std::locale </td>
842
<td class="paramname"> <em>locale</em></td><td> </td>
847
<td></td><td></td><td width="100%"></td>
856
The wide string is converted into a narrow string. Note that any conversion error will cause the string to be clipped at the point of error.<p>
857
<dl compact><dt><b>Parameters:</b></dt><dd>
858
<table border="0" cellspacing="2" cellpadding="0">
859
<tr><td valign="top"></td><td valign="top"><em>str</em> </td><td>the string to narrow. </td></tr>
860
<tr><td valign="top"></td><td valign="top"><em>locale</em> </td><td>the locale to use for the conversion. </td></tr>
863
<dl compact><dt><b>Returns:</b></dt><dd>a narrow string. </dd></dl>
867
<a class="anchor" name="2c84c6d8cb3f81e7ba8f75ab86acb084"></a><!-- doxytag: member="sbuild::find_program_in_path" ref="2c84c6d8cb3f81e7ba8f75ab86acb084" args="(std::string const &program, std::string const &path, std::string const &prefix)" -->
868
<div class="memitem">
869
<div class="memproto">
870
<table class="memname">
872
<td class="memname">std::string sbuild::find_program_in_path </td>
874
<td class="paramtype">std::string const & </td>
875
<td class="paramname"> <em>program</em>, </td>
878
<td class="paramkey"></td>
880
<td class="paramtype">std::string const & </td>
881
<td class="paramname"> <em>path</em>, </td>
884
<td class="paramkey"></td>
886
<td class="paramtype">std::string const & </td>
887
<td class="paramname"> <em>prefix</em></td><td> </td>
892
<td></td><td></td><td width="100%"></td>
899
Find a program in the PATH search path.
901
<dl compact><dt><b>Parameters:</b></dt><dd>
902
<table border="0" cellspacing="2" cellpadding="0">
903
<tr><td valign="top"></td><td valign="top"><em>program</em> </td><td>the program to search for. </td></tr>
904
<tr><td valign="top"></td><td valign="top"><em>path</em> </td><td>the search path; typically the value of $PATH. </td></tr>
905
<tr><td valign="top"></td><td valign="top"><em>prefix</em> </td><td>a directory prefix the add to the search path. This may be left empty to search the root filesystem. </td></tr>
908
<dl compact><dt><b>Returns:</b></dt><dd>the absolute path of the program, or an empty string if the program could not be found. </dd></dl>
912
<a class="anchor" name="8086f1bf15e7d30656c67f7e9240f4ed"></a><!-- doxytag: member="sbuild::string_list_to_strv" ref="8086f1bf15e7d30656c67f7e9240f4ed" args="(string_list const &str)" -->
913
<div class="memitem">
914
<div class="memproto">
915
<table class="memname">
917
<td class="memname">char ** sbuild::string_list_to_strv </td>
919
<td class="paramtype"><a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">string_list</a> const & </td>
920
<td class="paramname"> <em>str</em> </td>
921
<td> ) </td>
922
<td width="100%"></td>
979
929
Create a string vector from a string_list.
1020
962
<tr><td valign="top"></td><td valign="top"><em>strv</em> </td><td>the string vector to delete. </td></tr>
968
<a class="anchor" name="31cffffc5ab46fa449c4860f751cf863"></a><!-- doxytag: member="sbuild::exec" ref="31cffffc5ab46fa449c4860f751cf863" args="(std::string const &file, string_list const &command, environment const &env)" -->
969
<div class="memitem">
970
<div class="memproto">
971
<table class="memname">
973
<td class="memname">int sbuild::exec </td>
975
<td class="paramtype">std::string const & </td>
976
<td class="paramname"> <em>file</em>, </td>
979
<td class="paramkey"></td>
981
<td class="paramtype"><a class="el" href="namespacesbuild.html#4268c3202ab4b20cbebf347a6d69393f">string_list</a> const & </td>
982
<td class="paramname"> <em>command</em>, </td>
985
<td class="paramkey"></td>
987
<td class="paramtype"><a class="el" href="classsbuild_1_1environment.html">environment</a> const & </td>
988
<td class="paramname"> <em>env</em></td><td> </td>
993
<td></td><td></td><td width="100%"></td>
1002
Run the command specified by file (an absolute pathname), using command and env as the argv and environment, respectively.<p>
1003
<dl compact><dt><b>Parameters:</b></dt><dd>
1004
<table border="0" cellspacing="2" cellpadding="0">
1005
<tr><td valign="top"></td><td valign="top"><em>file</em> </td><td>the program to execute. </td></tr>
1006
<tr><td valign="top"></td><td valign="top"><em>command</em> </td><td>the arguments to pass to the executable. </td></tr>
1007
<tr><td valign="top"></td><td valign="top"><em>env</em> </td><td>the environment. </td></tr>
1010
<dl compact><dt><b>Returns:</b></dt><dd>the return value of the execve system call on failure. </dd></dl>
1026
1014
<hr><h2>Variable Documentation</h2>
1027
<a class="anchor" name="ae4d27a642c39a81dbea2a34f5f3461a"></a><!-- doxytag: member="sbuild::cnull" ref="ae4d27a642c39a81dbea2a34f5f3461a" args="" --><p>
1028
<table class="mdTable" cellpadding="2" cellspacing="0">
1031
<table cellpadding="0" cellspacing="0" border="0">
1033
<td class="md" nowrap valign="top"><a class="el" href="classsbuild_1_1basic__nostream.html">sbuild::nostream</a> <a class="el" href="namespacesbuild.html#ae4d27a642c39a81dbea2a34f5f3461a">sbuild::cnull</a> </td>
1039
<table cellspacing="5" cellpadding="0" border="0">
1052
<a class="anchor" name="8cce2f8a60529f8f0c5064028610c89c"></a><!-- doxytag: member="sbuild::debug_level" ref="8cce2f8a60529f8f0c5064028610c89c" args="" --><p>
1053
<table class="mdTable" cellpadding="2" cellspacing="0">
1056
<table cellpadding="0" cellspacing="0" border="0">
1058
<td class="md" nowrap valign="top"><a class="el" href="namespacesbuild.html#cc4d8fc120bfd21c22acd9d9ed0e754d">sbuild::DebugLevel</a> <a class="el" href="namespacesbuild.html#8cce2f8a60529f8f0c5064028610c89c">sbuild::debug_level</a> = sbuild::DEBUG_NONE </td>
1064
<table cellspacing="5" cellpadding="0" border="0">
1015
<a class="anchor" name="8cce2f8a60529f8f0c5064028610c89c"></a><!-- doxytag: member="sbuild::debug_level" ref="8cce2f8a60529f8f0c5064028610c89c" args="" -->
1016
<div class="memitem">
1017
<div class="memproto">
1018
<table class="memname">
1020
<td class="memname"><a class="el" href="namespacesbuild.html#cc4d8fc120bfd21c22acd9d9ed0e754d">sbuild::DebugLevel</a> <a class="el" href="namespacesbuild.html#8cce2f8a60529f8f0c5064028610c89c">sbuild::debug_level</a> = sbuild::DEBUG_NONE </td>
1024
<div class="memdoc">
1072
1027
The debugging level in use.
1077
<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 17 14:44:21 2006 for schroot by
1032
<a class="anchor" name="ae4d27a642c39a81dbea2a34f5f3461a"></a><!-- doxytag: member="sbuild::cnull" ref="ae4d27a642c39a81dbea2a34f5f3461a" args="" -->
1033
<div class="memitem">
1034
<div class="memproto">
1035
<table class="memname">
1037
<td class="memname"><a class="el" href="classsbuild_1_1basic__nostream.html">sbuild::nostream</a> <a class="el" href="namespacesbuild.html#ae4d27a642c39a81dbea2a34f5f3461a">sbuild::cnull</a> </td>
1041
<div class="memdoc">
1049
<hr size="1"><address style="align: right;"><small>Generated on Thu Jul 6 19:26:46 2006 for schroot by
1078
1050
<a href="http://www.doxygen.org/index.html">
1079
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
1051
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>