Subversion
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
svnxx
detail
noncopyable.hpp
Go to the documentation of this file.
1
/**
2
* @file svnxx/detail/noncopyable.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_DETAIL_NONCOPYABLE_HPP
26
#define SVNXX_DETAIL_NONCOPYABLE_HPP
27
28
namespace
apache {
29
namespace
subversion {
30
namespace
svnxx {
31
namespace
detail {
32
33
namespace
noncopyable_ {
34
/**
35
* @ingroup svnxx_detail
36
* @brief Base class for non-copyable objects.
37
*
38
* Objects of classes derived from @c noncopyable cannot be copied,
39
* but can used as rvalue references and with <tt>std::move</tt>.
40
*
41
* @note Use @e private inheritance to avoid polymorphism traps!
42
*/
43
class
noncopyable
44
{
45
protected
:
46
constexpr
noncopyable
() =
default
;
47
~
noncopyable
() =
default
;
48
private
:
49
noncopyable
(
const
noncopyable
&) =
delete
;
50
noncopyable
& operator=(
const
noncopyable
&) =
delete
;
51
};
52
}
// namespace noncopyable_
53
54
using
noncopyable
=
noncopyable_::noncopyable
;
55
56
}
// namespace detail
57
}
// namespace svnxx
58
}
// namespace subversion
59
}
// namespace apache
60
61
#endif // SVNXX_DETAIL_NONCOPYABLE_HPP
apache::subversion::svnxx::detail::noncopyable_::noncopyable
Base class for non-copyable objects.
Definition:
noncopyable.hpp:43
Generated by
1.8.5