optional argument value setting in constructor
This commit is contained in:
parent
28c7bba442
commit
e1faba699e
|
@ -63,7 +63,11 @@ private:
|
|||
struct int32
|
||||
: Argument
|
||||
{
|
||||
int32() : Argument('i') {};
|
||||
/**
|
||||
* @brief int32
|
||||
* @param 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; }
|
||||
|
@ -79,7 +83,11 @@ struct int32
|
|||
struct float32
|
||||
: Argument
|
||||
{
|
||||
float32() : Argument('f') {};
|
||||
/**
|
||||
* @brief float32
|
||||
* @param 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; }
|
||||
|
@ -95,7 +103,11 @@ struct float32
|
|||
struct string
|
||||
: Argument
|
||||
{
|
||||
string() : Argument('s') {};
|
||||
/**
|
||||
* @brief string
|
||||
* @param s
|
||||
*/
|
||||
string(std::string s = "") : Argument('s'), value(s) {};
|
||||
|
||||
virtual size_t streamSize() const override;
|
||||
virtual void iStream(std::shared_ptr<bufferstream>) override;
|
||||
|
@ -111,7 +123,16 @@ struct string
|
|||
struct blob
|
||||
: Argument
|
||||
{
|
||||
blob() : Argument('b') {};
|
||||
/**
|
||||
* @brief 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);
|
||||
};
|
||||
|
||||
virtual size_t streamSize() const override;
|
||||
virtual void iStream(std::shared_ptr<bufferstream>) override;
|
||||
|
@ -127,7 +148,11 @@ struct blob
|
|||
struct int64
|
||||
: Argument
|
||||
{
|
||||
int64() : Argument('h') {};
|
||||
/**
|
||||
* @brief int64
|
||||
* @param 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 +193,11 @@ struct timetag
|
|||
struct float64
|
||||
: Argument
|
||||
{
|
||||
float64() : Argument('d') {};
|
||||
/**
|
||||
* @brief float64
|
||||
* @param 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; }
|
||||
|
@ -184,7 +213,11 @@ struct float64
|
|||
struct character
|
||||
: Argument
|
||||
{
|
||||
character() : Argument('c') {};
|
||||
/**
|
||||
* @brief character
|
||||
* @param 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;
|
||||
|
|
Loading…
Reference in New Issue