#ifndef TOOLS_GN_POOL_H_
#define TOOLS_GN_POOL_H_
#include <string>
#include "gn/item.h"
class Pool : public Item {
public:
using Item::Item;
~Pool() override;
Pool* AsPool() override;
const Pool* AsPool() const override;
int64_t depth() const { return depth_; }
void set_depth(int64_t depth) { depth_ = depth; }
std::string GetNinjaName(const Label& default_toolchain) const;
private:
std::string GetNinjaName(bool include_toolchain) const;
int64_t depth_ = 0;
Pool(const Pool&) = delete;
Pool& operator=(const Pool&) = delete;
};
#endif