Profile cover photo
Profile photo
Kenneth Ho
About
Kenneth's posts

Post has attachment
This dude really has done his homework!

Post has shared content
To read.
Interesting. I think assert should have been turned into a keyword before the introduction of static_assert. Then we could think about putting the static keyword in front of a bunch of other keywords like static assert, static if, static for, ... without introducing any more keywords!

Post has shared content
The world must know.

Post has attachment
Added two features to fp14::curry()
1. Uncurrying - fp14::uncurry
2. Helper for making sure calls are legit - fp15::callable_with()

#cpp #cplusplus #cpp14  

Post has shared content
[Global Notice] Earlier today the freenode infra team noticed an anomaly on a single IRC server. We have identified that this was indicative of the server being compromised by an unknown third party. We immediately started an investigation to map the extent of the problem and located similar issues with several other machines and have taken those offline. For now, we recommend that every change their NickServ password as a precaution. To do that, issue the command /msg NickServ set password YOURNEWPASSWORD (maximum length 79 characters), making sure / is the first character.

We'll issue more updates as WALLOPS and via social media!

Post has attachment
cout << "meetup" << 2
  << "Time: Sep/19th Friday 7pm"
  << "Location: TrendMicro 台北市敦化南路二段216號三樓 B307 會議室"
  << "Speaker: Luba Tang"
  << "Note: 由於 Luba 大大在趕飛機, 分享的題目將稍後 update";

// About COUT:
// https://plus.google.com/communities/116941083826567836973

Post has attachment
Currying in C++14.

AFAIK, this is the first curry() implementation that supports generic (polymorphic) lambdas.

Obviously, it's not fully polished, but should be enough to play around with.

Post has attachment

Noticed a bug in libc++.

vector::__construct_at_end() lacks strong exception-safety guarantee, so do depending member functions that are required to provide strong exception-safety. In fact, it lacks any sort of exception-safety whatsoever. If you call v.resize(n) or v.insert(v.end(), first, last) for example and something throws, you are left with a vector in broken state.

Planning a patch.

Post has attachment
I used to assume all mainstream C++ compilers layout vtables in a way that maps to the declaration order of virtual functions in a class.

Apparently MSVC does it differently. [1] Perhaps it uses manged name for ordering?

One big disadvantage of not using the declaration order in vtable is that one can not safely add virtual functions to a leaf class and maintain backward compatibility. [2]

[1] http://lists.kde.org/?l=kde-core-devel&m=139744177410091&w=2
[2] https://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C++

h/t +Chen-Yu Tsai for bringing this to my attention.

#cpp   #cplusplus
Wait while more posts are being loaded