chromium/out/Default/gen/ui/accessibility/ax_enums.mojom-shared.h

// ui/accessibility/ax_enums.mojom-shared.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_ACCESSIBILITY_AX_ENUMS_MOJOM_SHARED_H_
#define UI_ACCESSIBILITY_AX_ENUMS_MOJOM_SHARED_H_

#include <stdint.h>

#include <functional>
#include <iosfwd>
#include <type_traits>
#include <utility>

#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"

#include "ui/accessibility/ax_enums.mojom-shared-internal.h"



#include "base/component_export.h"




namespace ax::mojom {


}  // ax::mojom

namespace mojo {
namespace internal {

}  // namespace internal
}  // namespace mojo


namespace axmojom  // ax::mojom

namespace std {

template <>
struct hash<::ax::mojom::Event>
    : public mojo::internal::EnumHashImpl<::ax::mojom::Event> {};

template <>
struct hash<::ax::mojom::Role>
    : public mojo::internal::EnumHashImpl<::ax::mojom::Role> {};

template <>
struct hash<::ax::mojom::State>
    : public mojo::internal::EnumHashImpl<::ax::mojom::State> {};

template <>
struct hash<::ax::mojom::Action>
    : public mojo::internal::EnumHashImpl<::ax::mojom::Action> {};

template <>
struct hash<::ax::mojom::ActionFlags>
    : public mojo::internal::EnumHashImpl<::ax::mojom::ActionFlags> {};

template <>
struct hash<::ax::mojom::ScrollAlignment>
    : public mojo::internal::EnumHashImpl<::ax::mojom::ScrollAlignment> {};

template <>
struct hash<::ax::mojom::ScrollBehavior>
    : public mojo::internal::EnumHashImpl<::ax::mojom::ScrollBehavior> {};

template <>
struct hash<::ax::mojom::DefaultActionVerb>
    : public mojo::internal::EnumHashImpl<::ax::mojom::DefaultActionVerb> {};

template <>
struct hash<::ax::mojom::Mutation>
    : public mojo::internal::EnumHashImpl<::ax::mojom::Mutation> {};

template <>
struct hash<::ax::mojom::StringAttribute>
    : public mojo::internal::EnumHashImpl<::ax::mojom::StringAttribute> {};

template <>
struct hash<::ax::mojom::IntAttribute>
    : public mojo::internal::EnumHashImpl<::ax::mojom::IntAttribute> {};

template <>
struct hash<::ax::mojom::FloatAttribute>
    : public mojo::internal::EnumHashImpl<::ax::mojom::FloatAttribute> {};

template <>
struct hash<::ax::mojom::BoolAttribute>
    : public mojo::internal::EnumHashImpl<::ax::mojom::BoolAttribute> {};

template <>
struct hash<::ax::mojom::IntListAttribute>
    : public mojo::internal::EnumHashImpl<::ax::mojom::IntListAttribute> {};

template <>
struct hash<::ax::mojom::StringListAttribute>
    : public mojo::internal::EnumHashImpl<::ax::mojom::StringListAttribute> {};

template <>
struct hash<::ax::mojom::ListStyle>
    : public mojo::internal::EnumHashImpl<::ax::mojom::ListStyle> {};

template <>
struct hash<::ax::mojom::MarkerType>
    : public mojo::internal::EnumHashImpl<::ax::mojom::MarkerType> {};

template <>
struct hash<::ax::mojom::HighlightType>
    : public mojo::internal::EnumHashImpl<::ax::mojom::HighlightType> {};

template <>
struct hash<::ax::mojom::MoveDirection>
    : public mojo::internal::EnumHashImpl<::ax::mojom::MoveDirection> {};

template <>
struct hash<::ax::mojom::Command>
    : public mojo::internal::EnumHashImpl<::ax::mojom::Command> {};

template <>
struct hash<::ax::mojom::InputEventType>
    : public mojo::internal::EnumHashImpl<::ax::mojom::InputEventType> {};

template <>
struct hash<::ax::mojom::TextBoundary>
    : public mojo::internal::EnumHashImpl<::ax::mojom::TextBoundary> {};

template <>
struct hash<::ax::mojom::TextAlign>
    : public mojo::internal::EnumHashImpl<::ax::mojom::TextAlign> {};

template <>
struct hash<::ax::mojom::WritingDirection>
    : public mojo::internal::EnumHashImpl<::ax::mojom::WritingDirection> {};

template <>
struct hash<::ax::mojom::TextPosition>
    : public mojo::internal::EnumHashImpl<::ax::mojom::TextPosition> {};

template <>
struct hash<::ax::mojom::TextStyle>
    : public mojo::internal::EnumHashImpl<::ax::mojom::TextStyle> {};

template <>
struct hash<::ax::mojom::TextDecorationStyle>
    : public mojo::internal::EnumHashImpl<::ax::mojom::TextDecorationStyle> {};

template <>
struct hash<::ax::mojom::AriaCurrentState>
    : public mojo::internal::EnumHashImpl<::ax::mojom::AriaCurrentState> {};

template <>
struct hash<::ax::mojom::HasPopup>
    : public mojo::internal::EnumHashImpl<::ax::mojom::HasPopup> {};

template <>
struct hash<::ax::mojom::IsPopup>
    : public mojo::internal::EnumHashImpl<::ax::mojom::IsPopup> {};

template <>
struct hash<::ax::mojom::InvalidState>
    : public mojo::internal::EnumHashImpl<::ax::mojom::InvalidState> {};

template <>
struct hash<::ax::mojom::Restriction>
    : public mojo::internal::EnumHashImpl<::ax::mojom::Restriction> {};

template <>
struct hash<::ax::mojom::CheckedState>
    : public mojo::internal::EnumHashImpl<::ax::mojom::CheckedState> {};

template <>
struct hash<::ax::mojom::SortDirection>
    : public mojo::internal::EnumHashImpl<::ax::mojom::SortDirection> {};

template <>
struct hash<::ax::mojom::NameFrom>
    : public mojo::internal::EnumHashImpl<::ax::mojom::NameFrom> {};

template <>
struct hash<::ax::mojom::DescriptionFrom>
    : public mojo::internal::EnumHashImpl<::ax::mojom::DescriptionFrom> {};

template <>
struct hash<::ax::mojom::EventFrom>
    : public mojo::internal::EnumHashImpl<::ax::mojom::EventFrom> {};

template <>
struct hash<::ax::mojom::Gesture>
    : public mojo::internal::EnumHashImpl<::ax::mojom::Gesture> {};

template <>
struct hash<::ax::mojom::TextAffinity>
    : public mojo::internal::EnumHashImpl<::ax::mojom::TextAffinity> {};

template <>
struct hash<::ax::mojom::TreeOrder>
    : public mojo::internal::EnumHashImpl<::ax::mojom::TreeOrder> {};

template <>
struct hash<::ax::mojom::AXTreeIDType>
    : public mojo::internal::EnumHashImpl<::ax::mojom::AXTreeIDType> {};

template <>
struct hash<::ax::mojom::ImageAnnotationStatus>
    : public mojo::internal::EnumHashImpl<::ax::mojom::ImageAnnotationStatus> {};

template <>
struct hash<::ax::mojom::AriaNotificationInterrupt>
    : public mojo::internal::EnumHashImpl<::ax::mojom::AriaNotificationInterrupt> {};

template <>
struct hash<::ax::mojom::AriaNotificationPriority>
    : public mojo::internal::EnumHashImpl<::ax::mojom::AriaNotificationPriority> {};

}  // namespace std

