Block content;
std::map<std::string, TypeDeclaration *> types;
std::map<std::string, InterfaceBlock *> interface_blocks;
Block content;
std::map<std::string, TypeDeclaration *> types;
std::map<std::string, InterfaceBlock *> interface_blocks;
std::map<std::string, unsigned> locations;
std::map<std::string, unsigned> texture_bindings;
std::map<std::string, unsigned> uniform_block_bindings;
std::map<std::string, unsigned> locations;
std::map<std::string, unsigned> texture_bindings;
std::map<std::string, unsigned> uniform_block_bindings;
int get_layout_value(const Layout &, const std::string &, int = -1);
void add_to_chain(Assignment::Target &, Assignment::Target::ChainType, unsigned);
int get_layout_value(const Layout &, const std::string &, int = -1);
void add_to_chain(Assignment::Target &, Assignment::Target::ChainType, unsigned);