cc_tools_qt
Common Environment for Protocol Analysis.
Loading...
Searching...
No Matches
lib
include
cc_tools_qt
details
ret_unique_ptr.h
1
//
2
// Copyright 2017 - 2024 (C). Alex Robenko. All rights reserved.
3
//
4
5
// This file is free software: you can redistribute it and/or modify
6
// it under the terms of the GNU General Public License as published by
7
// the Free Software Foundation, either version 3 of the License, or
8
// (at your option) any later version.
9
//
10
// This program is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
// GNU General Public License for more details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18
19
#pragma once
20
21
#if !defined(CC_MOVE_UNIQUE_PTR_ON_RETURN) && defined(__clang__)
22
#if (__clang_major__ < 4) && (__clang_minor__ <= 8)
23
#define CC_MOVE_UNIQUE_PTR_ON_RETURN
24
#endif
// #if (__clang_major__ < 4) && (__clang_minor__ <= 8)
25
#endif
// #if !defined(CC_MOVE_UNIQUE_PTR_ON_RETURN) && defined(__clang__)
26
27
28
#if !defined(CC_MOVE_UNIQUE_PTR_ON_RETURN) && !defined(__clang__) && defined(__GNUC__)
29
#if __GNUC__ < 5
30
#define CC_MOVE_UNIQUE_PTR_ON_RETURN
31
#endif
// #if __GNUC__ < 5
32
#endif
// #if !defined(CC_MOVE_UNIQUE_PTR_ON_RETURN) && !defined(__clang__) && defined(__GNUC__)
33
34
#ifdef CC_MOVE_UNIQUE_PTR_ON_RETURN
35
#define CC_RET_UNIQUE_PTR(p_) std::move(p_)
36
#else
// #ifdef CC_MOVE_UNIQUE_PTR_ON_RETURN
37
#define CC_RET_UNIQUE_PTR(p_) p_
38
#endif
// #ifdef CC_MOVE_UNIQUE_PTR_ON_RETURN
39
40
Generated by
1.9.8