#include <memory>
#include <optional>
#include "chrome/browser/ui/tabs/tab_collection_storage.h"
#include "chrome/browser/ui/tabs/tab_group_tab_collection.h"
#include "chrome/browser/ui/tabs/tab_model.h"
#include "components/tab_groups/tab_group_id.h"
namespace tabs {
TabGroupTabCollection::TabGroupTabCollection(tab_groups::TabGroupId group_id)
: … { … }
TabGroupTabCollection::~TabGroupTabCollection() = default;
void TabGroupTabCollection::AddTab(std::unique_ptr<TabModel> tab_model,
size_t index) { … }
void TabGroupTabCollection::AppendTab(std::unique_ptr<TabModel> tab_model) { … }
void TabGroupTabCollection::MoveTab(TabModel* tab_model, size_t dst_index) { … }
void TabGroupTabCollection::CloseTab(TabModel* tab_model) { … }
tabs::TabModel* TabGroupTabCollection::GetTabAtIndex(size_t index) const { … }
bool TabGroupTabCollection::ContainsTab(TabModel* tab_model) const { … }
bool TabGroupTabCollection::ContainsTabRecursive(TabModel* tab_model) const { … }
bool TabGroupTabCollection::ContainsCollection(
TabCollection* collection) const { … }
std::optional<size_t> TabGroupTabCollection::GetIndexOfTabRecursive(
const TabModel* tab_model) const { … }
std::optional<size_t> TabGroupTabCollection::GetIndexOfCollection(
TabCollection* collection) const { … }
std::unique_ptr<TabModel> TabGroupTabCollection::MaybeRemoveTab(
TabModel* tab_model) { … }
size_t TabGroupTabCollection::ChildCount() const { … }
size_t TabGroupTabCollection::TabCountRecursive() const { … }
std::unique_ptr<TabCollection> TabGroupTabCollection::MaybeRemoveCollection(
TabCollection* collection) { … }
}