SKU/Artículo: AMZ-B0FHKWFRDD

C++ Metaprogramming in Action: A Technical Blueprint for Expressive, Zero-Runtime-Overhead Abstractions in C++20/23 via Advanced Templates, constexpr Computation, and Experimental Reflection

Format:

Hardcover

Hardcover

Kindle

Paperback

Detalles del producto
Disponibilidad:
En stock
Peso con empaque:
0.41 kg
Devolución:
Condición
Nuevo
Producto de:
Amazon
Viaja desde
USA

Sobre este producto
  • C++ Metaprogramming in Action is your hands-on playbook for harnessing the full power of compile-time C++. From typelist manipulation and constexpr algorithms to advanced Concepts, DSLs, and Reflection, this book guides you through building rock-solid, zero-overhead libraries, frameworks, and systems that validate themselves at compile time. Whether you’re refactoring legacy code or architecting greenfield projects where every cycle counts, you’ll gain the patterns, strategies, and diagnostics needed to deliver high-performance, maintainable code with confidence. What You’ll Learn ✔ Compile-Time Foundations – Craft and manipulate typelists, value sequences (std::integer_sequence), and compile-time maps and sets. – Write custom generators (make_stride_sequence), filters, and transforms that slice, dice, and rebuild packs entirely at compile time. – Validate assumptions early with strategic static_assert checks and marker types. ✔ Modern constexpr Engines – Build consteval data structures: fixed-capacity vectors, compile-time sorting, and frequency histograms. – Implement a fully constexpr JSON parser that constructs a minimal AST and emits clear compile-time errors on malformed input. – Balance evaluation depth and resource limits with iterative loops and fold expressions to avoid compiler blow-ups. ✔ Domain-Specific Embedded Languages (DSELs) – Design expression-template DSLs for vector math that fuse v1 + v2 * v3 into a single runtime loop with no temporaries. – Leverage C++20 Ranges and custom proxy types to build lazy filter–transform–take pipelines. – Enforce dimensional analysis (m/s * s → m) with a compile-time units system using exponent packs and Concepts. ✔ Static Polymorphism & Policies – Master CRTP for zero-overhead static dispatch and protocol enforcement without virtual tables. – Compose policy-based class hierarchies for allocation, logging, and threading behavior, all selected at compile time. – Write and combine custom and standard Concepts (std::integral, std::ranges::view) to enforce API contracts and guide overload resolution. ✔ Reflection & Compile-Time Introspection – Explore the C++23 Reflection TS (reflexpr, meta::info, meta::for_each) and its compiler support status. – Apply Boost.Hana’s BOOST_HANA_ADAPT_STRUCT and Mirror’s macros to simulate reflection—auto-generate to_json() serializers, metadata tables, and registration code. – Prepare your codebase for seamless migration to standardized std::experimental::meta when it becomes ubiquitous. ✔ Performance, Build, and Maintainability – Profile and contain compile-time costs: modularize templates, use precompiled headers or modules, and tune recursion depth. – Control binary size with explicit template instantiation, judicious inlining, and shared policy libraries. – Debug metaprograms using static_assert, diagnostic flags, marker types, and minimal reproductions. – Automate compile-time unit tests with static_assert suites covering edge cases, and document your metaprogram architecture with clear diagrams and examples. Who This Book Is For • C++ Library and Systems Engineers who demand zero-overhead abstractions and compile-time validation in every component. • Performance Architects looking to squeeze maximum throughput and minimal latency from template-driven designs. • Framework and DSL Authors crafting domain-specific languages, expression templates, or compile-time parsers. • DevOps and Platform Teams With production-tested patterns, complete code listings, and end-to-end hands-on projects, C++ Metaprogramming in Action equips you to transform C++’s most advanced features into maintainable, high-performance software where correctness and efficiency are guaranteed before you ever write a single unit test.
AR$83.090
44% OFF
AR$46.158

IMPORT EASILY

By purchasing this product you can deduct VAT with your RUT number

AR$83.090
44% OFF
AR$46.158

Pagá fácil y rápido con Mercado Pago o MODO

Llega en 8 a 12 días hábiles
con envío
Tienes garantía de entrega
Este producto viaja de USA a tus manos en