2
2
<html xmlns="http://www.w3.org/1999/xhtml">
4
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
5
6
<title>SimGrid: String related functions</title>
6
7
<link href="tabs.css" rel="stylesheet" type="text/css"/>
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
<link href="simgrid.css" rel="stylesheet" type="text/css">
8
<script type="text/javascript" src="jquery.js"></script>
9
<script type="text/javascript" src="dynsections.js"></script>
10
<link href="navtree.css" rel="stylesheet" type="text/css"/>
11
<script type="text/javascript" src="resize.js"></script>
12
<script type="text/javascript" src="navtree.js"></script>
13
<script type="text/javascript">
14
$(document).ready(initResizable);
16
<link href="search/search.css" rel="stylesheet" type="text/css"/>
17
<script type="text/javascript" src="search/search.js"></script>
18
<script type="text/javascript">
19
$(document).ready(function() { searchBox.OnSelectItem(0); });
21
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
11
<!-- Generated by Doxygen 1.7.4 -->
24
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
13
25
<div id="titlearea">
14
26
<table cellspacing="0" cellpadding="0">
16
28
<tr style="height: 56px;">
17
29
<td style="padding-left: 0.5em;">
18
<div id="projectname">SimGrid <span id="projectnumber">3.7.1</span></div>
19
<div id="projectbrief">Scalable simulation of distributed systems</div>
30
<div id="projectname">SimGrid
31
 <span id="projectnumber">3.9</span>
