<!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 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 List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class 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> | <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 <<a class="el" href="Path_8hpp_source.html">Path.hpp</a>></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-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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#ad69dae35fcdefe7278edca40c7e65536">Path</a> ()</td></tr> <tr><td class="mdescLeft"> </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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a58d6cdd1c4ce8eca4e6d790f22f9690e">Path</a> (const std::basic_string< char > &path)</td></tr> <tr><td class="mdescLeft"> </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"> </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"> </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"> </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> &copy)</td></tr> <tr><td class="mdescLeft"> </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 </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 &parent) const " --> bool </td><td class="memItemRight" valign="bottom"><b>is_child_of</b> (const <a class="el" href="classRaul_1_1Path.html">Path</a> &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 &child) const " --> bool </td><td class="memItemRight" valign="bottom"><b>is_parent_of</b> (const <a class="el" href="classRaul_1_1Path.html">Path</a> &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 &s) const " --> <a class="el" href="classRaul_1_1Path.html">Path</a> </td><td class="memItemRight" valign="bottom"><b>child</b> (const std::string &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 &p) const " --> <a class="el" href="classRaul_1_1Path.html">Path</a> </td><td class="memItemRight" valign="bottom"><b>child</b> (const <a class="el" href="classRaul_1_1Path.html">Path</a> &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 &p) const " --> <a class="el" href="classRaul_1_1Path.html">Path</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (const <a class="el" href="classRaul_1_1Path.html">Path</a> &p) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#aea7d19e02e65bb2d26008477fa6198b8">symbol</a> () const </td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a12fae32068c6164c4a2b37f9b144f28b">parent</a> () const </td></tr> <tr><td class="mdescLeft"> </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 &symbol) const " --> <a class="el" href="classRaul_1_1Path.html">Path</a> </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> &symbol) const </td></tr> <tr><td class="mdescLeft"> </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 &base) const " --> <a class="el" href="classRaul_1_1Path.html">Path</a> </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> &base) const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#af8c11bcf9033eaab59843d8a16146084">base</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </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"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#ac4a4e06be4318672ff9238fdf824a2b9">root</a> ()</td></tr> <tr><td class="mdescLeft"> </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 </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> &uri)</td></tr> <tr><td class="mdescLeft"> </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 &uri)" --> static bool </td><td class="memItemRight" valign="bottom"><b>is_path</b> (const <a class="el" href="classRaul_1_1URI.html">Raul::URI</a> &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< char > &path)" --> static bool </td><td class="memItemRight" valign="bottom"><b>is_valid</b> (const std::basic_string< char > &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< char > &name)" --> static bool </td><td class="memItemRight" valign="bottom"><b>is_valid_name</b> (const std::basic_string< char > &name)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a897a6299821f2db5a4d7f08db12fc74f">pathify</a> (const std::basic_string< char > &str)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#a82d234fd91e09ae19a1b31940ec06263">nameify</a> (const std::basic_string< char > &str)</td></tr> <tr><td class="mdescLeft"> </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 &str, size_t start, bool replace_slash=false)" --> static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1Path.html#ad1ffe394b2a4cb2c065a4cd50d55f63b">replace_invalid_chars</a> (std::string &str, size_t start, bool replace_slash=false)</td></tr> <tr><td class="mdescLeft"> </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 &parent, const Path &child)" --> static bool </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> &parent, const <a class="el" href="classRaul_1_1Path.html">Path</a> &child)</td></tr> <tr><td class="mdescLeft"> </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 & 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> ) </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< char > &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< char > & </td> <td class="paramname"> <em>path</em></td> <td> ) </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 * </td> <td class="paramname"> <em>cpath</em></td> <td> ) </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 &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> & </td> <td class="paramname"> <em>copy</em></td> <td> ) </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> ) </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 &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> & </td> <td class="paramname"> <em>uri</em></td> <td> ) </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< char > &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< char > & </td> <td class="paramname"> <em>str</em></td> <td> ) </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< char > &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< char > & </td> <td class="paramname"> <em>str</em></td> <td> ) </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> ) </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> ) </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> ) </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> ) </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 <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> </body> </html>