Commit 567ebd05 by Abseil Team Committed by Copybara-Service

Add ABSL_INTERNAL_ATTRIBUTE_VIEW and ABSL_INTERNAL_ATTRIBUTE_OWNER attributes to types in Abseil

PiperOrigin-RevId: 642619703
Change-Id: I8d2e423a3c7f40709d0e8c82cac0395c75d601cf
parent a0889af0
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
#ifndef ABSL_CONTAINER_BTREE_SET_H_ #ifndef ABSL_CONTAINER_BTREE_SET_H_
#define ABSL_CONTAINER_BTREE_SET_H_ #define ABSL_CONTAINER_BTREE_SET_H_
#include "absl/base/attributes.h"
#include "absl/container/internal/btree.h" // IWYU pragma: export #include "absl/container/internal/btree.h" // IWYU pragma: export
#include "absl/container/internal/btree_container.h" // IWYU pragma: export #include "absl/container/internal/btree_container.h" // IWYU pragma: export
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include <utility> #include <utility>
#include "absl/algorithm/container.h" #include "absl/algorithm/container.h"
#include "absl/base/attributes.h"
#include "absl/base/macros.h" #include "absl/base/macros.h"
#include "absl/container/hash_container_defaults.h" #include "absl/container/hash_container_defaults.h"
#include "absl/container/internal/container_memory.h" #include "absl/container/internal/container_memory.h"
...@@ -121,9 +122,10 @@ struct FlatHashMapPolicy; ...@@ -121,9 +122,10 @@ struct FlatHashMapPolicy;
template <class K, class V, class Hash = DefaultHashContainerHash<K>, template <class K, class V, class Hash = DefaultHashContainerHash<K>,
class Eq = DefaultHashContainerEq<K>, class Eq = DefaultHashContainerEq<K>,
class Allocator = std::allocator<std::pair<const K, V>>> class Allocator = std::allocator<std::pair<const K, V>>>
class flat_hash_map : public absl::container_internal::raw_hash_map< class ABSL_INTERNAL_ATTRIBUTE_OWNER flat_hash_map
absl::container_internal::FlatHashMapPolicy<K, V>, : public absl::container_internal::raw_hash_map<
Hash, Eq, Allocator> { absl::container_internal::FlatHashMapPolicy<K, V>, Hash, Eq,
Allocator> {
using Base = typename flat_hash_map::raw_hash_map; using Base = typename flat_hash_map::raw_hash_map;
public: public:
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include <utility> #include <utility>
#include "absl/algorithm/container.h" #include "absl/algorithm/container.h"
#include "absl/base/attributes.h"
#include "absl/base/macros.h" #include "absl/base/macros.h"
#include "absl/container/hash_container_defaults.h" #include "absl/container/hash_container_defaults.h"
#include "absl/container/internal/container_memory.h" #include "absl/container/internal/container_memory.h"
...@@ -117,7 +118,7 @@ struct FlatHashSetPolicy; ...@@ -117,7 +118,7 @@ struct FlatHashSetPolicy;
template <class T, class Hash = DefaultHashContainerHash<T>, template <class T, class Hash = DefaultHashContainerHash<T>,
class Eq = DefaultHashContainerEq<T>, class Eq = DefaultHashContainerEq<T>,
class Allocator = std::allocator<T>> class Allocator = std::allocator<T>>
class flat_hash_set class ABSL_INTERNAL_ATTRIBUTE_OWNER flat_hash_set
: public absl::container_internal::raw_hash_set< : public absl::container_internal::raw_hash_set<
absl::container_internal::FlatHashSetPolicy<T>, Hash, Eq, Allocator> { absl::container_internal::FlatHashSetPolicy<T>, Hash, Eq, Allocator> {
using Base = typename flat_hash_set::raw_hash_set; using Base = typename flat_hash_set::raw_hash_set;
......
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
#include <utility> #include <utility>
#include "absl/algorithm/container.h" #include "absl/algorithm/container.h"
#include "absl/base/attributes.h"
#include "absl/container/hash_container_defaults.h" #include "absl/container/hash_container_defaults.h"
#include "absl/container/internal/container_memory.h" #include "absl/container/internal/container_memory.h"
#include "absl/container/internal/node_slot_policy.h" #include "absl/container/internal/node_slot_policy.h"
...@@ -116,7 +117,7 @@ class NodeHashMapPolicy; ...@@ -116,7 +117,7 @@ class NodeHashMapPolicy;
template <class Key, class Value, class Hash = DefaultHashContainerHash<Key>, template <class Key, class Value, class Hash = DefaultHashContainerHash<Key>,
class Eq = DefaultHashContainerEq<Key>, class Eq = DefaultHashContainerEq<Key>,
class Alloc = std::allocator<std::pair<const Key, Value>>> class Alloc = std::allocator<std::pair<const Key, Value>>>
class node_hash_map class ABSL_INTERNAL_ATTRIBUTE_OWNER node_hash_map
: public absl::container_internal::raw_hash_map< : public absl::container_internal::raw_hash_map<
absl::container_internal::NodeHashMapPolicy<Key, Value>, Hash, Eq, absl::container_internal::NodeHashMapPolicy<Key, Value>, Hash, Eq,
Alloc> { Alloc> {
......
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
#include <type_traits> #include <type_traits>
#include "absl/algorithm/container.h" #include "absl/algorithm/container.h"
#include "absl/base/attributes.h"
#include "absl/container/hash_container_defaults.h" #include "absl/container/hash_container_defaults.h"
#include "absl/container/internal/container_memory.h" #include "absl/container/internal/container_memory.h"
#include "absl/container/internal/node_slot_policy.h" #include "absl/container/internal/node_slot_policy.h"
...@@ -111,7 +112,7 @@ struct NodeHashSetPolicy; ...@@ -111,7 +112,7 @@ struct NodeHashSetPolicy;
// } // }
template <class T, class Hash = DefaultHashContainerHash<T>, template <class T, class Hash = DefaultHashContainerHash<T>,
class Eq = DefaultHashContainerEq<T>, class Alloc = std::allocator<T>> class Eq = DefaultHashContainerEq<T>, class Alloc = std::allocator<T>>
class node_hash_set class ABSL_INTERNAL_ATTRIBUTE_OWNER node_hash_set
: public absl::container_internal::raw_hash_set< : public absl::container_internal::raw_hash_set<
absl::container_internal::NodeHashSetPolicy<T>, Hash, Eq, Alloc> { absl::container_internal::NodeHashSetPolicy<T>, Hash, Eq, Alloc> {
using Base = typename node_hash_set::raw_hash_set; using Base = typename node_hash_set::raw_hash_set;
......
...@@ -159,7 +159,7 @@ ABSL_NAMESPACE_BEGIN ...@@ -159,7 +159,7 @@ ABSL_NAMESPACE_BEGIN
// //
// absl::string_view() == absl::string_view("", 0) // absl::string_view() == absl::string_view("", 0)
// absl::string_view(nullptr, 0) == absl::string_view("abcdef"+6, 0) // absl::string_view(nullptr, 0) == absl::string_view("abcdef"+6, 0)
class string_view { class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
public: public:
using traits_type = std::char_traits<char>; using traits_type = std::char_traits<char>;
using value_type = char; using value_type = char;
......
...@@ -151,7 +151,7 @@ ABSL_NAMESPACE_BEGIN ...@@ -151,7 +151,7 @@ ABSL_NAMESPACE_BEGIN
// int* my_array = new int[10]; // int* my_array = new int[10];
// MyRoutine(absl::Span<const int>(my_array, 10)); // MyRoutine(absl::Span<const int>(my_array, 10));
template <typename T> template <typename T>
class Span { class ABSL_INTERNAL_ATTRIBUTE_VIEW Span {
private: private:
// Used to determine whether a Span can be constructed from a container of // Used to determine whether a Span can be constructed from a container of
// type C. // type C.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment