Comments (2)
Thanks for the info. What compiler/warning level combination triggers a warning in this case?
I think I'd prefer std::size_t dynamic_extent = std::size_t(-1)
, but looking at the standard text it actually uses std::numeric_limits<std::size_t>::max()
, so perhaps that's what we should go for.
from span.
With MSVC with warning level 4 this leads to the following:
warning C4245: 'initializing': conversion from 'int' to 'size_t', signed/unsigned mismatch
Also see this online example.
We compile with /W4 and warnings as errors, so we can't use span out of the box. (thanks for the work btw)
Although there don't seem to be any implementations that don't use two's complement and there are afaik ideas to make the abstract machine two's compement currently using -1
is non-compliant. Same goes for ~0
of course.
I'd propose using SIZE_MAX
or in case you don't want to add the extra header std::size_t{} - 1u
should also work because modular arithmetics are guaranteed for unsigned types.
from span.
Related Issues (20)
- Does not compile with span of bool type HOT 7
- span.hpp should include <iterator> and <tuple> HOT 3
- Allow usage as submodule HOT 2
- p1872r0 has not been implemented (replacing index_type with size_type) HOT 3
- Update constructors HOT 1
- Add versioning info in-source and in git HOT 3
- Latest C++20 draft has no cbegin/cend/crbegin/crend (anymore) HOT 1
- Linking problems with multiple translation units HOT 1
- header pollution HOT 6
- Release HOT 2
- TCB_SPAN_THROW_ON_CONTRACT_VIOLATION makes this implementation non-conforming according to C++20 HOT 2
- Add .natvis file
- Compilation error caused by data() member HOT 11
- Cannot construct from std::array of const values HOT 1
- span type missing const_iterator member type HOT 1
- Compilation error when trying to emplace spans in a vector (while STL span works fine) HOT 1
- MINSIGSTKSZ cannot be used for constexpr variable HOT 2
- Can tcb::span be forward-declared safely?
- ‘terminate’ is not a member of ‘std’ HOT 2
- Cannot implicitly convert between a subclass of std::vector<T*> and tcb::span<const T* const> HOT 7
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 span.