// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMEOS_ASH_COMPONENTS_LANGUAGE_PACKS_DIFF_H_
#define CHROMEOS_ASH_COMPONENTS_LANGUAGE_PACKS_DIFF_H_
#include <string>
#include "base/containers/flat_set.h"
namespace ash::language_packs {
struct StringsDiff {
base::flat_set<std::string> remove;
base::flat_set<std::string> add;
StringsDiff(base::flat_set<std::string> remove,
base::flat_set<std::string> add);
StringsDiff(StringsDiff&&);
~StringsDiff();
};
// Returns the set of strings that need to be added and removed from the set
// `current` to obtain the set `target`.
StringsDiff ComputeStringsDiff(base::flat_set<std::string> current,
base::flat_set<std::string> target);
} // namespace ash::language_packs
#endif // CHROMEOS_ASH_COMPONENTS_LANGUAGE_PACKS_DIFF_H_