Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision |
2013:dynamic_c [2012/11/05 10:32] – created jonjagger | 2013:dynamic_c [2016/06/11 14:05] (current) – external edit 127.0.0.1 |
---|
**Type**: Tutorial\\ | **Type**: Tutorial\\ |
**Duration**: 90 minutes\\ | **Duration**: 90 minutes\\ |
**Description**: \\ | **Description**: Data from external sources comes in diverse types and brings along the need for datatype conversion. How can a C++ programmer accurately and efficiently transfer data from relational or XML database to JSON or HTML without stumbling over the C++ type checking mechanism? The answer is by using type erasure techniques; session will enumerate, explore and compare the most popular C++ type erasure solutions.\\ |
\\ | \\ |
| Given the above problem as well as both historical (ANSI C union and void*, MS COM Variant, boost::[variant, any, lexical_cast]) and recent (boost::type_erasure, Facebook folly::dynamic) development trends (including pending boost::any C++ standard proposal), it is obvious that there is a need for a way around the static nature of C++ language. There is also more than one solution to this problem; session will explore the internals of boost::[variant, any, type_erasure], folly::dynamic and Poco::Dynamic. Design, capabilities as well as pros and cons of each solution will be examined. Performance benchmark comparisons will be reviewed as well. \\ |
| \\ |
| Type safety is an important feature of C++; type erasure is a necessary technique for modern software development. Session examines and compares existing solutions to these important concerns. \\ |
| \\ |
| Roger: Yes\\ |
| Asti: yes \\ |
| |