8#ifndef DRAIN_UTIL_JAVASCRIPT_H_
9#define DRAIN_UTIL_JAVASCRIPT_H_
11#include <drain/Sprinter.h>
12#include <drain/util/EnumUtils.h>
22 Outlet(std::ostream & ostr) : dst_ostr(ostr), dst_str(dummy_str){
25 Outlet(std::string & s) : dst_ostr(sstr), dst_str(s){
30 std::ostream & operator<<(
const T & x)
const {
37 if (&dst_str != &dummy_str){
38 dst_str.assign(sstr.str());
43 std::ostream & getOStream()
const {
49 std::ostream & dst_ostr;
50 std::string & dst_str;
53 std::string dummy_str;
56 std::stringstream sstr;
76 void createArray(
const Outlet & code,
const std::string & variableName, NumType type,
const T & sequence);
85DRAIN_ENUM_DICT(JavaScript::NumType);
86DRAIN_ENUM_OSTREAM(JavaScript::NumType);
90void JavaScript::createArray(
const Outlet & code,
const std::string & variableName, NumType type,
const T & sequence){
91 code <<
"const " << variableName <<
" = new " << type <<
"Array(";
Definition JavaScript.h:61
Definition JavaScript.h:18
static std::ostream & toStream(std::ostream &ostr, const std::initializer_list< T > &x, const SprinterLayout &layout=defaultLayout)
New (experimental)
Definition Sprinter.h:424
static const SprinterLayout jsLayout
JavaScript layout. Like JSON layout, but keys without hyphens.
Definition Sprinter.h:228
Definition DataSelector.cpp:1277