Choreonoid  1.5
ItemPath.h
Go to the documentation of this file.
1 
5 #ifndef CNOID_BASE_ITEM_PATH_H
6 #define CNOID_BASE_ITEM_PATH_H
7 
8 #include <string>
9 #include <boost/tokenizer.hpp>
10 #include "exportdecl.h"
11 
12 namespace cnoid {
13 
15 {
16  typedef boost::escaped_list_separator<char> Separator;
17  typedef boost::tokenizer<Separator> Tokenizer;
18 
19 public:
20  typedef Tokenizer::iterator iterator;
21  typedef iterator Iterator;
22 
23  ItemPath(const std::string& path);
24 
25  inline bool isAbsolute() { return isAbsolute_; }
26  inline bool isRelative() { return !isAbsolute_; }
27 
28  inline iterator begin() { return pathBegin; }
29  inline iterator end() { return pathEnd; }
30 
31  std::string folder();
32  inline std::string leaf() { return *pathLeaf; }
33 
34 private:
35  std::string path;
36 
37  Tokenizer::iterator pathBegin;
38  Tokenizer::iterator pathLeaf;
39  Tokenizer::iterator pathEnd;
40 
41  bool isAbsolute_;
42 };
43 
44 }
45 
46 #endif
Tokenizer::iterator iterator
Definition: ItemPath.h:20
std::string leaf()
Definition: ItemPath.h:32
iterator end()
Definition: ItemPath.h:29
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
bool isAbsolute()
Definition: ItemPath.h:25
bool isRelative()
Definition: ItemPath.h:26
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
Definition: ItemPath.h:14
iterator Iterator
Definition: ItemPath.h:21
iterator begin()
Definition: ItemPath.h:28