Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 88959ca903fe50462ea99715ead18944 > files > 143

raul-devel-0.7.0-1.fc14.1.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>RAUL: Raul::Path Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><b>Raul</b>      </li>
      <li><a class="el" href="classRaul_1_1Path.html">Raul::Path</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<h1>Raul::Path Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Raul::Path" --><!-- doxytag: inherits="Raul::URI" -->
<p>A <a class="el" href="classRaul_1_1URI.html" title="Simple wrapper around standard string with useful URI-specific methods.">URI</a> which is a path (for example a filesystem or OSC path).  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="Path_8hpp_source.html">Path.hpp</a>&gt;</code></p>

<p>Inherits <a class="el" href="classRaul_1_1URI.html">Raul::URI</a>.</p>
<div class="dynheader">
Collaboration diagram for Raul::Path:</div>
<div class="dyncontent">
<div class="center"><img src="classRaul_1_1Path__coll__graph.png" border="0" usemap="#Raul_1_1Path_coll__map" alt="Collaboration graph"/></div>
<map name="Raul_1_1Path_coll__map" id="Raul_1_1Path_coll__map">
<area shape="rect" id="node2" href="classRaul_1_1URI.html" title="Simple wrapper around standard string with useful URI&#45;specific methods." alt="" coords="7,5,87,35"/></map>
</div>

