| 476 | |
| 477 | template <class ParamRawValueSpec> |
| 478 | class ParamValueSpec : public ParamEntry, public ParamRawValueSpec |
| 479 | { |
| 480 | public: |
| 481 | ParamValueSpec(); |
| 482 | ParamValueSpec(const RStringB& name); |
| 483 | |
| 484 | RStringB GetValue() const override { return ParamRawValueSpec::GetValue(); } |
| 485 | RStringB GetValueRaw() const override { return ParamRawValueSpec::GetValueRaw(); } |
| 486 | float GetFloat() const { return ParamRawValueSpec::GetFloat(); } |
| 487 | int GetInt() const override { return ParamRawValueSpec::GetInt(); } |
| 488 | |
| 489 | operator RStringB() const override { return ParamRawValueSpec::GetValue(); } |
| 490 | operator float() const override { return ParamRawValueSpec::GetFloat(); } |
| 491 | operator int() const override { return ParamRawValueSpec::GetInt(); } |
| 492 | operator bool() const override { return ParamRawValueSpec::GetInt() != 0; } |
| 493 | |
| 494 | void SetValue(const RStringB& val) override { ParamRawValueSpec::SetValue(val); } |
| 495 | void SetValue(float val) override { ParamRawValueSpec::SetValue(val); } |
| 496 | void SetValue(int val) override { ParamRawValueSpec::SetValue(val); } |
| 497 | void SetFile(ParamFile* file) override { ParamRawValueSpec::SetFile(file); } |
| 498 | |
| 499 | bool IsTextValue() const override { return ParamRawValueSpec::IsTextValue(); } |
| 500 | bool IsFloatValue() const override { return ParamRawValueSpec::IsFloatValue(); } |
| 501 | bool IsIntValue() const override { return ParamRawValueSpec::IsIntValue(); } |
| 502 | bool IsArrayValue() const { return false; } |
| 503 | |
| 504 | void Save(QOStream& f, int indent) const override; |
| 505 | |
| 506 | void SerializeBin(SerializeBinStream& f) override; |
| 507 | void CalculateCheckValue(PASumCalculator& sum) const override; |
| 508 | |
| 509 | USE_FAST_ALLOCATOR |
| 510 | }; |
| 511 | |
| 512 | template <class ParamRawValueSpec> |
| 513 | class ParamArrayValueSpec : public IParamArrayValue, public ParamRawValueSpec |
| 514 | { |
| 515 | public: |
| 516 | ParamArrayValueSpec(const RStringB& val) { ParamRawValueSpec::SetValue(val); } |
| 517 | ParamArrayValueSpec(float val) { ParamRawValueSpec::SetValue(val); } |
| 518 | ParamArrayValueSpec(int val) { ParamRawValueSpec::SetValue(val); } |
| 519 | |
| 520 | RStringB GetValue() const override { return ParamRawValueSpec::GetValue(); } |
| 521 | RStringB GetValueRaw() const override { return ParamRawValueSpec::GetValueRaw(); } |
| 522 | int GetInt() const override { return ParamRawValueSpec::GetInt(); } |
| 523 | float GetFloat() const override { return ParamRawValueSpec::GetFloat(); } |
| 524 | |
| 525 | void SetValue(const RStringB& val) override { ParamRawValueSpec::SetValue(val); } |
| 526 | void SetValue(float val) override { ParamRawValueSpec::SetValue(val); } |
| 527 | void SetValue(int val) override { ParamRawValueSpec::SetValue(val); } |
| 528 | void SetFile(ParamFile* file) override { ParamRawValueSpec::SetFile(file); } |
| 529 | |
| 530 | bool IsTextValue() const override { return ParamRawValueSpec::IsTextValue(); } |
| 531 | bool IsFloatValue() const override { return ParamRawValueSpec::IsFloatValue(); } |
| 532 | bool IsIntValue() const override { return ParamRawValueSpec::IsIntValue(); } |
| 533 | bool IsArrayValue() const override { return false; } |
| 534 | |
| 535 | void Save(QOStream& f, int indent) const override; |
nothing calls this directly
no test coverage detected