diff --git a/PenetrateBasic/main.cpp b/PenetrateBasic/main.cpp index 7f79d14..76d3a9d 100644 --- a/PenetrateBasic/main.cpp +++ b/PenetrateBasic/main.cpp @@ -52,7 +52,7 @@ int main(int argc, char* argv[]) { depict::ValidateDocObject doc; dispatch::Dispatch::unique()->getValidateDepict(doc); - qDebug() << doc.toText(); + qDebug().noquote() << doc.toText(); return a.exec(); } diff --git a/PenetrateBasic/validate_basic.h b/PenetrateBasic/validate_basic.h index 41a729a..b63c9cf 100644 --- a/PenetrateBasic/validate_basic.h +++ b/PenetrateBasic/validate_basic.h @@ -24,7 +24,7 @@ namespace validate { - template struct ValidateTemplet; + template struct ValidateTemplet; template<> struct ValidateTemplet<> { template bool validateFor(Inlet::SignatureImpl& value_sequence) const { @@ -33,16 +33,16 @@ namespace validate { virtual void getDepict(datas::IDataObject& self_description) const {} }; - template - struct ValidateTemplet : public ValidateTemplet { + template + struct ValidateTemplet : public ValidateTemplet { private: - QList*> validator_list; + QList*> validator_list; public: - void add(Validator* vinst) { + void add(Validator* vinst) { validator_list << vinst; } - bool check(head_type value) const { + bool check(Head value) const { for (auto u : validator_list) if (!u->check(value)) return false; @@ -50,11 +50,11 @@ namespace validate { } template - bool validateFor(Inlet::SignatureImpl& value_sequence) const { - head_type head_value = value_sequence.getArgs0(); + bool validateFor(Inlet::SignatureImpl& value_sequence) const { + Head head_value = value_sequence.getArgs0(); if (!check(head_value)) return false; - return ValidateTemplet::validateFor(value_sequence); + return ValidateTemplet::validateFor(value_sequence); } @@ -69,37 +69,37 @@ namespace validate { auto args_array = std::dynamic_pointer_cast(self_description.getChild(u8"ArgsList")); args_array->append(args_head); self_description.setChild(u8"ArgsList", args_array); - ValidateTemplet::getDepict(self_description); + ValidateTemplet::getDepict(self_description); } }; - template struct ElmPos; + template struct ElmPos; - template - struct ElmPos<0, ValidateTemplet> { - using value_type = head_type; - using templet_type = ValidateTemplet; + template + struct ElmPos<0, ValidateTemplet> { + using value_type = Head; + using templet_type = ValidateTemplet; }; - template - struct ElmPos> { - using value_type = typename ElmPos>::value_type; - using templet_type = typename ElmPos>::templet_type; + template + struct ElmPos> { + using value_type = typename ElmPos>::value_type; + using templet_type = typename ElmPos>::templet_type; }; - template - void __validator_insert_helper(ValidateTemplet& target, - Validator>::value_type>* inst) { - using templet_type = typename ElmPos>::templet_type; + template + void __validator_insert_helper(ValidateTemplet& target, + Validator>::value_type>* inst) { + using templet_type = typename ElmPos>::templet_type; target.templet_type::add(inst); } - template class SlicePosition; + template class SlicePosition; template class SliceValidator : public Validator { private: @@ -115,58 +115,58 @@ namespace validate { return _sub_validator.check(t_value); } }; - template class ArgsPosition - : public ValidatorReceiver>::value_type> { + template class ArgsPosition + : public ValidatorReceiver>::value_type> { public: - using param_type = typename ElmPos>::value_type; + using Param = typename ElmPos>::value_type; - ArgsPosition(ValidateTemplet& target) :_templet_bind(target) { } + ArgsPosition(ValidateTemplet& target) :_templet_bind(target) { } - ArgsPosition& operator&(Validator* vinst) { + ArgsPosition& operator&(Validator* vinst) { append(vinst); return *this; } - template - SlicePosition> - slice(std::function slice_fun) { - return SlicePosition>(*this, slice_fun); + template + SlicePosition> + slice(std::function slice_fun) { + return SlicePosition>(*this, slice_fun); } // ValidatorReceiver - virtual void append(Validator* inst) { - __validator_insert_helper(_templet_bind, inst); + virtual void append(Validator* inst) { + __validator_insert_helper(_templet_bind, inst); } private: - ValidateTemplet& _templet_bind; + ValidateTemplet& _templet_bind; }; - template - class SlicePosition> : public ValidatorReceiver { + template + class SlicePosition> : public ValidatorReceiver { public: - SlicePosition(ValidatorReceiver& host, std::function func) + SlicePosition(ValidatorReceiver& host, std::function func) :_conv_func(func), _prev_bind(host) { } - SlicePosition>& operator&(Validator* vinst) { + SlicePosition>& operator&(Validator* vinst) { append(vinst); return *this; } - template - SlicePosition> - slice(std::function slice_fun) { - return SlicePosition>(*this, slice_fun); + template + SlicePosition> + slice(std::function slice_fun) { + return SlicePosition>(*this, slice_fun); } // ValidatorReceiver - virtual void append(Validator* inst) { - SliceValidator mid_validator(_conv_func, inst); + virtual void append(Validator* inst) { + SliceValidator mid_validator(_conv_func, inst); _prev_bind.append(mid_validator); } private: - std::function _conv_func; - ValidatorReceiver& _prev_bind; + std::function _conv_func; + ValidatorReceiver& _prev_bind; }; @@ -179,20 +179,20 @@ namespace validate { }; template struct ValidateImpls; - template - struct ValidateImpls : public ValidateTemplet, public IValidatorTemplet { + template + struct ValidateImpls : public ValidateTemplet, public IValidatorTemplet { quint64 address() const { return (quint64) func; } - template ArgsPosition pos() { - return ArgsPosition(*this); + template ArgsPosition pos() { + return ArgsPosition(*this); } // Ivalidatortemplet virtual bool doValidate(Inlet::IRunbase* inst) const { - auto valid_data = dynamic_cast*>(inst); - return ValidateTemplet::validateFor(valid_data->getArgSequence()); + auto valid_data = dynamic_cast*>(inst); + return ValidateTemplet::validateFor(valid_data->getArgSequence()); } virtual void getDepict(datas::IDataObject& self_description) const { @@ -200,7 +200,7 @@ namespace validate { auto array_l = self_description.newArray(); self_description.setChild(u8"ArgsList", array_l); - ValidateTemplet::getDepict(self_description); + ValidateTemplet::getDepict(self_description); } }; } diff --git a/PenetrateBasic/validate_impl.h b/PenetrateBasic/validate_impl.h index 6bbc57a..e7ea1db 100644 --- a/PenetrateBasic/validate_impl.h +++ b/PenetrateBasic/validate_impl.h @@ -17,6 +17,7 @@ namespace impls { _limit_max_times = static_cast(max * precision) + max_equal; } + virtual QString name() const{ return _name_store; } virtual bool check(double value) const { auto value_times = static_cast(value * precision); @@ -51,6 +52,9 @@ namespace impls { } + virtual QString name() const { + return _name_store; + } virtual bool check(int32_t value) const { return _limit_min_times < value && value < _limit_max_times; } @@ -82,6 +86,9 @@ namespace impls { _limit_min_times = _limit_min - min_equal; } + virtual QString name() const { + return _name_store; + } virtual bool check(int64_t value) const { return _limit_min_times < value && value < _limit_max_times; @@ -109,6 +116,9 @@ namespace impls { EnumsValidator(const QString& name, const QList& list) :_name_store(name), _enum_options(list) { } + virtual QString name() const { + return _name_store; + } virtual bool check(int32_t value) const { return _enum_options.contains(value); }