auto list = [](auto ...xs) { return [=](auto access) { return access(xs...); }; }; auto head = [](auto xs) { return xs([](auto first, auto ...rest) { return first; }); }; auto tail = [](auto xs) { return xs([](auto first, auto ...rest) { return list(rest...); }); }; auto length = [](auto xs) { return xs([](auto ...z) { return sizeof...(z); }); }; int len = length(list(1, '2', "3")); // 3
boost::thread master;
boost::thread_group slaves;
boost::mutex guard;
PS. К сожалению классы замедляют работу программы, поэтому я применял тип структура.
enum OldError { E_OK, E_WTF }; enum class Error { OK, WTF }; int main() { if (OldError e = E_WTF) // компилируется printf("!"); if (Error e = Error::WTF) // нет printf("!"); }
#include <iostream.h>, clrscr().
Используют boost и google-protobuf.
python svn-diffstat.py -rXXX22 files changed: 2741 insertions(+), 4069 deletions(-) = -1328