1 // Copyright 2023 The Chromium Authors 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 BASE_MEMORY_SAFE_REF_TRAITS_H_ 6 #define BASE_MEMORY_SAFE_REF_TRAITS_H_ 7 8 namespace base { 9 10 enum class SafeRefTraits : unsigned { 11 kEmpty, 12 kDanglingUntriaged, 13 }; 14 inline constexpr SafeRefTraits SafeRefDanglingUntriaged = 15 SafeRefTraits::kDanglingUntriaged; 16 17 template <typename T, SafeRefTraits Traits = SafeRefTraits::kEmpty> 18 class SafeRef; 19 20 } // namespace base 21 22 #endif // BASE_MEMORY_SAFE_REF_TRAITS_H_ 23