namespace mojo {


namespace internal {

Serializer< ::ax::mojom::Event, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::Role, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::State, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::Action, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::ActionFlags, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::ScrollAlignment, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::ScrollBehavior, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::DefaultActionVerb, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::Mutation, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::StringAttribute, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::IntAttribute, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::FloatAttribute, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::BoolAttribute, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::IntListAttribute, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::StringListAttribute, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::ListStyle, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::MarkerType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::HighlightType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::MoveDirection, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::Command, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::InputEventType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::TextBoundary, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::TextAlign, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::WritingDirection, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::TextPosition, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::TextStyle, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::TextDecorationStyle, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::AriaCurrentState, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::HasPopup, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::IsPopup, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::InvalidState, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::Restriction, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::CheckedState, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::SortDirection, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::NameFrom, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::DescriptionFrom, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::EventFrom, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::Gesture, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::TextAffinity, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::TreeOrder, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::AXTreeIDType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::ImageAnnotationStatus, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::AriaNotificationInterrupt, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::ax::mojom::AriaNotificationPriority, MaybeConstUserType>;

}  // namespace internal

}  // namespace mojo


namespace ax::mojom {


}  // ax::mojom

// Declare TraceFormatTraits for enums, which should be defined in ::perfetto
// namespace.

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::Event> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::Role> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::State> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::Action> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::ActionFlags> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::ScrollAlignment> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::ScrollBehavior> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::DefaultActionVerb> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::Mutation> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::StringAttribute> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::IntAttribute> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::FloatAttribute> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::BoolAttribute> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::IntListAttribute> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::StringListAttribute> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::ListStyle> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::MarkerType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::HighlightType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::MoveDirection> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::Command> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::InputEventType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::TextBoundary> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::TextAlign> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::WritingDirection> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::TextPosition> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::TextStyle> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::TextDecorationStyle> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::AriaCurrentState> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::HasPopup> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::IsPopup> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::InvalidState> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::Restriction> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::CheckedState> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::SortDirection> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::NameFrom> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::DescriptionFrom> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::EventFrom> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::Gesture> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::TextAffinity> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::TreeOrder> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::AXTreeIDType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::ImageAnnotationStatus> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::AriaNotificationInterrupt> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(UI_ACCESSIBILITY_AX_MOJOM_SHARED) TraceFormatTraits<::ax::mojom::AriaNotificationPriority> {};

} // namespace perfetto

#endif  // UI_ACCESSIBILITY_AX_ENUMS_MOJOM_SHARED_H_