11 #include <rtti/rtti.h>
12 #include <nap/resource.h>
29 APIArgument(std::unique_ptr<APIBaseValue> value) : mAPIValue(std::move(value)) { }
82 const std::vector<T>* asArray()
const;
88 std::vector<T>* asArray();
93 bool isString()
const;
98 std::string asString()
const;
118 uint8_t asByte()
const;
123 bool isFloat()
const;
128 float asFloat()
const;
133 bool isDouble()
const;
138 double asDouble()
const;
168 int64_t asLong()
const;
173 const std::string& getName()
const;
176 std::unique_ptr<APIBaseValue> mAPIValue =
nullptr;
187 return rtti_cast<T>(mAPIValue.get());
194 return rtti_cast<T>(mAPIValue.get());
201 T* val_ptr = this->get<T>();
202 assert(val_ptr !=
nullptr);
211 if (api_value ==
nullptr)
215 return &api_value->mValue;
223 if (api_value ==
nullptr)
227 return &api_value->mValue;