David Vacca c97faa2560 specialize std::hash for enum classes
Summary: This diff fixes the compilation error: "implicit instantiation of undefined template std::hash" when using TextAttributes in Android

Reviewed By: shergin

Differential Revision: D9849407

fbshipit-source-id: 7fcb94b1d4f7715d8037ecbf302d8f345e99e9fd
2018-09-17 18:49:07 -07:00

49 lines
837 B
C++

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
#include <functional>
#include <limits>
namespace facebook {
namespace react {
/*
* Defines visibility of the shadow node and partucular layout
* engine which should be used for laying out the node.
*/
enum class DisplayType {
None,
Flex,
Inline,
};
/*
* User interface layout direction.
*/
enum class LayoutDirection {
Undefined,
LeftToRight,
RightToLeft,
};
} // namespace react
} // namespace facebook
namespace std
{
template <>
struct hash<facebook::react::LayoutDirection>
{
size_t operator()(const facebook::react::LayoutDirection& v) const
{
return hash<int>()(static_cast<int>(v));
}
};
}