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
33namespace apache {
34namespace subversion {
35namespace 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!
41enum 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 */
55std::string to_string(depth);
56
57/**
58 * @brief Converts a depth constant to its wide-string representation.
59 * @see svn_depth_to_word()
60 */
61std::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 */
67std::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 */
73std::u32string to_u32string(depth);
74
75} // namespace svnxx
76} // namespace subversion
77} // namespace apache
78
79#endif // SVNXX_DEPTH_HPP
depth
The concept of depth for directories (see svn_depth_t).
Definition: depth.hpp:42
std::u32string to_u32string(depth)
Converts a depth constant to its UTF-32 string representation.
std::u16string to_u16string(depth)
Converts a depth constant to its UTF-16 string representation.
std::string to_string(depth)
Converts a depth constant to its string representation.
std::wstring to_wstring(depth)
Converts a depth constant to its wide-string representation.
Subversion's data types (common implementation)
@ svn_depth_files
D + its file children, but not subdirs.
@ svn_depth_exclude
Exclude (i.e., don't descend into) directory D.
@ svn_depth_immediates
D + immediate children (D and its entries).
@ svn_depth_empty
Just the named directory D, no entries.
@ svn_depth_infinity
D + all descendants (full recursion from D).
@ svn_depth_unknown
Depth undetermined or ignored.