Lines Matching defs:Program
66 struct Program { struct
67 using Settings = ProgramSettings; argument
87 Program(std::unique_ptr<String> source, in Program() argument
108 ~Program() { in ~Program() argument
155 using Shared = std::vector<const ProgramElement*>::const_iterator; argument
178 friend struct Program; argument
180 ElementsCollection(const Program& program) : fProgram(program) {} in ElementsCollection() argument
181 const Program& fProgram; argument
189 // Can be used to iterate over *just* the elements owned by the Program, not shared builtins. argument
191 std::vector<std::unique_ptr<ProgramElement>>& ownedElements() { return fElements; } in ownedElements() argument
192 const std::vector<std::unique_ptr<ProgramElement>>& ownedElements() const { return fElements; } in ownedElements() argument
202 const ProgramUsage* usage() const { return fUsage.get(); } in usage() argument
205 std::unique_ptr<ProgramConfig> fConfig; argument
214 std::vector<std::unique_ptr<ProgramElement>> fElements; argument
215 std::vector<const ProgramElement*> fSharedElements; argument
217 std::unique_ptr<ProgramUsage> fUsage; argument
219 friend class Compiler;
220 friend class Inliner; // fUsage
221 friend class SPIRVCodeGenerator; // fModifiers