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 13namespace mojo { 14 15// Native-only enums correspond to "[Native] enum Foo;" definitions in mojom. 16enum class NativeEnum : int32_t {}; 17 18} // namespace mojo 19 20namespace std { 21 22template <> 23struct 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