#ifndef CODE_SCRIPT_TEMPLATE_H
#define CODE_SCRIPT_TEMPLATE_H

namespace Code {

class ScriptTemplate {
public:
  constexpr ScriptTemplate(const char * name, const char * value) : m_name(name), m_value(value) {}
  static const ScriptTemplate * Empty();
  static const ScriptTemplate * Squares();
  static const ScriptTemplate * Mandelbrot();
  static const ScriptTemplate * Polynomial();
  const char * name() const { return m_name; }
  const char * content() const { return m_value+1; }
  const char * value() const { return m_value; }
private:
  const char * m_name;
  const char * m_value; // hold the 'importation status' flag concatenate with the script content
};

}

#endif
