Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Side by Side Diff: mojo/edk/system/channel_endpoint_id.h

Issue 1160203002: Make Dispatcher::Type an enum class. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 MOJO_EDK_SYSTEM_CHANNEL_ENDPOINT_ID_H_ 5 #ifndef MOJO_EDK_SYSTEM_CHANNEL_ENDPOINT_ID_H_
6 #define MOJO_EDK_SYSTEM_CHANNEL_ENDPOINT_ID_H_ 6 #define MOJO_EDK_SYSTEM_CHANNEL_ENDPOINT_ID_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 74
75 // Copying and assignment allowed. 75 // Copying and assignment allowed.
76 }; 76 };
77 // This wrapper should add no overhead. 77 // This wrapper should add no overhead.
78 // TODO(vtl): Rewrite |sizeof(uint32_t)| as |sizeof(ChannelEndpointId::value)| 78 // TODO(vtl): Rewrite |sizeof(uint32_t)| as |sizeof(ChannelEndpointId::value)|
79 // once we have sufficient C++11 support. 79 // once we have sufficient C++11 support.
80 static_assert(sizeof(ChannelEndpointId) == sizeof(uint32_t), 80 static_assert(sizeof(ChannelEndpointId) == sizeof(uint32_t),
81 "ChannelEndpointId has incorrect size"); 81 "ChannelEndpointId has incorrect size");
82 82
83 // So logging macros and |DCHECK_EQ()|, etc. work. 83 // So logging macros and |DCHECK_EQ()|, etc. work.
84 inline std::ostream& operator<<(std::ostream& out, 84 MOJO_SYSTEM_IMPL_EXPORT inline std::ostream& operator<<(
85 const ChannelEndpointId& channel_endpoint_id) { 85 std::ostream& out,
86 const ChannelEndpointId& channel_endpoint_id) {
86 return out << channel_endpoint_id.value(); 87 return out << channel_endpoint_id.value();
87 } 88 }
88 89
89 // LocalChannelEndpointIdGenerator --------------------------------------------- 90 // LocalChannelEndpointIdGenerator ---------------------------------------------
90 91
91 // A generator for "new" local |ChannelEndpointId|s. It does not track 92 // A generator for "new" local |ChannelEndpointId|s. It does not track
92 // used/existing IDs; that must be done separately. (This class is not 93 // used/existing IDs; that must be done separately. (This class is not
93 // thread-safe.) 94 // thread-safe.)
94 class MOJO_SYSTEM_IMPL_EXPORT LocalChannelEndpointIdGenerator { 95 class MOJO_SYSTEM_IMPL_EXPORT LocalChannelEndpointIdGenerator {
95 public: 96 public:
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 template <> 139 template <>
139 struct hash<mojo::system::ChannelEndpointId> { 140 struct hash<mojo::system::ChannelEndpointId> {
140 size_t operator()(mojo::system::ChannelEndpointId channel_endpoint_id) const { 141 size_t operator()(mojo::system::ChannelEndpointId channel_endpoint_id) const {
141 return static_cast<size_t>(channel_endpoint_id.value()); 142 return static_cast<size_t>(channel_endpoint_id.value());
142 } 143 }
143 }; 144 };
144 145
145 } // namespace BASE_HASH_NAMESPACE 146 } // namespace BASE_HASH_NAMESPACE
146 147
147 #endif // MOJO_EDK_SYSTEM_CHANNEL_ENDPOINT_ID_H_ 148 #endif // MOJO_EDK_SYSTEM_CHANNEL_ENDPOINT_ID_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698