1 | // Copyright 2013 The Flutter Authors. All rights reserved. |
2 | // Use of this source code is governed by a BSD-style license that can be |
3 | // found in the LICENSE file. |
4 | |
5 | #ifndef FLUTTER_FML_MACROS_H_ |
6 | #define FLUTTER_FML_MACROS_H_ |
7 | |
8 | #ifndef FML_USED_ON_EMBEDDER |
9 | |
10 | #define FML_EMBEDDER_ONLY [[deprecated]] |
11 | |
12 | #else // FML_USED_ON_EMBEDDER |
13 | |
14 | #define FML_EMBEDDER_ONLY |
15 | |
16 | #endif // FML_USED_ON_EMBEDDER |
17 | |
18 | #define FML_DISALLOW_COPY(TypeName) TypeName(const TypeName&) = delete |
19 | |
20 | #define FML_DISALLOW_ASSIGN(TypeName) \ |
21 | TypeName& operator=(const TypeName&) = delete |
22 | |
23 | #define FML_DISALLOW_MOVE(TypeName) \ |
24 | TypeName(TypeName&&) = delete; \ |
25 | TypeName& operator=(TypeName&&) = delete |
26 | |
27 | #define FML_DISALLOW_COPY_AND_ASSIGN(TypeName) \ |
28 | TypeName(const TypeName&) = delete; \ |
29 | TypeName& operator=(const TypeName&) = delete |
30 | |
31 | #define FML_DISALLOW_COPY_ASSIGN_AND_MOVE(TypeName) \ |
32 | TypeName(const TypeName&) = delete; \ |
33 | TypeName(TypeName&&) = delete; \ |
34 | TypeName& operator=(const TypeName&) = delete; \ |
35 | TypeName& operator=(TypeName&&) = delete |
36 | |
37 | #define FML_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \ |
38 | TypeName() = delete; \ |
39 | FML_DISALLOW_COPY_ASSIGN_AND_MOVE(TypeName) |
40 | |
41 | #define FML_FRIEND_TEST(test_case_name, test_name) \ |
42 | friend class test_case_name##_##test_name##_Test |
43 | |
44 | #endif // FLUTTER_FML_MACROS_H_ |
45 | |