OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CC_SURFACES_SURFACE_ID_H_ | 5 #ifndef CC_SURFACES_SURFACE_ID_H_ |
6 #define CC_SURFACES_SURFACE_ID_H_ | 6 #define CC_SURFACES_SURFACE_ID_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <iosfwd> | 10 #include <iosfwd> |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 bool operator!=(const SurfaceId& other) const { return !(*this == other); } | 61 bool operator!=(const SurfaceId& other) const { return !(*this == other); } |
62 | 62 |
63 bool operator<(const SurfaceId& other) const { | 63 bool operator<(const SurfaceId& other) const { |
64 return std::tie(frame_sink_id_, local_surface_id_) < | 64 return std::tie(frame_sink_id_, local_surface_id_) < |
65 std::tie(other.frame_sink_id_, other.local_surface_id_); | 65 std::tie(other.frame_sink_id_, other.local_surface_id_); |
66 } | 66 } |
67 | 67 |
68 private: | 68 private: |
69 friend struct mojo::StructTraits<mojom::SurfaceIdDataView, SurfaceId>; | 69 friend struct mojo::StructTraits<mojom::SurfaceIdDataView, SurfaceId>; |
70 | 70 |
71 // See SurfaceIdAllocator::GenerateId. | |
72 FrameSinkId frame_sink_id_; | 71 FrameSinkId frame_sink_id_; |
73 LocalSurfaceId local_surface_id_; | 72 LocalSurfaceId local_surface_id_; |
74 }; | 73 }; |
75 | 74 |
76 std::ostream& operator<<(std::ostream& out, const SurfaceId& surface_id); | 75 std::ostream& operator<<(std::ostream& out, const SurfaceId& surface_id); |
77 | 76 |
78 struct SurfaceIdHash { | 77 struct SurfaceIdHash { |
79 size_t operator()(const SurfaceId& key) const { return key.hash(); } | 78 size_t operator()(const SurfaceId& key) const { return key.hash(); } |
80 }; | 79 }; |
81 | 80 |
82 } // namespace cc | 81 } // namespace cc |
83 | 82 |
84 #endif // CC_SURFACES_SURFACE_ID_H_ | 83 #endif // CC_SURFACES_SURFACE_ID_H_ |
OLD | NEW |