<p><a href="classRaul_1_1Path-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#ad69dae35fcdefe7278edca40c7e65536">Path</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an uninitialzed path, because the STL is annoying.  <a href="#ad69dae35fcdefe7278edca40c7e65536"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a58d6cdd1c4ce8eca4e6d790f22f9690e">Path</a> (const std::basic_string&lt; char &gt; &amp;path)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a> from an std::string.  <a href="#a58d6cdd1c4ce8eca4e6d790f22f9690e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a3f8913f4ae957c627baefa5a130fe205">Path</a> (const char *cpath)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a> from a C string.  <a href="#a3f8913f4ae957c627baefa5a130fe205"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a47641db3a8b367b038afcf01afc9996c">Path</a> (const <a class="el" href="classRaul_1_1Path.html">Path</a> &amp;copy)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a> from another path.  <a href="#a47641db3a8b367b038afcf01afc9996c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf1920bb78339f6403c867633cc23ad4"></a><!-- doxytag: member="Raul::Path::is_root" ref="abf1920bb78339f6403c867633cc23ad4" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>is_root</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6f98360d886392e795cb3a004ca5d9c"></a><!-- doxytag: member="Raul::Path::is_child_of" ref="aa6f98360d886392e795cb3a004ca5d9c" args="(const Path &amp;parent) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>is_child_of</b> (const <a class="el" href="classRaul_1_1Path.html">Path</a> &amp;parent) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ed4feef62ccf39d3626df88e1f92286"></a><!-- doxytag: member="Raul::Path::is_parent_of" ref="a7ed4feef62ccf39d3626df88e1f92286" args="(const Path &amp;child) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>is_parent_of</b> (const <a class="el" href="classRaul_1_1Path.html">Path</a> &amp;child) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d53d92ce41044259a3d78aa1eae61d2"></a><!-- doxytag: member="Raul::Path::child" ref="a3d53d92ce41044259a3d78aa1eae61d2" args="(const std::string &amp;s) const " -->
<a class="el" href="classRaul_1_1Path.html">Path</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>child</b> (const std::string &amp;s) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19f4b6ae6fa81b48854cf4688af76a1b"></a><!-- doxytag: member="Raul::Path::child" ref="a19f4b6ae6fa81b48854cf4688af76a1b" args="(const Path &amp;p) const " -->
<a class="el" href="classRaul_1_1Path.html">Path</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>child</b> (const <a class="el" href="classRaul_1_1Path.html">Path</a> &amp;p) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8d6fb5da6bb70677ea70bfbed0ea061"></a><!-- doxytag: member="Raul::Path::operator+" ref="aa8d6fb5da6bb70677ea70bfbed0ea061" args="(const Path &amp;p) const " -->
<a class="el" href="classRaul_1_1Path.html">Path</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator+</b> (const <a class="el" href="classRaul_1_1Path.html">Path</a> &amp;p) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#aea7d19e02e65bb2d26008477fa6198b8">symbol</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the symbol of this path (everything after the last '/').  <a href="#aea7d19e02e65bb2d26008477fa6198b8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classRaul_1_1Path.html">Path</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a12fae32068c6164c4a2b37f9b144f28b">parent</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the parent's path.  <a href="#a12fae32068c6164c4a2b37f9b144f28b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca906c3be23db1597de497df7ed4e522"></a><!-- doxytag: member="Raul::Path::child" ref="aca906c3be23db1597de497df7ed4e522" args="(const Raul::Symbol &amp;symbol) const " -->
<a class="el" href="classRaul_1_1Path.html">Path</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#aca906c3be23db1597de497df7ed4e522">child</a> (const <a class="el" href="classRaul_1_1Symbol.html">Raul::Symbol</a> &amp;symbol) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the path's child with the given name (symbol). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72181c79457416e799f0d02d7dec3066"></a><!-- doxytag: member="Raul::Path::relative_to_base" ref="a72181c79457416e799f0d02d7dec3066" args="(const Path &amp;base) const " -->
<a class="el" href="classRaul_1_1Path.html">Path</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a72181c79457416e799f0d02d7dec3066">relative_to_base</a> (const <a class="el" href="classRaul_1_1Path.html">Path</a> &amp;base) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return path relative to some base path (chop prefix). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#af8c11bcf9033eaab59843d8a16146084">base</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return path with a trailing "/".  <a href="#af8c11bcf9033eaab59843d8a16146084"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a962975b07ebe2acee4d99e4f738655c4">base_no_scheme</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return path with a trailing "/".  <a href="#a962975b07ebe2acee4d99e4f738655c4"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classRaul_1_1Path.html">Path</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#ac4a4e06be4318672ff9238fdf824a2b9">root</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the root path.  <a href="#ac4a4e06be4318672ff9238fdf824a2b9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#ab9f5e3239dca6bd2c81b893584a59630">set_root</a> (const <a class="el" href="classRaul_1_1URI.html">Raul::URI</a> &amp;uri)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the root path.  <a href="#ab9f5e3239dca6bd2c81b893584a59630"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac0c32ff1d48591c388d2a7545372789"></a><!-- doxytag: member="Raul::Path::is_path" ref="aac0c32ff1d48591c388d2a7545372789" args="(const Raul::URI &amp;uri)" -->
static bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>is_path</b> (const <a class="el" href="classRaul_1_1URI.html">Raul::URI</a> &amp;uri)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9187cb8662a3abd2732d4a043d3592b"></a><!-- doxytag: member="Raul::Path::is_valid" ref="aa9187cb8662a3abd2732d4a043d3592b" args="(const std::basic_string&lt; char &gt; &amp;path)" -->
static bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>is_valid</b> (const std::basic_string&lt; char &gt; &amp;path)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeecb257459752828820a00ae7cb4d021"></a><!-- doxytag: member="Raul::Path::is_valid_name" ref="aeecb257459752828820a00ae7cb4d021" args="(const std::basic_string&lt; char &gt; &amp;name)" -->
static bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>is_valid_name</b> (const std::basic_string&lt; char &gt; &amp;name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a897a6299821f2db5a4d7f08db12fc74f">pathify</a> (const std::basic_string&lt; char &gt; &amp;str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a string to a valid full path.  <a href="#a897a6299821f2db5a4d7f08db12fc74f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a82d234fd91e09ae19a1b31940ec06263">nameify</a> (const std::basic_string&lt; char &gt; &amp;str)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a string to a valid name (or "method" - tokens between slashes).  <a href="#a82d234fd91e09ae19a1b31940ec06263"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1ffe394b2a4cb2c065a4cd50d55f63b"></a><!-- doxytag: member="Raul::Path::replace_invalid_chars" ref="ad1ffe394b2a4cb2c065a4cd50d55f63b" args="(std::string &amp;str, size_t start, bool replace_slash=false)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#ad1ffe394b2a4cb2c065a4cd50d55f63b">replace_invalid_chars</a> (std::string &amp;str, size_t start, bool replace_slash=false)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace any invalid characters in <em>str</em> with a suitable replacement. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e2864b28e04fa32430efc2eccf0e1b9"></a><!-- doxytag: member="Raul::Path::descendant_comparator" ref="a4e2864b28e04fa32430efc2eccf0e1b9" args="(const Path &amp;parent, const Path &amp;child)" -->
static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a4e2864b28e04fa32430efc2eccf0e1b9">descendant_comparator</a> (const <a class="el" href="classRaul_1_1Path.html">Path</a> &amp;parent, const <a class="el" href="classRaul_1_1Path.html">Path</a> &amp;child)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if <em>child</em> is equal to, or a descendant of <em>parent</em>. <br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A <a class="el" href="classRaul_1_1URI.html" title="Simple wrapper around standard string with useful URI-specific methods.">URI</a> which is a path (for example a filesystem or OSC path). </p>
<p>This enforces that a <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a> is a valid path, where each fragment is a valid <a class="el" href="classRaul_1_1Symbol.html" title="A restricted string (C identifier, which is a component of a Path).">Symbol</a>, separated by exactly one slash (/).</p>
<p>A path is divided by slashes (/). The first character MUST be a slash, and the last character MUST NOT be a slash (except in the special case of the root path "/", which is the only valid single-character path). A <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a> is actually a <a class="el" href="classRaul_1_1URI.html" title="Simple wrapper around standard string with useful URI-specific methods.">URI</a>, the relative path is appended to the root <a class="el" href="classRaul_1_1URI.html" title="Simple wrapper around standard string with useful URI-specific methods.">URI</a> automatically, so a Patch can always be used as a <a class="el" href="classRaul_1_1URI.html" title="Simple wrapper around standard string with useful URI-specific methods.">URI</a>. </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad69dae35fcdefe7278edca40c7e65536"></a><!-- doxytag: member="Raul::Path::Path" ref="ad69dae35fcdefe7278edca40c7e65536" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Raul::Path::Path </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct an uninitialzed path, because the STL is annoying. </p>

<p>Referenced by <a class="el" href="classRaul_1_1Path.html#ac4a4e06be4318672ff9238fdf824a2b9">root()</a>.</p>

</div>
</div>
<a class="anchor" id="a58d6cdd1c4ce8eca4e6d790f22f9690e"></a><!-- doxytag: member="Raul::Path::Path" ref="a58d6cdd1c4ce8eca4e6d790f22f9690e" args="(const std::basic_string&lt; char &gt; &amp;path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Raul::Path::Path </td>
          <td>(</td>
          <td class="paramtype">const std::basic_string&lt; char &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>path</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct a <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a> from an std::string. </p>
<p>It is a fatal error to construct a <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a> from an invalid string, use is_valid first to check. </p>

</div>
</div>
<a class="anchor" id="a3f8913f4ae957c627baefa5a130fe205"></a><!-- doxytag: member="Raul::Path::Path" ref="a3f8913f4ae957c627baefa5a130fe205" args="(const char *cpath)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Raul::Path::Path </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>cpath</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct a <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a> from a C string. </p>
<p>It is a fatal error to construct a <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a> from an invalid string, use is_valid first to check. </p>

</div>
</div>
<a class="anchor" id="a47641db3a8b367b038afcf01afc9996c"></a><!-- doxytag: member="Raul::Path::Path" ref="a47641db3a8b367b038afcf01afc9996c" args="(const Path &amp;copy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Raul::Path::Path </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classRaul_1_1Path.html">Path</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>copy</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct a <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a> from another path. </p>
<p>This is faster than constructing a path from the other path's string representation, since validity checking is avoided. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ac4a4e06be4318672ff9238fdf824a2b9"></a><!-- doxytag: member="Raul::Path::root" ref="ac4a4e06be4318672ff9238fdf824a2b9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classRaul_1_1Path.html">Path</a> Raul::Path::root </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the root path. </p>
<p>The default root path is the <a class="el" href="classRaul_1_1URI.html" title="Simple wrapper around standard string with useful URI-specific methods.">URI</a> "path:/"</p>
<p>A <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a> is either the root path, or a child of a root path (i.e. the root path followed by a sequence of Symbols separated by '/') </p>

<p>References <a class="el" href="classRaul_1_1Path.html#ad69dae35fcdefe7278edca40c7e65536">Path()</a>.</p>

<p>Referenced by <a class="el" href="classRaul_1_1Path.html#af8c11bcf9033eaab59843d8a16146084">base()</a>, <a class="el" href="classRaul_1_1Path.html#a4e2864b28e04fa32430efc2eccf0e1b9">descendant_comparator()</a>, <a class="el" href="classRaul_1_1Path.html#a12fae32068c6164c4a2b37f9b144f28b">parent()</a>, <a class="el" href="classRaul_1_1Path.html#a897a6299821f2db5a4d7f08db12fc74f">pathify()</a>, and <a class="el" href="classRaul_1_1Path.html#aea7d19e02e65bb2d26008477fa6198b8">symbol()</a>.</p>

</div>
</div>
<a class="anchor" id="ab9f5e3239dca6bd2c81b893584a59630"></a><!-- doxytag: member="Raul::Path::set_root" ref="ab9f5e3239dca6bd2c81b893584a59630" args="(const Raul::URI &amp;uri)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Raul::Path::set_root </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classRaul_1_1URI.html">Raul::URI</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>uri</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the root path. </p>
<p>The default root path is the <a class="el" href="classRaul_1_1URI.html" title="Simple wrapper around standard string with useful URI-specific methods.">URI</a> "path:/"</p>
<p>Note this should be done on application start up. Changing the root path while any <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a> objects exist will break things horribly; don't!</p>
<p>The root can be set to any <a class="el" href="classRaul_1_1URI.html" title="Simple wrapper around standard string with useful URI-specific methods.">URI</a>, there are no restrictions on valid characters and such like there are for relative paths (but it must be a valid <a class="el" href="classRaul_1_1URI.html" title="Simple wrapper around standard string with useful URI-specific methods.">URI</a>, i.e. begin with a scheme, and in particular not begin with '/'). Relative paths are appended to the root path's <a class="el" href="classRaul_1_1URI.html" title="Simple wrapper around standard string with useful URI-specific methods.">URI</a>, i.e. every <a class="el" href="classRaul_1_1Path.html" title="A URI which is a path (for example a filesystem or OSC path).">Path</a>, as a string, begins with the root <a class="el" href="classRaul_1_1URI.html" title="Simple wrapper around standard string with useful URI-specific methods.">URI</a>. The part after that is a strict path (a sequence of Symbols separated by '/'). </p>

</div>
</div>
<a class="anchor" id="a897a6299821f2db5a4d7f08db12fc74f"></a><!-- doxytag: member="Raul::Path::pathify" ref="a897a6299821f2db5a4d7f08db12fc74f" args="(const std::basic_string&lt; char &gt; &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string Raul::Path::pathify </td>
          <td>(</td>
          <td class="paramtype">const std::basic_string&lt; char &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert a string to a valid full path. </p>
<p>The returned string is a valid relative path without the root prefix, i.e. the returned string starts with '/' followed by valid symbols, each separated by '/'. </p>

<p>References <a class="el" href="classRaul_1_1URI.html#a51a913a3c2cf8733aa9afbd2ae1413a0">Raul::URI::chop_scheme()</a>, <a class="el" href="classRaul_1_1Path.html#ad1ffe394b2a4cb2c065a4cd50d55f63b">replace_invalid_chars()</a>, and <a class="el" href="classRaul_1_1Path.html#ac4a4e06be4318672ff9238fdf824a2b9">root()</a>.</p>

</div>
</div>
<a class="anchor" id="a82d234fd91e09ae19a1b31940ec06263"></a><!-- doxytag: member="Raul::Path::nameify" ref="a82d234fd91e09ae19a1b31940ec06263" args="(const std::basic_string&lt; char &gt; &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string Raul::Path::nameify </td>
          <td>(</td>
          <td class="paramtype">const std::basic_string&lt; char &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert a string to a valid name (or "method" - tokens between slashes). </p>
<p>This will strip all slashes, etc, and always return a valid name/method. </p>

<p>References <a class="el" href="classRaul_1_1Path.html#ad1ffe394b2a4cb2c065a4cd50d55f63b">replace_invalid_chars()</a>.</p>

</div>
</div>
<a class="anchor" id="aea7d19e02e65bb2d26008477fa6198b8"></a><!-- doxytag: member="Raul::Path::symbol" ref="aea7d19e02e65bb2d26008477fa6198b8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* Raul::Path::symbol </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the symbol of this path (everything after the last '/'). </p>
<p>This is e.g. the "method name" for OSC paths, the filename for filesystem paths, etc. The empty string may be returned (if the path is the root path). </p>

<p>References <a class="el" href="classRaul_1_1Path.html#ac4a4e06be4318672ff9238fdf824a2b9">root()</a>.</p>

</div>
</div>
<a class="anchor" id="a12fae32068c6164c4a2b37f9b144f28b"></a><!-- doxytag: member="Raul::Path::parent" ref="a12fae32068c6164c4a2b37f9b144f28b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classRaul_1_1Path.html">Path</a> Raul::Path::parent </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the parent's path. </p>
<p>Calling this on the path "/" will return "/". This is the (deepest) "container path" for OSC paths. </p>

<p>References <a class="el" href="classRaul_1_1Path.html#ac4a4e06be4318672ff9238fdf824a2b9">root()</a>.</p>

</div>
</div>
<a class="anchor" id="af8c11bcf9033eaab59843d8a16146084"></a><!-- doxytag: member="Raul::Path::base" ref="af8c11bcf9033eaab59843d8a16146084" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string Raul::Path::base </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return path with a trailing "/". </p>
<p>Returned value is guaranteed to be a valid parent path, i.e. a valid child path can be made using parent.base() + child_name. </p>

<p>References <a class="el" href="classRaul_1_1Path.html#ac4a4e06be4318672ff9238fdf824a2b9">root()</a>.</p>

<p>Referenced by <a class="el" href="classRaul_1_1Path.html#a962975b07ebe2acee4d99e4f738655c4">base_no_scheme()</a>, and <a class="el" href="classRaul_1_1Path.html#aca906c3be23db1597de497df7ed4e522">child()</a>.</p>

</div>
</div>
<a class="anchor" id="a962975b07ebe2acee4d99e4f738655c4"></a><!-- doxytag: member="Raul::Path::base_no_scheme" ref="a962975b07ebe2acee4d99e4f738655c4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string Raul::Path::base_no_scheme </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return path with a trailing "/". </p>
<p>Returned value is guaranteed to be a valid parent path, i.e. a valid child path can be made using parent.base() + child_name. </p>

<p>References <a class="el" href="classRaul_1_1Path.html#af8c11bcf9033eaab59843d8a16146084">base()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="Path_8hpp_source.html">Path.hpp</a></li>
<li>Path.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Oct 6 2010 for RAUL by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>