Vuo  2.3.2
VuoCompilerChain.hh
Go to the documentation of this file.
1 
10 #pragma once
11 
12 class VuoCompilerNode;
13 
18 {
19 private:
20  vector<VuoCompilerNode *> nodes;
21  bool lastNodeInLoop;
22 
23 public:
24  VuoCompilerChain(vector<VuoCompilerNode *> nodes, bool lastNodeInLoop);
25  static Value * generateMakeContext(Module *module, BasicBlock *block, Value *compositionStateValue, Value *eventIdValue);
26  static Value * generateCompositionStateValue(Module *module, BasicBlock *block, Value *contextValue);
27  static Value * generateEventIdValue(Module *module, BasicBlock *block, Value *contextValue);
28  static Function * getFreeContextFunction(Module *module);
29  Function * generateScheduleWorker(Module *module, BasicBlock *block, Value *compositionStateValue, Value *contextValue, string triggerIdentifier, int minThreadsNeeded, int maxThreadsNeeded, size_t chainIndex, vector<size_t> upstreamChainIndices);
30  vector<VuoCompilerNode *> getNodes(void);
31  bool isLastNodeInLoop(void);
32 };