Comments (3)
I'd argue that there is nary a case where dyno::T
is not in the parameter list. If there is some weird case then simply ignoring the first param should not be a problem.
If that is true then why not make it always first?
Also this would be cool:
poly["draw"_s](std::cout);
On a sort of related note, I have been using different types of keys with Dyno like hana::type
to signal events.
from dyno.
I'd argue that there is nary a case where dyno::T is not in the parameter list. If there is some weird case then simply ignoring the first param should not be a problem.
If that is true then why not make it always first?
Because a function could want to be dispatched on a different argument than the first one, for example:
int operator+(int, MyType&);
On a sort of related note, I have been using different types of keys with Dyno like hana::type to signal events.
Interesting, I hadn't thought of that but it's certainly cool that this works. I expect this should work with arbitrary Hana compile-time Comparable
s.
from dyno.
Because a function could want to be dispatched on a different argument than the first one, for example:
int operator+(int, MyType&);
Perhaps we are talking about different things. When I look at all of the Dyno examples of concept map implementations as well as every Rust Trait implementation I can find, there is always self
at the front of the argument list.
The placeholder AFAICT is there for the storage value AKA self, and the user never calls the function with the signature directly unless they are working with poly
directly which is just crazy.
Maybe I am missing something. I'll have to play with it some more.
I'd like to see an example if you have time, but I know there is the conference coming up.
from dyno.
Related Issues (20)
- Provide a vtable implementation based on a switch statement
- Tone down documentation about speed of vtable dispatch
- Use a less generic user-defined literal HOT 4
- Cannot find HanaConfig.cmake HOT 4
- Allow specifying special member functions with DYNO_INTERFACE HOT 1
- Refactor dyno::poly
- Add test coverage for storage policies
- Add test coverage for vtable policies
- Please add Conan Repository support HOT 9
- Please create a C++20 proposal HOT 1
- Please submit to BOOST HOT 1
- make dyno::non_owning_storage the default HOT 1
- Arity and multiple SBO
- Documentation revisions: additional reasons for using this library
- Unnecessary copies for non-macro remote_storage interfaces HOT 1
- Memory is not laundered after placement newing
- Wrong static_assert in detail::erase
- Problem with GCC 8: Example does not compile b/c `poly::unerase_poly` is not declared. HOT 3
- 'concept' and 'requires' are keywords in c++2a HOT 4
- Compile time code generation HOT 3
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 dyno.