From 6940dd720ebb6b3d1df8ca203ab696daefe58189 Mon Sep 17 00:00:00 2001 From: Jim Flynn Date: Fri, 20 Mar 2020 12:25:56 +0000 Subject: renamed Documentation folder 20.02 and added .nojekyll file Signed-off-by: Jim Flynn --- 20.02/_leak_checking_8hpp_source.xhtml | 114 +++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 20.02/_leak_checking_8hpp_source.xhtml (limited to '20.02/_leak_checking_8hpp_source.xhtml') diff --git a/20.02/_leak_checking_8hpp_source.xhtml b/20.02/_leak_checking_8hpp_source.xhtml new file mode 100644 index 0000000000..fc9d1e17fc --- /dev/null +++ b/20.02/_leak_checking_8hpp_source.xhtml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + +ArmNN: src/armnnUtils/LeakChecking.hpp Source File + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  20.02 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
LeakChecking.hpp
+
+
+Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
7 #ifdef ARMNN_LEAK_CHECKING_ENABLED
8 
9 #include <string>
10 #include <cstddef>
11 #include <memory>
12 
13 namespace armnnUtils
14 {
15 
16 class ScopedLeakChecker final
17 {
18 public:
19  ScopedLeakChecker(const std::string & name);
20  ~ScopedLeakChecker();
21 
22  // Forwarding these to Google Performance Tools.
23  static bool IsActive();
24  bool NoLeaks();
25  // Note that the following two functions only work after
26  // NoLeaks() has been called. See explanations in
27  // heap-checker.h
28  ssize_t BytesLeaked() const;
29  ssize_t ObjectsLeaked() const;
30 
31 private:
32  // Hides imlementation so we don't litter other's namespaces
33  // with heap checker related stuff.
34  struct Impl;
35  std::unique_ptr<Impl> m_Impl;
36 
37  // No default construction and copying.
38  ScopedLeakChecker() = delete;
39  ScopedLeakChecker(const ScopedLeakChecker &) = delete;
40  ScopedLeakChecker & operator=(const ScopedLeakChecker &) = delete;
41 };
42 
43 class ScopedDisableLeakChecking final
44 {
45 public:
46  ScopedDisableLeakChecking();
47  ~ScopedDisableLeakChecking();
48 
49 private:
50  // Hides imlementation so we don't litter other's namespaces
51  // with heap checker related stuff.
52  struct Impl;
53  std::unique_ptr<Impl> m_Impl;
54 
55  // No copying.
56  ScopedDisableLeakChecking(const ScopedDisableLeakChecking &) = delete;
57  ScopedDisableLeakChecking & operator=(const ScopedDisableLeakChecking &) = delete;
58 };
59 
60 // disable global leak checks starting from 'main'
61 void LocalLeakCheckingOnly();
62 
63 } // namespace armnnUtils
64 
65 #define ARMNN_SCOPED_LEAK_CHECKER(TAG) \
66  armnnUtils::ScopedLeakChecker __scoped_armnn_leak_checker__(TAG)
67 
68 #define ARMNN_LEAK_CHECKER_IS_ACTIVE() \
69  armnnUtils::ScopedLeakChecker::IsActive()
70 
71 #define ARMNN_NO_LEAKS_IN_SCOPE() \
72  __scoped_armnn_leak_checker__.NoLeaks()
73 
74 #define ARMNN_BYTES_LEAKED_IN_SCOPE() \
75  __scoped_armnn_leak_checker__.BytesLeaked()
76 
77 #define ARMNN_OBJECTS_LEAKED_IN_SCOPE() \
78  __scoped_armnn_leak_checker__.ObjectsLeaked()
79 
80 #define ARMNN_DISABLE_LEAK_CHECKING_IN_SCOPE() \
81  armnnUtils::ScopedDisableLeakChecking __disable_leak_checking_in_scope__
82 
83 #define ARMNN_LOCAL_LEAK_CHECKING_ONLY() \
84  armnnUtils::LocalLeakCheckingOnly()
85 
86 #else // ARMNN_LEAK_CHECKING_ENABLED
87 
88 #define ARMNN_SCOPED_LEAK_CHECKER(TAG)
89 #define ARMNN_LEAK_CHECKER_IS_ACTIVE() false
90 #define ARMNN_NO_LEAKS_IN_SCOPE() true
91 #define ARMNN_BYTES_LEAKED_IN_SCOPE() 0
92 #define ARMNN_OBJECTS_LEAKED_IN_SCOPE() 0
93 #define ARMNN_DISABLE_LEAK_CHECKING_IN_SCOPE()
94 #define ARMNN_LOCAL_LEAK_CHECKING_ONLY()
95 
96 #endif // ARMNN_LEAK_CHECKING_ENABLED
+
+
+ + + + -- cgit v1.2.1