Main Page | Namespace List | Class Hierarchy | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals | Related Pages

path.hpp

Go to the documentation of this file.
00001 /*
00002  * ====================================================================
00003  * Copyright (c) 2002-2004 The RapidSvn Group.  All rights reserved.
00004  *
00005  * This software is licensed as described in the file LICENSE.txt,
00006  * which you should have received as part of this distribution.
00007  *
00008  * This software consists of voluntary contributions made by many
00009  * individuals.  For exact contribution history, see the revision
00010  * history and logs, available at http://rapidsvn.tigris.org/.
00011  * ====================================================================
00012  */
00013 
00014 #ifndef _SVNCPP_PATH_HPP_
00015 #define _SVNCPP_PATH_HPP_
00016 
00017 // stl
00018 #include <string>
00019 
00020 
00021 namespace svn
00022 {
00026   class Path
00027   {
00028   private:
00029     std::string m_path;
00030 
00036     void init (const char * path);
00037 
00038   public:
00046     Path (const std::string & path = "");
00047     
00054     Path (const char * path);
00055 
00061     Path (const Path & path);
00062 
00066     Path& operator=(const Path&);
00067 
00071     const std::string &
00072     path () const;
00073 
00077     const char * 
00078     c_str() const;
00079 
00087     bool 
00088     isset() const;
00089 
00090 
00096     void
00097     addComponent (const char * component);
00098 
00099 
00105     void
00106     addComponent (const std::string & component);
00107 
00108 
00115     void
00116     split (std::string & dirpath, std::string & basename) const;
00117 
00118 
00127     void
00128     split (std::string & dir, std::string & filename, std::string & ext) const;
00129 
00130 
00134     static Path
00135     getTempDir ();
00136 
00137 
00139     size_t 
00140     length () const;
00141 
00142 
00144     std::string
00145     native () const;
00146   };
00147 }
00148 
00149 #endif
00150 /* -----------------------------------------------------------------
00151  * local variables:
00152  * eval: (load-file "../../rapidsvn-dev.el")
00153  * end:
00154  */

Generated on Thu Sep 15 21:26:13 2005 for SvnCpp by  doxygen 1.4.4