mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-10-15 22:13:11 +00:00
Record mounts to be cleaned up in a vector
This commit is contained in:
@@ -56,9 +56,28 @@ public:
|
||||
~run_finally() { if (fn) fn(); }
|
||||
|
||||
private:
|
||||
std::function<void ()> fn;
|
||||
std::function<void()> fn;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
class reversed_container {
|
||||
public:
|
||||
reversed_container(T &base) : base(base) {}
|
||||
decltype(std::declval<T>().rbegin()) begin() { return base.rbegin(); }
|
||||
decltype(std::declval<T>().crbegin()) begin() const { return base.crbegin(); }
|
||||
decltype(std::declval<T>().crbegin()) cbegin() const { return base.crbegin(); }
|
||||
decltype(std::declval<T>().rend()) end() { return base.rend(); }
|
||||
decltype(std::declval<T>().crend()) end() const { return base.crend(); }
|
||||
decltype(std::declval<T>().crend()) cend() const { return base.crend(); }
|
||||
private:
|
||||
T &base;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
reversed_container<T> reversed(T &base) {
|
||||
return reversed_container<T>(base);
|
||||
}
|
||||
|
||||
static inline int parse_int(std::string s) { return parse_int(s.data()); }
|
||||
|
||||
static inline int parse_int(std::string_view s) { return parse_int(s.data()); }
|
||||
|
Reference in New Issue
Block a user