From f2b90f0caa2fe058723ce6ac4306c2e6cc941662 Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Wed, 2 Jun 2021 21:12:53 +0200 Subject: [PATCH] Added constructor to ParamConstraint --- Hazelnupp.vpp | Bin 748544 -> 748544 bytes Hazelnupp/ParamConstraint.h | 12 ++++++++++++ 2 files changed, 12 insertions(+) diff --git a/Hazelnupp.vpp b/Hazelnupp.vpp index ea050309294a006d4057241668d7b7478a7c488f..c1c3bc50503d1c74bab6893f5242dcf51fe20a9e 100644 GIT binary patch delta 14551 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 Z8HGY7|CxURZurl@ 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

s29MVtjtIMCw&K8&MEX;7>O@T3 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 NvwwToJ+UW<{{=& defaultValue, bool required) + : + key { key }, + constrainType { constrainType }, + wantedType { wantedType }, + defaultValue { defaultValue }, + required{ required } + { + return; + } + //! The key of the parameter to constrain std::string key;