1
0
Fork 0

corrected initializer for blob data

This commit is contained in:
Kevin Matz 2023-05-15 10:54:19 -04:00
parent 6022d4bbc6
commit 5b65fd8187
1 changed files with 57 additions and 21 deletions

View File

@ -48,7 +48,9 @@ struct Argument
* @brief Argument
* @param type
*/
Argument(char type) : type_(type) {};
Argument(char type)
: type_(type)
{};
virtual std::string type() const;
@ -67,7 +69,10 @@ struct int32
* @brief int32
* @param v
*/
int32(int32_t v = 0) : Argument('i'), value(v) {};
int32(int32_t v = 0)
: Argument('i')
, value(v)
{};
virtual size_t streamSize() const override { return 4; }
virtual void iStream(std::shared_ptr<bufferstream> stream) override { *stream >> value; }
@ -87,7 +92,10 @@ struct float32
* @brief float32
* @param v
*/
float32(float v = 0) : Argument('f'), value(v) {};
float32(float v = 0)
: Argument('f')
, value(v)
{};
virtual size_t streamSize() const override { return 4; }
virtual void iStream(std::shared_ptr<bufferstream> stream) override { *stream >> value; }
@ -107,7 +115,10 @@ struct string
* @brief string
* @param s
*/
string(std::string s = "") : Argument('s'), value(s) {};
string(std::string s = "")
: Argument('s')
, value(s)
{};
virtual size_t streamSize() const override;
virtual void iStream(std::shared_ptr<bufferstream>) override;
@ -128,11 +139,10 @@ struct blob
* @param blob
* @param size
*/
blob(const uint8_t *blob = nullptr, size_t size = 0) : Argument('b')
{
if (blob)
value = std::vector<uint8_t>(*blob, size);
};
blob(const uint8_t *const blob = nullptr, const size_t size = 0)
: Argument('b')
, value(blob, blob+size) // _copies_ blob data to the value vector
{};
virtual size_t streamSize() const override;
virtual void iStream(std::shared_ptr<bufferstream>) override;
@ -152,7 +162,10 @@ struct int64
* @brief int64
* @param v
*/
int64(int64_t v = 0) : Argument('h'), value(v) {};
int64(int64_t v = 0)
: Argument('h')
, value(v)
{};
virtual size_t streamSize() const override { return 8; }
virtual void iStream(std::shared_ptr<bufferstream> stream) override { *stream >> value; }
@ -168,7 +181,10 @@ struct int64
struct timetag
: Argument
{
timetag() : Argument('t'), value(0) {};
timetag()
: Argument('t')
, value(0)
{};
std::chrono::time_point<std::chrono::system_clock> time() const;
void setTime(std::chrono::time_point<std::chrono::system_clock> time = std::chrono::system_clock::now());
@ -197,7 +213,10 @@ struct float64
* @brief float64
* @param v
*/
float64(double v = 0) : Argument('d'), value(v) {};
float64(double v = 0)
: Argument('d')
, value(v)
{};
virtual size_t streamSize() const override { return 8; }
virtual void iStream(std::shared_ptr<bufferstream> stream) override { *stream >> value; }
@ -217,7 +236,10 @@ struct character
* @brief character
* @param c
*/
character(char c = 0x00) : Argument('c'), value(c) {};
character(char c = 0x00)
: Argument('c')
, value(c)
{};
virtual size_t streamSize() const override { return 4; }
virtual void iStream(std::shared_ptr<bufferstream>) override;
@ -233,7 +255,9 @@ struct character
struct rgba
: Argument
{
rgba() : Argument('r') {};
rgba()
: Argument('r')
{};
virtual size_t streamSize() const override { return 4; }
virtual void iStream(std::shared_ptr<bufferstream> stream) override { *stream >> value; }
@ -257,7 +281,9 @@ struct rgba
struct midi
: Argument
{
midi() : Argument('m') {};
midi()
: Argument('m')
{};
virtual size_t streamSize() const override { return 4; }
virtual void iStream(std::shared_ptr<bufferstream> stream) override { *stream >> value; }
@ -281,7 +307,9 @@ struct midi
struct True
: Argument
{
True() : Argument('T') {};
True()
: Argument('T')
{};
virtual size_t streamSize() const override { return 0; }
virtual void iStream(std::shared_ptr<bufferstream>) override {};
@ -297,7 +325,9 @@ struct True
struct False
: Argument
{
False() : Argument('F') {};
False()
: Argument('F')
{};
virtual size_t streamSize() const override { return 0; }
virtual void iStream(std::shared_ptr<bufferstream>) override {};
@ -313,7 +343,9 @@ struct False
struct Null
: Argument
{
Null() : Argument('N') {};
Null()
: Argument('N')
{};
virtual size_t streamSize() const override { return 0; }
virtual void iStream(std::shared_ptr<bufferstream>) override {};
@ -327,7 +359,9 @@ struct Null
struct impulse
: Argument
{
impulse() : Argument('I') {};
impulse()
: Argument('I')
{};
virtual size_t streamSize() const override { return 0; }
virtual void iStream(std::shared_ptr<bufferstream>) override {};
@ -341,11 +375,13 @@ struct impulse
struct array
: Argument
{
array() : Argument('[') {};
array()
: Argument('[')
{};
void setTypes(std::string types);
virtual std::string type() const override;
virtual size_t streamSize() const override;
virtual void iStream(std::shared_ptr<bufferstream>) override;
virtual void oStream(std::shared_ptr<bufferstream>) const override;