diff --git a/src/executable/experiment.cpp b/src/executable/experiment.cpp index 0ed48f0..4af153b 100644 --- a/src/executable/experiment.cpp +++ b/src/executable/experiment.cpp @@ -1,79 +1,5 @@ -#include - -#include -#include - -struct S { - explicit operator int() const { - return 1; - } - S(int) {} - S &operator+=(auto i) { - return *this; - } - bool operator~() { - return true; - } -}; - -S &operator+=(S &s, auto i) { - return s; -} - -struct Tag {}; - -// void encode(qtils::is_tagged_v auto &&tagged, scale::ScaleEncoder auto &encoder) { -// encode(untagged(tagged), encoder); -// } -// void decode(qtils::is_tagged_v auto &tagged, scale::ScaleDecoder auto &decoder) { -// decode(untagged(tagged), decoder); -// } int main() { - qtils::Tagged x; - qtils::Tagged s(1); - qtils::Tagged, Tag> v(1); - qtils::Tagged ts; - int i; - - auto us = untagged(s); - - auto eq1x = 1 == x; - auto eqx1 = x == 1; - auto eqxx = x == x; - x = 1; - s = 1; - x += 1; - x += x; - s += 1; - s += x; - auto &cx = x; - s += cx; - s += std::move(x); - s += std::move(cx); - s += s; - // auto ss = x << 1; - - ++x; - --x; - auto ix = x++; - auto dx = x--; - - scale::Encoder es; - es << x; - es << v; - - scale::Decoder ds(es.backend().to_vector()); - ds >> x; - - auto lx = x << 1; - auto rx = x >> 1; - - auto &&w = !x; - auto&&ww = s.operator~(); - auto &&wwww = ~x; - auto z = ~i; - auto zzzz = not x; - + // place for experiments return 0; } diff --git a/src/scale/jam_scale.hpp b/src/scale/jam_scale.hpp index 5d986e6..39ea213 100644 --- a/src/scale/jam_scale.hpp +++ b/src/scale/jam_scale.hpp @@ -15,21 +15,20 @@ namespace jam { template [[nodiscard]] outcome::result> encode_with_config( T &&value, Configs &&...configs) { - scale::Encoder encoder{ - std::forward(configs)...}; + std::vector out; + scale::backend::ToBytes encoder(out, std::forward(configs)...); try { encode(std::forward(value), encoder); } catch (std::system_error &e) { return outcome::failure(e.code()); } - return std::move(encoder).backend().to_vector(); + return std::move(out); } template [[nodiscard]] outcome::result decode_with_config( - scale::ConstSpanOfBytes bytes, Configs &&...configs) { - scale::Decoder decoder{ - bytes, std::forward(configs)...}; + const auto &bytes, Configs &&...configs) { + scale::backend::FromBytes decoder(bytes, std::forward(configs)...); T value; try { decode(value, decoder); diff --git a/test-vectors/config-types.hpp b/test-vectors/config-types.hpp index 03b23c5..1a1cae9 100644 --- a/test-vectors/config-types.hpp +++ b/test-vectors/config-types.hpp @@ -29,7 +29,7 @@ namespace jam { using std::vector::emplace; public: - friend void encode(const ConfigVec &v, scale::ScaleEncoder auto &encoder) { + friend void encode(const ConfigVec &v, scale::Encoder &encoder) { const auto &config = encoder.template getConfig(); auto n = v.configSize(config); if (n == std::numeric_limits::max()) { @@ -41,7 +41,7 @@ namespace jam { } } - friend void decode(ConfigVec &v, scale::ScaleDecoder auto &decoder) { + friend void decode(ConfigVec &v, scale::Decoder &decoder) { const auto &config = decoder.template getConfig(); auto n = v.configSize(config); if (n == std::numeric_limits::max()) { diff --git a/vcpkg-overlay/qtils/portfile.cmake b/vcpkg-overlay/qtils/portfile.cmake index 661caa8..ce7f86a 100644 --- a/vcpkg-overlay/qtils/portfile.cmake +++ b/vcpkg-overlay/qtils/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO qdrvm/qtils - REF f5013e52027f6b3014c2ae902a94903583898639 - SHA512 6492edc93437b8edc254014b5face0521f0fd46fce6e6cab4e577fc00b6964b5930c75fd228fd8f3bb10bf57a6dd8722dcf2912a488b3f1174a99ed991ae4c54 + REF refs/tags/v0.1.0 + SHA512 301987eefc98b66c42dcf731d73c11c3e9835098fc3d9a1b8e3adef9b73dad6b0198019d416e1809956620377b48e575157d56b278dcdcf65a24ecdfc134605e ) vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") vcpkg_cmake_install() diff --git a/vcpkg-overlay/qtils/vcpkg.json b/vcpkg-overlay/qtils/vcpkg.json index a6f24b6..e02df75 100644 --- a/vcpkg-overlay/qtils/vcpkg.json +++ b/vcpkg-overlay/qtils/vcpkg.json @@ -1,6 +1,6 @@ { "name": "qtils", - "version": "0.0.3", + "version": "0.1.0", "dependencies": [ { "name": "vcpkg-cmake", "host": true }, { "name": "vcpkg-cmake-config", "host": true }, diff --git a/vcpkg-overlay/scale/portfile.cmake b/vcpkg-overlay/scale/portfile.cmake index 4addb69..53e8275 100644 --- a/vcpkg-overlay/scale/portfile.cmake +++ b/vcpkg-overlay/scale/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO qdrvm/scale-codec-cpp - REF 6ecc0c67eadacc9ab8acdeb73488bdc4c6e30d1c - SHA512 22267674113f04fb9c4624bd2cb69e6f4053edd129bfa5ffb83136e4ce2c04f6fe3dce9c729d5df08c84fd92a8a69938c249fa5068132ebc4a42d205142fb921 + REF refs/tags/v2.0.1 + SHA512 cc5158cdfecea7f516e2f110adcc00f3024649507908b366ef34a76398efcb735011d8fcacd2f41016eb769dfa74e93ee3af20049560fafd1576b280fb92acc7 ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" diff --git a/vcpkg-overlay/scale/vcpkg.json b/vcpkg-overlay/scale/vcpkg.json index 73942f4..f296762 100644 --- a/vcpkg-overlay/scale/vcpkg.json +++ b/vcpkg-overlay/scale/vcpkg.json @@ -1,6 +1,6 @@ { "name": "scale", - "version": "1.1.3", + "version": "2.0.1", "dependencies": [ { "name": "vcpkg-cmake", "host": true }, { "name": "vcpkg-cmake-config", "host": true }, diff --git a/vcpkg-overlay/soralog/portfile.cmake b/vcpkg-overlay/soralog/portfile.cmake index 53fd893..4c83acc 100644 --- a/vcpkg-overlay/soralog/portfile.cmake +++ b/vcpkg-overlay/soralog/portfile.cmake @@ -1,11 +1,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO xDimon/soralog - REF 4dfffd3d949b1c16a04db2e5756555a4031732f7 - SHA512 4a8f6066433e6bde504454ea256915e8e6975c060eabdaebd031df409d348b8c22ccd716ec11c4466b0f4322b1f2524350dcc77c3615a8511cba9886f88e7260 + REPO qdrvm/soralog + REF refs/tags/v0.2.5 + SHA512 47375cc61c78ebc4119781bf19ce3b92c4a5a40ed4dc77c0156ac0750df1e4d13455bf6f60d9ea2f0b7bf7dda75423eed320edce453617ab06d6c1c9a8a8843c ) vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") vcpkg_cmake_install() -#vcpkg_cmake_config_fixup(PACKAGE_NAME "soralog") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") \ No newline at end of file