Sequoia
Loading...
Searching...
No Matches
OrderableRegularAllocationTestDiagnostics.hpp
Go to the documentation of this file.
1
2// Copyright Oliver J. Rosten 2021. //
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{
17 {
18 public:
19 using regular_allocation_false_positive_test::regular_allocation_false_positive_test;
20
21 [[nodiscard]]
22 std::filesystem::path source_file() const;
23
24 template<bool PropagateCopy, bool PropagateMove, bool PropagateSwap>
25 void test_allocation();
26
27 void run_tests();
28 private:
29
30 template<bool PropagateCopy, bool PropagateMove, bool PropagateSwap>
31 void test_semantics_allocations();
32 };
33
35 {
36 public:
37 using regular_allocation_false_negative_test::regular_allocation_false_negative_test;
38
39 [[nodiscard]]
40 std::filesystem::path source_file() const;
41
42 template<bool PropagateCopy, bool PropagateMove, bool PropagateSwap>
43 void test_allocation();
44
45 void run_tests();
46 private:
47
48 template<bool PropagateCopy, bool PropagateMove, bool PropagateSwap>
49 void test_semantics_allocations();
50 };
51}
Extension for checking allocations for types with regular semantics, see here.
Templated on the test_mode, this forms the basis of all allocation tests for regular types.
Definition: RegularAllocationTestCore.hpp:104
Definition: OrderableRegularAllocationTestDiagnostics.hpp:35
Definition: OrderableRegularAllocationTestDiagnostics.hpp:17