odinthenerd / tmp Goto Github PK
View Code? Open in Web Editor NEWBoost (not yet) Tacit Meta Programming - your DSL for metaprogramming
Boost (not yet) Tacit Meta Programming - your DSL for metaprogramming
Hi Odin, I hope you have a great day, I'm really impress by some of your work.
It's not really an issue, but since I'm stuck at work with GCC 4.3 -std=gnu++0x, I did some experimentation to adapt your code to this environment. To my surprise, I did manage to replace a lot of using statement to their typedef counterpart :
template<typename T,typename C = identity_> struct dispatch<1,is_<T,C>> { template<typename A> using f = typename dispatch... f<std::is_same<T,A>>;};
become
template<typename T,typename C = identity_> struct dispatch<1,is_<T,C>> { template<typename A> struct f {typedef typename dispatch... f<std::is_same<T,A>::type>::type type; };};
This add a lot of boilerplate but I was able to make it compatible with GCC 4.3 since it have variadic template. The only difference is that listify_ is now a specialization of dispatch implemented with lift_<list,C>, and I must provide typename C = listify_<> as a default template metaclosure, but it get the job done. ALso most constexpr function like find_dispatch() must be reimplemented as a uint_<(calculation ? ...)>::value.
I only remade simple construct until now and I'm seeing some progress, but I may not see the big picture on where I'll hit a wall due to some properties of using statement.
Fusion-based features were an important part of your talks, and I'm not even scratching the surface of those properties which I doubt could work at compile time under my conditions, but
it's worth a try.
My issue is about the development of this : Do you foresee problem using this method and are you interested in seeing a merge request ? I also don't know if you are rewriting things up since the number of commits is low, as you would have yet again found another template metatrick.
Thanks and I really enjoy your conference,
Remi123
there are many fast track algorithms which only work up to a small fast track size
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.