SWC-DB
v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
NotMovableSharedPtr.h
Go to the documentation of this file.
1
/*
2
* SWC-DB© Copyright since 2019 Alex Kashirin <kashirin.alex@gmail.com>
3
*/
4
5
#ifndef swcdb_core_NotMovableSharedPtr_h
6
#define swcdb_core_NotMovableSharedPtr_h
7
8
9
namespace
SWC
{
namespace
Core {
10
11
12
template
<
class
T>
13
class
NotMovableSharedPtr
:
public
std::shared_ptr<T> {
14
public
:
15
16
constexpr
SWC_CAN_INLINE
17
NotMovableSharedPtr
() noexcept { }
18
19
SWC_CAN_INLINE
20
NotMovableSharedPtr
(
T
* other) noexcept : std::shared_ptr<T>(other) { }
21
22
SWC_CAN_INLINE
23
NotMovableSharedPtr
(
const
std::shared_ptr<T>& other) noexcept
24
: std::shared_ptr<T>(other) {
25
}
26
27
NotMovableSharedPtr
(
const
NotMovableSharedPtr
&) noexcept =
default
;
28
29
NotMovableSharedPtr
(
NotMovableSharedPtr
&&) noexcept = delete;
30
NotMovableSharedPtr
<
T
>& operator=(
NotMovableSharedPtr
&&) noexcept = delete;
31
NotMovableSharedPtr
<
T
>& operator=(const
NotMovableSharedPtr
&) = delete;
32
33
NotMovableSharedPtr
(std::shared_ptr<
T
>&&) noexcept = delete;
34
NotMovableSharedPtr
<
T
>& operator=(std::shared_ptr<
T
>&&) noexcept = delete;
35
36
~
NotMovableSharedPtr
() noexcept { }
37
};
38
39
40
}}
41
42
#endif // swcdb_core_NotMovableSharedPtr_h
SWC::Core::NotMovableSharedPtr::NotMovableSharedPtr
SWC_CAN_INLINE NotMovableSharedPtr(const std::shared_ptr< T > &other) noexcept
Definition:
NotMovableSharedPtr.h:23
SWC::Core::NotMovableSharedPtr::NotMovableSharedPtr
constexpr SWC_CAN_INLINE NotMovableSharedPtr() noexcept
Definition:
NotMovableSharedPtr.h:17
SWC::Core::NotMovableSharedPtr::NotMovableSharedPtr
SWC_CAN_INLINE NotMovableSharedPtr(T *other) noexcept
Definition:
NotMovableSharedPtr.h:20
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition:
Compat.h:102
SWC
The SWC-DB C++ namespace 'SWC'.
Definition:
main.cc:12
SWC::Core::NotMovableSharedPtr::NotMovableSharedPtr
NotMovableSharedPtr(NotMovableSharedPtr &&) noexcept=delete
SWC::Core::NotMovableSharedPtr::NotMovableSharedPtr
NotMovableSharedPtr(const NotMovableSharedPtr &) noexcept=default
SWC::Core::NotMovableSharedPtr
Definition:
NotMovableSharedPtr.h:13
SWC::Config::T
const uint64_t T
Definition:
Property.h:27
include
swcdb
core
NotMovableSharedPtr.h
Generated on Sat Jun 3 2023 18:00:06 for SWC-DB by
1.8.20