CARMA C++
HierarchicalNames.h
1 #ifndef CARMA_UTIL_HIERARCHICAL_NAMES_H
2 #define CARMA_UTIL_HIERARCHICAL_NAMES_H
3 
4 #include <string>
5 #include <vector>
6 
7 namespace carma {
8 namespace util {
9 
10 enum {
11  HIERARCHICAL_NAME_ALLOW_WHITESPACE_IN_COMPONENTS_OPTION = 1,
12  HIERARCHICAL_NAME_ALLOW_CONTROL_CHARACTERS_IN_COMPONENTS_OPTION = 2,
13  HIERARCHICAL_NAME_ALLOW_EMPTY_COMPONENTS_OPTION = 4,
14 };
15 
16 std::vector< std::string >
17 DecomposeHierarchicalName( const std::string & hierarchicalName,
18  int options = 0,
19  char separator = '.' );
20 
21 std::string
22 ComposeHierarchicalName( const std::vector< std::string > & components,
23  int options = 0,
24  char separator = '.' );
25 
26 } // namespace carma::util
27 } // namespace carma
28 
29 #endif
30