Subversion
depth.hpp
Go to the documentation of this file.
1 /**
2  * @file svnxx/depth.hpp
3  * @copyright
4  * ====================================================================
5  * Licensed to the Apache Software Foundation (ASF) under one
6  * or more contributor license agreements. See the NOTICE file
7  * distributed with this work for additional information
8  * regarding copyright ownership. The ASF licenses this file
9  * to you under the Apache License, Version 2.0 (the
10  * "License"); you may not use this file except in compliance
11  * with the License. You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing,
16  * software distributed under the License is distributed on an
17  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18  * KIND, either express or implied. See the License for the
19  * specific language governing permissions and limitations
20  * under the License.
21  * ====================================================================
22  * @endcopyright
23  */
24 
25 #ifndef SVNXX_DEPTH_HPP
26 #define SVNXX_DEPTH_HPP
27 
28 #include "svn_types_impl.h"
29 
30 #include <cstdint>
31 #include <string>
32 
33 namespace apache {
34 namespace subversion {
35 namespace svnxx {
36 
37 /**
38  * @brief The concept of depth for directories (see @ref svn_depth_t).
39  */
40 // NOTE: Keep these values identical to those in svn_depth_t!
41 enum class depth : std::int8_t
42  {
43  unknown = svn_depth_unknown,
44  exclude = svn_depth_exclude,
45  empty = svn_depth_empty,
46  files = svn_depth_files,
47  immediates = svn_depth_immediates,
48  infinity = svn_depth_infinity,
49  };
50 
51 /**
52  * @brief Converts a depth constant to its string representation.
53  * @see svn_depth_to_word()
54  */
55 std::string to_string(depth);
56 
57 /**
58  * @brief Converts a depth constant to its wide-string representation.
59  * @see svn_depth_to_word()
60  */
61 std::wstring to_wstring(depth);
62 
63 /**
64  * @brief Converts a depth constant to its UTF-16 string representation.
65  * @see svn_depth_to_word()
66  */
67 std::u16string to_u16string(depth);
68 
69 /**
70  * @brief Converts a depth constant to its UTF-32 string representation.
71  * @see svn_depth_to_word()
72  */
73 std::u32string to_u32string(depth);
74 
75 } // namespace svnxx
76 } // namespace subversion
77 } // namespace apache
78 
79 #endif // SVNXX_DEPTH_HPP
svn_types_impl.h
Subversion's data types (common implementation)
svn_depth_unknown
@ svn_depth_unknown
Depth undetermined or ignored.
Definition: svn_types_impl.h:119
svn_depth_empty
@ svn_depth_empty
Just the named directory D, no entries.
Definition: svn_types_impl.h:134
svn_depth_files
@ svn_depth_files
D + its file children, but not subdirs.
Definition: svn_types_impl.h:138
svn_depth_immediates
@ svn_depth_immediates
D + immediate children (D and its entries).
Definition: svn_types_impl.h:143
svn_depth_exclude
@ svn_depth_exclude
Exclude (i.e., don't descend into) directory D.
Definition: svn_types_impl.h:130
apache::subversion::svnxx::depth
depth
The concept of depth for directories (see svn_depth_t).
Definition: depth.hpp:41
svn_depth_infinity
@ svn_depth_infinity
D + all descendants (full recursion from D).
Definition: svn_types_impl.h:149