Comments (3)
Looks like it's this line?
std::enable_if_t<is_tuple_v<decay_t<T1>> && is_tuple_v<decay_t<T2>>, bool>`
In general, I think the line should be valid C++ code as it is. The CI build on Windows with MSVC seems to work fine.
Does it work if you change line 6395 to inline constexpr bool is_tuple_v = is_tuple<T>::value;
? (just replace auto
to bool
)
from cista.
Replacing auto
with bool
fixed errors: C2296,C2297, but other error messages appeared when compiling with Visual Studio 2017 (Only part of the error message is intercepted here):
...
\cista-0.14\include\cista/serialization.h(237): error C2228: left of '.ptr_' must have class/struct/union
\cista-0.14\include\cista/serialization.h(237): error C2672: 'cista::member_offset': no matching overloaded function found
\cista-0.14\include\cista/serialization.h(237): error C2780: 'cista::offset_t cista::member_offset(const T *,Member T::* )': expects 2 arguments - 1 provided
\cista-0.14\include\cista/serialization.h(49): note: see declaration of 'cista::member_offset'
\cista-0.14\include\cista/serialization.h(237): error C2780: 'cista::offset_t cista::member_offset(const T *,const Member *)': expects 2 arguments - 1 provided
\cista-0.14\include\cista/serialization.h(42): note: see declaration of 'cista::member_offset'
\cista-0.14\include\cista/serialization.h(241): error C2672: 'cista::member_offset': no matching overloaded function found
\cista-0.14\include\cista/serialization.h(241): error C2780: 'cista::offset_t cista::member_offset(const T *,Member T::* )': expects 2 arguments - 1 provided
\cista-0.14\include\cista/serialization.h(241): error C2780: 'cista::offset_t cista::member_offset(const T *,const Member *)': expects 2 arguments - 1 provided
...
Seems that some new std of c++17 are used, and it can no longer be compiled with vs2017?
from cista.
Maybe you can replace the content of the cista_member_offset
macro to return static_cast<::cista::offset_t>(offsetof(Type, Member));
?
Seems that some new std of c++17 are used, and it can no longer be compiled with vs2017?
Yes, we're targeting specifically C++17 at the moment. I don't have VS2017 at hand to check releases for compatibility but we check with whatever is provided in GitHub Actions CI with C++17 flags set.
from cista.
Related Issues (20)
- Feature request: specialize exceptions to cista HOT 3
- Feature request: builtin-in serialize and type_hash support for std::array HOT 6
- Discussion: STL containers can actually be supported ? HOT 3
- Help: Serialization and inheritance (with standard layout classes) HOT 22
- Wiki Typo HOT 1
- Any plans for c++20? HOT 2
- cista_members() approach: serialize tuples properly HOT 2
- nigiri Branch entfernt HOT 1
- Dealing with Data Pointer Offset in Checked Mode HOT 4
- Documentation request: how to build and run tests HOT 6
- Silence clang specific #pragma directives for other compilers ? HOT 2
- Static type hashing of std::complex HOT 5
- Create a stable release branch HOT 5
- Missing const& specifier for return type
- Cleanup: static_cast for `adjustment` should be `offset_t` since `start` is that type
- Support storing trailing \0 byte at the end of string HOT 5
- Support for `resize` [perhaps also `capacity` and `reserve`] for cista::generic_string/basic_string HOT 2
- String gives different size at "empty" input for short/non_short HOT 2
- How can I serialize a struct which contains anonymous union member HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cista.