Download C++ Template Metaprogramming: Concepts, Tools, and by David Abrahams PDF

By David Abrahams

Abrahams and Gurtovoy have written whatever with regards to a vintage… excellent enjoyable to read…
learn the full booklet evaluation by Jack J. Woehr, Dr. Dobbs magazine, June 03, 2005

"If you are like me, you are occupied with what humans do with template metaprogramming (TMP) yet are annoyed on the loss of transparent assistance and strong instruments. good, this is often the booklet we have been looking forward to. With support from the wonderful increase Metaprogramming Library, David and Aleksey take TMP from the laboratory to the office with readable prose and functional examples, exhibiting that "compile-time STL" is as capable as its runtime counterpart. Serving as an educational in addition to a guide for specialists, this is often the booklet on C++ template metaprogramming."
—Chuck Allison, Editor, The C++ resource

C++ Template Metaprogramming sheds mild at the strongest idioms of latest C++, in the end providing useful metaprogramming instruments and strategies into the fingers of the standard programmer.

A metaprogram is a software that generates or manipulates software code. Ever on the grounds that universal programming was once brought to C++, programmers have came upon myriad "template methods" for manipulating courses as they're compiled, successfully taking away the barrier among software and metaprogram. whereas pleasure between C++ specialists approximately those services has reached the group at huge, their useful software continues to be out of achieve for many programmers. This e-book explains what metaprogramming is and the way it's best used. It presents the basis you will have to exploit the template metaprogramming successfully on your personal work.

This publication is geared toward any programmer who's ok with idioms of the normal Template Library (STL). C++ power-users will achieve a brand new perception into their present paintings and a brand new fluency within the area of metaprogramming. Intermediate-level programmers who've realized a couple of complex template concepts will see the place those methods slot in the massive photo and should achieve the conceptual beginning to take advantage of them with self-discipline. Programmers who've stuck the smell of metaprogramming, yet for whom it really is nonetheless mysterious, will ultimately achieve a transparent realizing of ways, whilst, and why it really works. All readers will go away with a brand new software of exceptional energy at their disposal—the improve Metaprogramming Library.

The spouse CD-ROM comprises all enhance C++ libraries, together with the increase Metaprogramming Library and its reference documentation, besides the entire book's pattern code and broad supplementary material.

Read Online or Download C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond PDF

Similar c & c++ windows programming books

Expert F Sharp

Professional F#
Expert F# is ready sensible programming in a stunning language that places the facility and magnificence of practical programming into the arms of . internet builders. together with . internet, F# achieves unmatched degrees of programmer productiveness and software readability. This books serves as
- The authoritative consultant to F# by way of the fashion designer of F#
- A accomplished reference of F# techniques, syntax, and features
- A treasury of specialist F# strategies for sensible, real-world programming
While encouraged by way of OCaml, F# is not just one other sensible programming language. Drawing on the various strengths of either OCaml and . internet, it is a general-purpose language excellent for real-world improvement. F# integrates sensible, valuable, and object-oriented programming kinds so that you can flexibly and assuredly clear up programming difficulties, and brings . web improvement alive with interactive execution. no matter what your history, you will discover that F# is simple to benefit, enjoyable to exploit, and terribly strong. F# can help swap how you take into consideration and pass approximately programming.
Written via F#'s clothier and energetic individuals, specialist F# is the authoritative, finished, and in-depth advisor to the language and its use. Designed to aid others turn into specialists, the e-book provides an intensive creation to the F# language from quickly necessities to in-depth complex themes equivalent to lively trend matching, mixture information varieties and operators, series expressions, lazy values, mutable information and side-effects, generics, kind augmentations, practical decomposition and code organization.
The moment 1/2 the publication is dedicated to reading the sensible software of F#, supplying based options to universal programming initiatives together with UI implementation, facts entry, net and disbursed programming, symbolic and numerical computations, concurrent programming, trying out, profiling, and interoperability with different languages. the newest sizzling advancements in F# and . internet also are addressed, together with lively styles, implicit classification building, integration with LINQ over relational info, meta programming and important counsel for operating with visible Studio and F# command-line tools.
The world's most excellent specialists in F# aid you application in F# the way in which they do!

Deploying .NET Applications

Confirmed writer offers professional research on key new positive aspects visible Studio 2005 liberate offers an plentiful catalyst for revenues of this booklet Our . internet 2. zero sequence has confirmed to be a really winning e-book line; this can be a member of such

C ++ Windows Programming

Key FeaturesCreate diversified purposes that includes the flexibility of Small home windows C++ libraryLearn approximately object-oriented programming in home windows and the way to strengthen a wide object-oriented type library in C++Understand easy methods to take on application-specific difficulties besides buying a deep figuring out of the workings of home windows architectureBook DescriptionIt is necessary that glossy builders have the proper instruments to construct sensible, trouble-free, and effective functions so one can compete in brand new marketplace.

Additional resources for C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond

Sample text

Has_trivial_destructor) that require non-standard compiler support in order to be fully functional. A few compilers, notably Metrowerks CodeWarrior and SGI MipsPro, have actually implemented the necessary primitives. On other compilers, these traits generally are correct for some types and degrade "gracefully and safely" for others. By "gracefully" we mean that even when the traits don't have the correct result, their use will still compile. To understand what we mean by "safely," you have to know that these traits are mostly used to decide whether certain optimizations are possible.

Remove_cv T without any top-level cv-qualifiers. For example,const volatile int becomes int. remove_reference T without any top-level reference. For example,int& becomes int but int* remains unchanged. remove_bounds T without any top-level array brackets. For example,int[2][3] becomes int[3]. remove_pointer T without any top-level pointer. For example,int* becomes int, but int& remains unchanged. add_reference If T is a reference type, thenT, otherwise T&. add_pointer remove_reference::type*.

Our customers have an iter_swap that is both fast and correct. com to register it. Thanks . com to register it. Thanks. 5. A Brief Tour of the Boost Type Traits Library It turns out that almost every serious template metaprogram ends up needing facilities like those provided by the Boost. Type Traits. The library has proven so useful that it has been accepted into the C++ standard committee's first "Technical Report" ([n1424], [n1519]), a harbinger of things to come in the next official standard.

Download PDF sample

Rated 4.75 of 5 – based on 41 votes