// Copyright 2024 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef SERVICES_WEBNN_WEBNN_OBJECT_IMPL_H_ #define SERVICES_WEBNN_WEBNN_OBJECT_IMPL_H_ #include "base/component_export.h" #include "third_party/blink/public/common/tokens/tokens.h" namespace webnn { namespace internal { // Supported WebNN token types. The list can be expanded as needed. // Adding a new type must be explicitly instantiated in the cpp. IsAnyOf; IsSupportedTokenType; } // namespace internal template <typename WebNNTokenType> requires internal::IsSupportedTokenType<WebNNTokenType> class COMPONENT_EXPORT(WEBNN_SERVICE) WebNNObjectImpl { … }; } // namespace webnn #endif // SERVICES_WEBNN_WEBNN_OBJECT_IMPL_H_