Chatterino
ClosedSplits.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "common/Channel.hpp"
5 
6 #include <QUuid>
7 #include <deque>
8 #include <mutex>
9 #include <utility>
10 
11 namespace chatterino {
12 
14 {
15 public:
16  struct SplitInfo {
17  QString channelName;
18  QList<QUuid> filters;
19  NotebookTab *tab; // non owning ptr
20  };
21 
22  static void invalidateTab(NotebookTab *const tab);
23  static void push(const SplitInfo &si);
24  static void push(SplitInfo &&si);
25  static SplitInfo pop();
26  static bool empty();
27  static std::size_t size();
28 
29 private:
30  static std::mutex m_;
31  static std::vector<SplitInfo> closedSplits_;
32 };
33 
34 } // namespace chatterino
static void invalidateTab(NotebookTab *const tab)
Definition: ClosedSplits.cpp:8
static bool empty()
Definition: ClosedSplits.cpp:43
QList< QUuid > filters
Definition: ClosedSplits.hpp:18
Definition: Application.cpp:48
Definition: ClosedSplits.hpp:13
static void push(const SplitInfo &si)
Definition: ClosedSplits.cpp:23
Definition: NotebookTab.hpp:21
NotebookTab * tab
Definition: ClosedSplits.hpp:19
QString channelName
Definition: ClosedSplits.hpp:17
static std::size_t size()
Definition: ClosedSplits.cpp:49
Definition: ClosedSplits.hpp:16
static SplitInfo pop()
Definition: ClosedSplits.cpp:35