filmov
tv
CppCon 2016: 'C++14 Reflections Without Macros, Markup nor External Tooling..'

Показать описание
—
—
C++ was lacking the reflections feature for a long time. But a new metaprogramming trick was discovered recently: we can get some information about POD structure by probing it's braced initializes. Combining that trick with variadic templates, constexpr functions, implicit conversion operators, SFINAE, decltype and integral constants we can count structure's fields and even deduce type of each field.
Now the best part: everything works without any additional markup nor macros typically needed to implement reflections in C++.
—
Antony Polukhin
Yandex
Hi, I'm Antony Polukhin, the author of Boost.TypeIndex and Boost.DLL libraries; maintainer of the Boost.LexicalCast, Boost.Any, Boost.Variant and Boost.Conversion libraries. I'm also the author of of the "Boost C++ Application Development Cookbook"
—
*-----*
*-----*
—
C++ was lacking the reflections feature for a long time. But a new metaprogramming trick was discovered recently: we can get some information about POD structure by probing it's braced initializes. Combining that trick with variadic templates, constexpr functions, implicit conversion operators, SFINAE, decltype and integral constants we can count structure's fields and even deduce type of each field.
Now the best part: everything works without any additional markup nor macros typically needed to implement reflections in C++.
—
Antony Polukhin
Yandex
Hi, I'm Antony Polukhin, the author of Boost.TypeIndex and Boost.DLL libraries; maintainer of the Boost.LexicalCast, Boost.Any, Boost.Variant and Boost.Conversion libraries. I'm also the author of of the "Boost C++ Application Development Cookbook"
—
*-----*
*-----*
CppCon 2016: 'C++14 Reflections Without Macros, Markup nor External Tooling..'
CppCon 2016: Vittorio Romeo “Implementing `static` control flow in C++14'
CppCon 2016: Atila Neves “Using C++14 to mock C functions'
CppCon 2016: Marcelo Juchem “The Power of Reflection with Facebook's Thrift'
CppCon 2016: Nat Goodspeed “Elegant Asynchronous Code'
Simple, Extensible Pattern Matching in C++14 - John R. Bandela [ CppCon 2015 ]
CppCon 2016: 'WG21-SG14 – Making C++ better for games, embedded and financial developers'...
CppCon 2018: Serge Guelton “Frozen data structures in C++14”
CppCon 2015: Peter Sommerlad “Variable Templates and Compile-Time Computation with C++14'
CppCon2014: Vittorio Romeo 'Quick Game Development with C++11 / C++14'
Runtime Reflection in C++
Better C++14 reflections - Antony Polukhin - Meeting C++ 2018
CppCon 2016: 'Achieving performance in financial data processing through compile time introspec...
CppCon 2017: Yu Qi “Compile-time reflection, Serialization and ORM”
CppCon 2016: Timur Doumler “Want fast C++? Know your hardware!'
CppCon 2016: Serge Guelton “C++ Costless Abstractions: the compiler view'
Kris Jusiak: A C++14 Dependency Injection Library
CppCon 2016: Hartmut Kaiser “Parallelism in Modern C++'
CppCon 2016: Jens Weller “Writing applications in modern C++ and Qt'
CppCon 2016: Tim Haines “Improving Performance Through Compiler Switches...'
CppCon 2016: Jon Kalb “unsigned: A Guideline for Better Code'
What is the basic interface? (part 2 of 2) - Lisa Lippincott [ CppCon 2016 ]
[C++] Reflection and related #programming #C++
CppCon 2015: Scott Schurr “constexpr: Introduction”
Комментарии