diff --git a/crypto3/libs/marshalling/core/include/nil/marshalling/algorithms/pack.hpp b/crypto3/libs/marshalling/core/include/nil/marshalling/algorithms/pack.hpp index 5a6f207318..737e276c9e 100644 --- a/crypto3/libs/marshalling/core/include/nil/marshalling/algorithms/pack.hpp +++ b/crypto3/libs/marshalling/core/include/nil/marshalling/algorithms/pack.hpp @@ -24,8 +24,8 @@ // SOFTWARE. //---------------------------------------------------------------------------// -#ifndef MARSHALLING_REPACK_NEW_HPP -#define MARSHALLING_REPACK_NEW_HPP +#ifndef MARSHALLING_PACK_HPP +#define MARSHALLING_PACK_HPP #include @@ -287,4 +287,4 @@ namespace nil::crypto3 { } // namespace marshalling } // namespace nil -#endif // MARSHALLING_REPACK_NEW_HPP +#endif // MARSHALLING_PACK_HPP diff --git a/crypto3/libs/marshalling/core/include/nil/marshalling/compile_control.hpp b/crypto3/libs/marshalling/core/include/nil/marshalling/compile_control.hpp deleted file mode 100644 index c0bb81f7f0..0000000000 --- a/crypto3/libs/marshalling/core/include/nil/marshalling/compile_control.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//---------------------------------------------------------------------------// -// Copyright (c) 2017-2021 Mikhail Komarov -// Copyright (c) 2020-2021 Nikita Kaskov -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -//---------------------------------------------------------------------------// - -#ifndef MARSHALLING_COMPILE_CONTROL_HPP -#define MARSHALLING_COMPILE_CONTROL_HPP - -#ifdef __GNUC__ -#define GCC_DIAG_STR(s) #s -#define GCC_DIAG_JOINSTR(x, y) GCC_DIAG_STR(x##y) -#define GCC_DIAG_DO_PRAGMA(x) _Pragma(#x) -#define GCC_DIAG_PRAGMA(x) GCC_DIAG_DO_PRAGMA(GCC diagnostic x) -#define CC_DISABLE_WARNINGS() \ - GCC_DIAG_PRAGMA(push) \ - GCC_DIAG_PRAGMA(ignored "-Wpedantic") \ - GCC_DIAG_PRAGMA(ignored "-Wctor-dtor-privacy") \ - GCC_DIAG_PRAGMA(ignored "-Wold-style-cast") - -#define CC_ENABLE_WARNINGS() GCC_DIAG_PRAGMA(pop) - -#else - -#define CC_DISABLE_WARNINGS() -#define CC_ENABLE_WARNINGS() -#endif - -#if !defined(CC_COMPILER_GCC47) && !defined(__clang__) && defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 8) -#define CC_COMPILER_GCC47 -#endif - -#endif // MARSHALLING_COMPILE_CONTROL_HPP diff --git a/crypto3/libs/marshalling/core/include/nil/marshalling/types/detail/options_parser.hpp b/crypto3/libs/marshalling/core/include/nil/marshalling/types/detail/options_parser.hpp index f1813a36f0..e7e6128572 100644 --- a/crypto3/libs/marshalling/core/include/nil/marshalling/types/detail/options_parser.hpp +++ b/crypto3/libs/marshalling/core/include/nil/marshalling/types/detail/options_parser.hpp @@ -28,7 +28,6 @@ #include #include -#include namespace nil::crypto3 { namespace marshalling { diff --git a/crypto3/libs/marshalling/core/include/nil/marshalling/types/integral/basic_type.hpp b/crypto3/libs/marshalling/core/include/nil/marshalling/types/integral/basic_type.hpp index 022b0f102f..5d7a3d14f9 100644 --- a/crypto3/libs/marshalling/core/include/nil/marshalling/types/integral/basic_type.hpp +++ b/crypto3/libs/marshalling/core/include/nil/marshalling/types/integral/basic_type.hpp @@ -35,9 +35,11 @@ namespace nil::crypto3 { namespace types { namespace detail { + template + class basic_integral; + template - class basic_integral : public TFieldBase { - static_assert(std::is_integral::value, "T must be integral value"); + class basic_integral>> : public TFieldBase { using base_impl_type = TFieldBase;