33
<div id="projectbrief">Versatile Simulation of Distributed Systems</div>
25
<div id="navrow1" class="tabs">
39
<div id="navrow1" class="tabs">
26
40
<ul class="tablist">
27
<li><a href="index.html"><span>Main Page</span></a></li>
28
<li class="current"><a href="use.html"><span>Using SimGrid</span></a></li>
29
<li><a href="http://gforge.inria.fr/projects/simgrid"><span>Forge</span></a></li>
30
<li><a href="http://simgrid.gforge.inria.fr/"><span>Website</span></a></li>
31
<li><a href="pages.html"><span>Documentation index</span></a></li>
32
<li><a href="FAQ.html"><span>FAQ</span></a></li>
41
<li><a href="http://simgrid.gforge.inria.fr/"><span>Home page</span></a></li>
42
<li><a href="http://simgrid.gforge.inria.fr/documentation.html"><span>Online documentation</span></a></li>
43
<li><a href="https://gforge.inria.fr/projects/simgrid"><span>Dev's Corner</span></a></li>
44
<li> <div id="MSearchBox" class="MSearchBoxInactive">
46
<img id="MSearchSelect" src="search/mag_sel.png"
47
onmouseover="return searchBox.OnSearchSelectShow()"
48
onmouseout="return searchBox.OnSearchSelectHide()"
50
<input type="text" id="MSearchField" value="Search" accesskey="S"
51
onfocus="searchBox.OnSearchFieldFocus(true)"
52
onblur="searchBox.OnSearchFieldFocus(false)"
53
onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
</span><span class="right">
55
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
34
<div class="tabs_group_use">
36
<li><a href="install.html"><span>Installing SimGrid</span></a></li>
37
<li class="current"><a href="modules.html"><span>Modules API</span></a></li>
38
<li><a href="options.html"><span>Options & configurations</span></a></li>
39
<li><a href="platform.html"><span>Platform Description</span></a></li>
40
<li><a href="tracing.html"><span>Tracing Simulations</span></a></li>
41
<li><a href="bindings.html"><span>Bindings</span></a></li>
42
<li><a href="pls.html"><span>Packet-Level Simulation</span></a></li>
47
<!-- POST-PROCESSED TABS -->
50
<li> <a href="group__API__index.html"><span>Full Index</span></a></li>
51
<li class="current"> <a href="group__XBT__API.html"><span>XBT</span></a></li>
52
<li> <a href="group__MSG__API.html"><span>MSG</span></a></li>
53
<li> <a href="group__SIMIX__API.html"><span>SIMIX</span></a></li>
54
<li> <a href="group__GRAS__API.html"><span>GRAS</span></a></li>
55
<li> <a href="group__AMOK__API.html"><span>AMOK</span></a></li>
56
<li> <a href="group__SMPI__API.html"><span>SMPI</span></a></li>
57
<li> <a href="group__SD__API.html"><span>SimDag</span></a></li>
58
<li> <a href="group__SURF__API.html"><span>SURF</span></a></li>
59
<li> <a href="group__TRACE__API.html"><span>TRACE</span></a></li>
63
<li class="current"> <a href="group__XBT__grounding.html"><span>Grounding features</span></a></li>
64
<li> <a href="group__XBT__adt.html"><span>Usual data structures</span></a></li>
65
<li> <a href="group__XBT__misc.html"><span>Misc general purposes library components</span></a></li>
69
<li> <a href="group__XBT__syscall.html"><span>Malloc and friends</span></a></li>
70
<li class="current"> <a href="group__XBT__str.html"><span>String related functions</span></a></li>
71
<li> <a href="group__XBT__ex.html"><span>Exception support</span></a></li>
72
<li> <a href="group__XBT__log.html"><span>Logging support</span></a></li>
73
<li> <a href="group__XBT__error.html"><span>Assert macro familly</span></a></li>
74
<li> <a href="group__XBT__config.html"><span>Configuration support</span></a></li>
75
<li> <a href="group__XBT__mallocator.html"><span>Mallocators</span></a></li>
81
<!-- END OF POST-PROCESSED TABS -->
61
<!-- end header part -->
62
<!-- Generated by Doxygen 1.8.1.2 -->
63
<script type="text/javascript">
64
var searchBox = new SearchBox("searchBox", "search",false,'Search');
67
<div id="side-nav" class="ui-resizable side-nav-resizable">
69
<div id="nav-tree-contents">
70
<div id="nav-sync" class="sync"></div>
73
<div id="splitbar" style="-moz-user-select:none;"
74
class="ui-resizable-handle">
77
<script type="text/javascript">
78
$(document).ready(function(){initNavTree('group__XBT__str.html','');});
80
<div id="doc-content">
81
<!-- window showing the filter options -->
82
<div id="MSearchSelectWindow"
83
onmouseover="return searchBox.OnSearchSelectShow()"
84
onmouseout="return searchBox.OnSearchSelectHide()"
85
onkeydown="return searchBox.OnSearchSelectKey(event)">
86
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Pages</a></div>
88
<!-- iframe showing the search results (closed by default) -->
89
<div id="MSearchResultsWindow">
90
<iframe src="javascript:void(0)" frameborder="0"
91
name="MSearchResults" id="MSearchResults">
83
95
<div class="header">
84
96
<div class="summary">
85
<a href="#typedef-members">Typedefs</a> |
86
97
<a href="#func-members">Functions</a> </div>
87
98
<div class="headertitle">
88
99
<div class="title">String related functions</div> </div>
89
<div class="ingroups"><a class="el" href="group__XBT__grounding.html">Grounding features</a></div></div>
100
<div class="ingroups"><a class="el" href="group__XBT__grounding.html">Grounding features</a></div></div><!--header-->
90
101
<div class="contents">
92
103
<p>String manipulation functions.
93
104
<a href="#details">More...</a></p>
94
105
<table class="memberdecls">
95
<tr><td colspan="2"><h2><a name="typedef-members"></a>
96
Typedefs</h2></td></tr>
97
<tr><td class="memItemLeft" align="right" valign="top">typedef char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga1537bf8b2602e0aeeb87032803a72389">xbt_string_t</a></td></tr>
98
<tr><td class="mdescLeft"> </td><td class="mdescRight">Classical alias to (char*) <a href="#ga1537bf8b2602e0aeeb87032803a72389"></a><br/></td></tr>
99
<tr><td colspan="2"><h2><a name="func-members"></a>
106
<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
100
107
Functions</h2></td></tr>
101
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga9d7c43274b5a6339adfc724e2efd0ead">xbt_str_rtrim</a> (char *s, const char *char_list)</td></tr>
102
<tr><td class="mdescLeft"> </td><td class="mdescRight">Strip whitespace (or other characters) from the end of a string. <a href="#ga9d7c43274b5a6339adfc724e2efd0ead"></a><br/></td></tr>
103
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#gaeb745f202229799d900aa3a20953186f">xbt_str_ltrim</a> (char *s, const char *char_list)</td></tr>
104
<tr><td class="mdescLeft"> </td><td class="mdescRight">Strip whitespace (or other characters) from the beginning of a string. <a href="#gaeb745f202229799d900aa3a20953186f"></a><br/></td></tr>
105
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga5259c70a74df4d63f39e68cc5fe8f1b3">xbt_str_trim</a> (char *s, const char *char_list)</td></tr>
106
<tr><td class="mdescLeft"> </td><td class="mdescRight">Strip whitespace (or other characters) from the end and the begining of a string. <a href="#ga5259c70a74df4d63f39e68cc5fe8f1b3"></a><br/></td></tr>
107
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XBT__dynar__cons.html#gac826571988d2b63ae225e5c62ecdbc79">xbt_dynar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga91672ded3b13340f1dfa6fb5ce64fb42">xbt_str_split</a> (const char *s, const char *sep)</td></tr>
108
<tr><td class="mdescLeft"> </td><td class="mdescRight">Splits a string into a dynar of strings. <a href="#ga91672ded3b13340f1dfa6fb5ce64fb42"></a><br/></td></tr>
109
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XBT__dynar__cons.html#gac826571988d2b63ae225e5c62ecdbc79">xbt_dynar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#gaa6839f81f1789acf3865eeade8c23c77">xbt_str_split_quoted</a> (const char *s)</td></tr>
110
<tr><td class="mdescLeft"> </td><td class="mdescRight">Splits a string into a dynar of strings, taking quotes into account. <a href="#gaa6839f81f1789acf3865eeade8c23c77"></a><br/></td></tr>
111
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XBT__dynar__cons.html#gac826571988d2b63ae225e5c62ecdbc79">xbt_dynar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga2454f448cda4a1ba94409196a2f31d78">xbt_str_split_quoted_in_place</a> (char *s)</td></tr>
112
<tr><td class="mdescLeft"> </td><td class="mdescRight">Just like <a class="el" href="group__XBT__str.html#gaa6839f81f1789acf3865eeade8c23c77">xbt_str_split_quoted</a> (Splits a string into a dynar of strings), but without memory allocation. <a href="#ga2454f448cda4a1ba94409196a2f31d78"></a><br/></td></tr>
113
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XBT__dynar__cons.html#gac826571988d2b63ae225e5c62ecdbc79">xbt_dynar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga84523a36aef41594015c8c2a22256385">xbt_str_split_str</a> (const char *s, const char *sep)</td></tr>
114
<tr><td class="mdescLeft"> </td><td class="mdescRight">This functions splits a string after using another string as separator For example A!!B!!C splitted after !! will return the dynar {A,B,C}. <a href="#ga84523a36aef41594015c8c2a22256385"></a><br/></td></tr>
115
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1271575a77363ce72fbdf65298a49622"></a><!-- doxytag: member="XBT_str::xbt_str_join" ref="ga1271575a77363ce72fbdf65298a49622" args="(xbt_dynar_t dynar, const char *sep)" -->
108
<tr class="memitem:ga9d7c43274b5a6339adfc724e2efd0ead"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga9d7c43274b5a6339adfc724e2efd0ead">xbt_str_rtrim</a> (char *s, const char *char_list)</td></tr>
109
<tr class="memdesc:ga9d7c43274b5a6339adfc724e2efd0ead"><td class="mdescLeft"> </td><td class="mdescRight">Strip whitespace (or other characters) from the end of a string. <a href="#ga9d7c43274b5a6339adfc724e2efd0ead"></a><br/></td></tr>
110
<tr class="memitem:gaeb745f202229799d900aa3a20953186f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#gaeb745f202229799d900aa3a20953186f">xbt_str_ltrim</a> (char *s, const char *char_list)</td></tr>
111
<tr class="memdesc:gaeb745f202229799d900aa3a20953186f"><td class="mdescLeft"> </td><td class="mdescRight">Strip whitespace (or other characters) from the beginning of a string. <a href="#gaeb745f202229799d900aa3a20953186f"></a><br/></td></tr>
112
<tr class="memitem:ga5259c70a74df4d63f39e68cc5fe8f1b3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga5259c70a74df4d63f39e68cc5fe8f1b3">xbt_str_trim</a> (char *s, const char *char_list)</td></tr>
113
<tr class="memdesc:ga5259c70a74df4d63f39e68cc5fe8f1b3"><td class="mdescLeft"> </td><td class="mdescRight">Strip whitespace (or other characters) from the end and the begining of a string. <a href="#ga5259c70a74df4d63f39e68cc5fe8f1b3"></a><br/></td></tr>
114
<tr class="memitem:ga91672ded3b13340f1dfa6fb5ce64fb42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XBT__dynar__cons.html#gac826571988d2b63ae225e5c62ecdbc79">xbt_dynar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga91672ded3b13340f1dfa6fb5ce64fb42">xbt_str_split</a> (const char *s, const char *sep)</td></tr>
115
<tr class="memdesc:ga91672ded3b13340f1dfa6fb5ce64fb42"><td class="mdescLeft"> </td><td class="mdescRight">Splits a string into a dynar of strings. <a href="#ga91672ded3b13340f1dfa6fb5ce64fb42"></a><br/></td></tr>
116
<tr class="memitem:gaa6839f81f1789acf3865eeade8c23c77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XBT__dynar__cons.html#gac826571988d2b63ae225e5c62ecdbc79">xbt_dynar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#gaa6839f81f1789acf3865eeade8c23c77">xbt_str_split_quoted</a> (const char *s)</td></tr>
117
<tr class="memdesc:gaa6839f81f1789acf3865eeade8c23c77"><td class="mdescLeft"> </td><td class="mdescRight">Splits a string into a dynar of strings, taking quotes into account. <a href="#gaa6839f81f1789acf3865eeade8c23c77"></a><br/></td></tr>
118
<tr class="memitem:ga2454f448cda4a1ba94409196a2f31d78"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XBT__dynar__cons.html#gac826571988d2b63ae225e5c62ecdbc79">xbt_dynar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga2454f448cda4a1ba94409196a2f31d78">xbt_str_split_quoted_in_place</a> (char *s)</td></tr>
119
<tr class="memdesc:ga2454f448cda4a1ba94409196a2f31d78"><td class="mdescLeft"> </td><td class="mdescRight">Just like <a class="el" href="group__XBT__str.html#gaa6839f81f1789acf3865eeade8c23c77">xbt_str_split_quoted</a> (Splits a string into a dynar of strings), but without memory allocation. <a href="#ga2454f448cda4a1ba94409196a2f31d78"></a><br/></td></tr>
120
<tr class="memitem:ga84523a36aef41594015c8c2a22256385"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XBT__dynar__cons.html#gac826571988d2b63ae225e5c62ecdbc79">xbt_dynar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga84523a36aef41594015c8c2a22256385">xbt_str_split_str</a> (const char *s, const char *sep)</td></tr>
121
<tr class="memdesc:ga84523a36aef41594015c8c2a22256385"><td class="mdescLeft"> </td><td class="mdescRight">This functions splits a string after using another string as separator For example A!!B!!C splitted after !! will return the dynar {A,B,C}. <a href="#ga84523a36aef41594015c8c2a22256385"></a><br/></td></tr>
122
<tr class="memitem:ga1271575a77363ce72fbdf65298a49622"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1271575a77363ce72fbdf65298a49622"></a>
116
123
char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga1271575a77363ce72fbdf65298a49622">xbt_str_join</a> (<a class="el" href="group__XBT__dynar__cons.html#gac826571988d2b63ae225e5c62ecdbc79">xbt_dynar_t</a> dynar, const char *sep)</td></tr>
117
<tr><td class="mdescLeft"> </td><td class="mdescRight">Join a set of strings as a single string. <br/></td></tr>
118
<tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga17585fd9f6432df9f84db21059486900">xbt_str_join_array</a> (const char *const *strs, const char *sep)</td></tr>
119
<tr><td class="mdescLeft"> </td><td class="mdescRight">Join a set of strings as a single string. <a href="#ga17585fd9f6432df9f84db21059486900"></a><br/></td></tr>
120
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga2aaaa9b7cdc3e30d0a2b85c7561ad0e6">xbt_str_subst</a> (char *str, char from, char to, int amount)</td></tr>
121
<tr><td class="mdescLeft"> </td><td class="mdescRight">Substitutes a char for another in a string. <a href="#ga2aaaa9b7cdc3e30d0a2b85c7561ad0e6"></a><br/></td></tr>
122
<tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga42a82b549ada759cfc7ec4e0999dde1e">xbt_str_varsubst</a> (const char *str, <a class="el" href="group__XBT__dict__cons.html#gac60ea15fce6ea593be308de876712f04">xbt_dict_t</a> patterns)</td></tr>
123
<tr><td class="mdescLeft"> </td><td class="mdescRight">Replaces a set of variables by their values. <a href="#ga42a82b549ada759cfc7ec4e0999dde1e"></a><br/></td></tr>
124
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga5b8c3f04c5bd47a54c6700c634c48d40">xbt_str_strip_spaces</a> (char *)</td></tr>
125
<tr><td class="mdescLeft"> </td><td class="mdescRight">Replace double whitespaces (but no other characters) from the string. <a href="#ga5b8c3f04c5bd47a54c6700c634c48d40"></a><br/></td></tr>
126
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadfd8938aaade2e991b8b51bed5aea886"></a><!-- doxytag: member="XBT_str::xbt_str_diff" ref="gadfd8938aaade2e991b8b51bed5aea886" args="(const char *a, const char *b)" -->
124
<tr class="memdesc:ga1271575a77363ce72fbdf65298a49622"><td class="mdescLeft"> </td><td class="mdescRight">Join a set of strings as a single string. <br/></td></tr>
125
<tr class="memitem:ga17585fd9f6432df9f84db21059486900"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga17585fd9f6432df9f84db21059486900">xbt_str_join_array</a> (const char *const *strs, const char *sep)</td></tr>
126
<tr class="memdesc:ga17585fd9f6432df9f84db21059486900"><td class="mdescLeft"> </td><td class="mdescRight">Join a set of strings as a single string. <a href="#ga17585fd9f6432df9f84db21059486900"></a><br/></td></tr>
127
<tr class="memitem:ga2aaaa9b7cdc3e30d0a2b85c7561ad0e6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga2aaaa9b7cdc3e30d0a2b85c7561ad0e6">xbt_str_subst</a> (char *str, char from, char to, int amount)</td></tr>
128
<tr class="memdesc:ga2aaaa9b7cdc3e30d0a2b85c7561ad0e6"><td class="mdescLeft"> </td><td class="mdescRight">Substitutes a char for another in a string. <a href="#ga2aaaa9b7cdc3e30d0a2b85c7561ad0e6"></a><br/></td></tr>
129
<tr class="memitem:ga42a82b549ada759cfc7ec4e0999dde1e"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga42a82b549ada759cfc7ec4e0999dde1e">xbt_str_varsubst</a> (const char *str, <a class="el" href="group__XBT__dict__cons.html#gac60ea15fce6ea593be308de876712f04">xbt_dict_t</a> patterns)</td></tr>
130
<tr class="memdesc:ga42a82b549ada759cfc7ec4e0999dde1e"><td class="mdescLeft"> </td><td class="mdescRight">Replaces a set of variables by their values. <a href="#ga42a82b549ada759cfc7ec4e0999dde1e"></a><br/></td></tr>
131
<tr class="memitem:ga5b8c3f04c5bd47a54c6700c634c48d40"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga5b8c3f04c5bd47a54c6700c634c48d40">xbt_str_strip_spaces</a> (char *)</td></tr>
132
<tr class="memdesc:ga5b8c3f04c5bd47a54c6700c634c48d40"><td class="mdescLeft"> </td><td class="mdescRight">Replace double whitespaces (but no other characters) from the string. <a href="#ga5b8c3f04c5bd47a54c6700c634c48d40"></a><br/></td></tr>
133
<tr class="memitem:gadfd8938aaade2e991b8b51bed5aea886"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadfd8938aaade2e991b8b51bed5aea886"></a>
127
134
char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#gadfd8938aaade2e991b8b51bed5aea886">xbt_str_diff</a> (const char *a, const char *b)</td></tr>
128
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute the unified diff of two strings. <br/></td></tr>
129
<tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga3d0726833fdc157351600358cc67097c">xbt_str_from_file</a> (FILE *file)</td></tr>
130
<tr><td class="mdescLeft"> </td><td class="mdescRight">creates a new string containing what can be read on a fd <a href="#ga3d0726833fdc157351600358cc67097c"></a><br/></td></tr>
135
<tr class="memdesc:gadfd8938aaade2e991b8b51bed5aea886"><td class="mdescLeft"> </td><td class="mdescRight">Compute the unified diff of two strings. <br/></td></tr>
136
<tr class="memitem:ga3d0726833fdc157351600358cc67097c"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga3d0726833fdc157351600358cc67097c">xbt_str_from_file</a> (FILE *file)</td></tr>
137
<tr class="memdesc:ga3d0726833fdc157351600358cc67097c"><td class="mdescLeft"> </td><td class="mdescRight">creates a new string containing what can be read on a fd <a href="#ga3d0726833fdc157351600358cc67097c"></a><br/></td></tr>
138
<tr class="memitem:ga10c19e31b7f944a5f426a7d436a44e6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga10c19e31b7f944a5f426a7d436a44e6d"></a>
139
static unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga10c19e31b7f944a5f426a7d436a44e6d">xbt_str_hash_ext</a> (const char *str, int str_len)</td></tr>
140
<tr class="memdesc:ga10c19e31b7f944a5f426a7d436a44e6d"><td class="mdescLeft"> </td><td class="mdescRight">Returns the hash code of a string. <br/></td></tr>
141
<tr class="memitem:ga7b484f038534879efb07619091341977"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7b484f038534879efb07619091341977"></a>
142
static unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XBT__str.html#ga7b484f038534879efb07619091341977">xbt_str_hash</a> (const char *str)</td></tr>
143
<tr class="memdesc:ga7b484f038534879efb07619091341977"><td class="mdescLeft"> </td><td class="mdescRight">Returns the hash code of a string. <br/></td></tr>
132
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
145
<a name="details" id="details"></a><h2>Detailed Description</h2>
133
146
<p>String manipulation functions. </p>
134
147
<p>This module defines several string related functions. We redefine some quite classical functions on the platforms were they are not nativaly defined (such as getline() or asprintf()), while some other are a bit more exotic. </p>
135
<hr/><h2>Typedef Documentation</h2>
136
<a class="anchor" id="ga1537bf8b2602e0aeeb87032803a72389"></a><!-- doxytag: member="str.h::xbt_string_t" ref="ga1537bf8b2602e0aeeb87032803a72389" args="" -->
137
<div class="memitem">
138
<div class="memproto">
139
<table class="memname">
141
<td class="memname">typedef char* <a class="el" href="group__XBT__str.html#ga1537bf8b2602e0aeeb87032803a72389">xbt_string_t</a></td>
147
<p>Classical alias to (char*) </p>
148
<p>This of almost no use, beside cosmetics and the XBT datadesc parsing macro (see <a class="el" href="group__XBT__dd__auto.html">Automatic parsing of data descriptions</a>). </p>
152
<hr/><h2>Function Documentation</h2>
153
<a class="anchor" id="ga9d7c43274b5a6339adfc724e2efd0ead"></a><!-- doxytag: member="str.h::xbt_str_rtrim" ref="ga9d7c43274b5a6339adfc724e2efd0ead" args="(char *s, const char *char_list)" -->
148
<h2>Function Documentation</h2>
149
<a class="anchor" id="ga9d7c43274b5a6339adfc724e2efd0ead"></a>
154
150
<div class="memitem">
155
151
<div class="memproto">
156
152
<table class="memname">