Vuo  2.3.2
VuoCompilerConstantsCache.cc
Go to the documentation of this file.
1 
12 #include "VuoStringUtilities.hh"
13 
18 {
19  this->module = module;
20 }
21 
25 Constant * VuoCompilerConstantsCache::get(const string &s)
26 {
27  auto iter = constantStrings.find(s);
28  if (iter != constantStrings.end())
29  return iter->second;
30 
31  string variableName = VuoStringUtilities::prefixSymbolName("string", module->getModuleIdentifier());
32  Constant *c = VuoCompilerCodeGenUtilities::generatePointerToConstantString(module, s, variableName);
33  constantStrings[s] = c;
34  return c;
35 }
36 
40 Constant * VuoCompilerConstantsCache::get(const vector<size_t> &a)
41 {
42  auto iter = constantArraysOfUnsignedLongs.find(a);
43  if (iter != constantArraysOfUnsignedLongs.end())
44  return iter->second;
45 
46  string variableName = VuoStringUtilities::prefixSymbolName("array", module->getModuleIdentifier());
48  constantArraysOfUnsignedLongs[a] = c;
49  return c;
50 }