8 if(t ==
typeid(
float) )
return "f";
9 if(t ==
typeid(
double) )
return "f";
10 if(t ==
typeid(
long double) )
return "f";
12 if(t ==
typeid(
int) )
return "i";
13 if(t ==
typeid(
char) )
return "i";
14 if(t ==
typeid(
short) )
return "i";
15 if(t ==
typeid(
long) )
return "i";
16 if(t ==
typeid(
long long) )
return "i";
18 if(t ==
typeid(
unsigned char) )
return "u";
19 if(t ==
typeid(
unsigned short) )
return "u";
20 if(t ==
typeid(
unsigned long) )
return "u";
21 if(t ==
typeid(
unsigned long long) )
return "u";
22 if(t ==
typeid(
unsigned int) )
return "u";
24 if(t ==
typeid(
bool) )
return "b";
26 if(t ==
typeid(std::complex<float>) )
return "c";
27 if(t ==
typeid(std::complex<double>) )
return "c";
28 if(t ==
typeid(std::complex<long double>) )
return "c";
35 const std::vector<size_t>& shape,
36 size_t word_size,
const char* tn)
39 zio::json lobj = zio::json::value_t::object;
40 std::string label = msg.
label();
41 if (! label.empty()) {
53 msg.
add(std::move(data));
62 auto md = ta[
"tensors"][index];
68 if (md[
"part"].is_number()) {
69 part = md[
"part"].
get<
size_t>();
71 if (part < 0 or part >= msg.
payload().size()) {
std::string label() const
const zio::message_t & at(const Message &msg, size_t index)
zio::json label_object() const
Helper, when label holds a JSON object.
void add(message_t &&spmsg)
void set_form(const std::string &form)
const multipart_t & payload() const
Access payload(s)
void append(Message &msg, message_t &&data, const std::vector< size_t > &shape, size_t word_size, const char *tn)
def parse(rule_object, params)
const char * type_name(const std::type_info &t)
void set_label_object(const zio::json &lobj)