bool pushUniform_sub(const std::string& name, const Uniform& uniform, UniformStack& stack) { auto p = uniform.find(name); if (p != uniform.end()) { stack[name].push(p->second); return true; } return false; }
bool popUniform_sub(const std::string& name, Uniform& uniform, UniformStack& stack) { auto p = uniform.find(name); if (p != uniform.end()) { p->second = stack[name].top(); stack[name].pop(); return true; } return false; }