TARAXA
default_construct_copyable_movable.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <utility>
4 
5 // A wrapper for noncopyable/nonmovable types that resorts to default-constructing in copy/move constructors
6 // and immutability in assignment operators
7 // This basically captures a common work-around pattern for classes that contain fields of this kind of types
8 // - a famous example would be a mutex type
9 
10 namespace taraxa::util {
11 
12 template <typename T>
14  T val;
15 
18 
22 
25 };
26 
27 } // namespace taraxa::util
std::hash for asio::adress
Definition: FixedHash.h:483
Definition: default_construct_copyable_movable.hpp:10
Definition: default_construct_copyable_movable.hpp:13
DefaultConstructCopyableMovable(DefaultConstructCopyableMovable &&) noexcept(noexcept(T()))
Definition: default_construct_copyable_movable.hpp:21
DefaultConstructCopyableMovable(const DefaultConstructCopyableMovable &) noexcept(noexcept(T()))
Definition: default_construct_copyable_movable.hpp:20
DefaultConstructCopyableMovable(T val)
Definition: default_construct_copyable_movable.hpp:19
DefaultConstructCopyableMovable & operator=(DefaultConstructCopyableMovable &&) noexcept
Definition: default_construct_copyable_movable.hpp:24
DefaultConstructCopyableMovable & operator=(const DefaultConstructCopyableMovable &) noexcept
Definition: default_construct_copyable_movable.hpp:23
T val
Definition: default_construct_copyable_movable.hpp:14