Sequoia
Loading...
Searching...
No Matches
MoveOnlyAllocationTestDiagnostics.hpp
Go to the documentation of this file.
1
2// Copyright Oliver J. Rosten 2020. //
3// Distributed under the GNU GENERAL PUBLIC LICENSE, Version 3.0. //
4// (See accompanying file LICENSE.md or copy at //
5// https://www.gnu.org/licenses/gpl-3.0.en.html) //
7
8#pragma once
9
13
14namespace sequoia::testing
15{
18 {
19 public:
20 using move_only_allocation_false_negative_test::move_only_allocation_false_negative_test;
21
22 [[nodiscard]]
23 std::filesystem::path source_file() const;
24
25 template<bool PropagateMove, bool PropagateSwap>
26 void test_allocation();
27
28 void run_tests();
29 private:
30
31 template<bool PropagateMove, bool PropagateSwap>
32 void test_move_only_semantics_allocations();
33 };
34
37 {
38 public:
39 using move_only_allocation_false_positive_test::move_only_allocation_false_positive_test;
40
41 [[nodiscard]]
42 std::filesystem::path source_file() const;
43
44 template<bool PropagateMove, bool PropagateSwap>
45 void test_allocation();
46
47 void run_tests();
48 private:
49
50 template<bool PropagateMove, bool PropagateSwap>
51 void test_move_only_semantics_allocations();
52 };
53}
Extension for checking allocations for types with move-only semantics.
Templated on the test_mode, this forms the basis of all allocation tests for move-only types.
Definition: MoveOnlyAllocationTestCore.hpp:273
Definition: MoveOnlyAllocationTestDiagnostics.hpp:18
Definition: MoveOnlyAllocationTestDiagnostics.hpp:37