// Copyright 2013 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef EXTENSIONS_COMMON_PERMISSIONS_BASE_SET_OPERATORS_H_ #define EXTENSIONS_COMMON_PERMISSIONS_BASE_SET_OPERATORS_H_ #include <stddef.h> #include <iterator> #include <map> #include <memory> #include "base/check.h" namespace extensions { // Traits for template paramater of |BaseSetOperators<T>|. Specializations // should define |ElementType| for the type of elements to store in the set, // and |EmementIDType| for the type of element identifiers. template <typename T> struct BaseSetOperatorsTraits { … }; // Set operations shared by |APIPermissionSet| and |ManifestPermissionSet|. // // TODO(rpaquay): It would be nice to remove the need for the sub-classes and // instead directly use this class where needed. template <typename T> class BaseSetOperators { … }; } // namespace extensions #endif // EXTENSIONS_COMMON_PERMISSIONS_BASE_SET_OPERATORS_H_