1 // Copyright 2016 The Chromium Authors. All rights reserved. 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 MOJO_PUBLIC_CPP_BINDINGS_NATIVE_ENUM_H_ 6 #define MOJO_PUBLIC_CPP_BINDINGS_NATIVE_ENUM_H_ 7 8 #include <functional> 9 10 #include "mojo/public/cpp/bindings/lib/bindings_internal.h" 11 #include "mojo/public/cpp/bindings/lib/native_enum_data.h" 12 13 namespace mojo { 14 15 // Native-only enums correspond to "[Native] enum Foo;" definitions in mojom. 16 enum class NativeEnum : int32_t {}; 17 18 } // namespace mojo 19 20 namespace std { 21 22 template <> 23 struct hash<mojo::NativeEnum> 24 : public mojo::internal::EnumHashImpl<mojo::NativeEnum> {}; 25 26 } // namespace std 27 28 #endif // MOJO_PUBLIC_CPP_BINDINGS_NATIVE_ENUM_H_ 29