void readDynamic()

in common/util/cpp/cdynamic.cpp [19:50]


void readDynamic(const dynamic* d, DType* ty, DValue* val) noexcept {
  switch (d->type()) {
    case dynamic::STRING:
      *ty = tString;
      val->string = d->c_str();
      break;
    case dynamic::BOOL:
      *ty = tBool;
      val->boolean = d->asBool();
      break;
    case dynamic::DOUBLE:
      *ty = tDouble;
      val->doubl = d->asDouble();
      break;
    case dynamic::INT64:
      *ty = tInt64;
      val->int64 = d->asInt();
      break;
    case dynamic::ARRAY:
      *ty = tArray;
      val->size = d->size();
      break;
    case dynamic::OBJECT:
      *ty = tObject;
      val->size = d->size();
      break;
    case dynamic::NULLT:
      *ty = tNull;
      val->null = nullptr;
      break;
  }
}