Search

C++ Template Metaprogramming

av David Abrahams och Aleksey Gurtovoy

Köp begagnad bok

Ej i lager. Bevaka denna bok.

Köp ny bok

Fakta

Förlag Pearson Education
Språk Engelska
Bandtyp Övrigt
Utgiven 2004-12-22
Antal sidor 408
ISBN 9780321227256
Kategori(er)
Lägg i varukorgen

Beskrivning

Preface.

Acknowledgments.

Making the Most of This Book.

1. Introduction.

    Getting Started.

    So What's a Metaprogram?

    Metaprogramming in the Host Language.

    Metaprogramming in C++.

    Why Metaprogramming?

    When Metaprogramming?

    Why a Metaprogramming Library?

2. Traits and Type Manipulation.

    Type Associations.

    Metafunctions.

    Numerical Metafunctions.

    Making Choices at Compile Time.

    A Brief Tour of the Boost Type Traits Library.

    Nullary Metafunctions.

    Metafunction Definition.

    History.

    Details.

    Exercises.

3. A Deeper Look at Metafunctions.

    Dimensional Analysis.

    Higher-Order Metafunctions.

    Handling Placeholders.

    More Lambda Capabilities.

    Lambda Details.

    Details.

    Exercises.

4. Integral Type Wrappers and Operations.

    Boolean Wrappers and Operations.

    Integer Wrappers and Operations.

     Exercises.

5. Sequences and Iterators.

    Concepts.

    Sequences and Algorithms.

    Iterators.

    Iterator Concepts.

    Sequence Concepts.

    Sequence Equality.

    Intrinsic Sequence Operations.

    Sequence Classes.

    Integral Sequence Wrappers.

    Sequence Derivation.

    Writing Your Own Sequence.

    Details.

    Exercises.

6. Algorithms.

    Algorithms, Idioms, Reuse, and Abstraction.

    Algorithms in the MPL.

    Inserters.

    Fundamental Sequence Algorithms.

    Querying Algorithms.

    Sequence Building Algorithms.

    Writing Your Own Algorithms.

    Details.

    Exercises.

7. Views and Iterator Adaptors.

    A Few Examples.

    View Concept.

    Iterator Adaptors.

    Writing Your Own View.

    History.

    Exercises.

8. Diagnostics.

    Debugging the Error Novel.

    Using Tools for Diagnostic Analysis.

    Intentional Diagnostic Generation.

    History.

    Details.

    Exercises.

9. Crossing the Compile-Time/Runtime Boundary.

    for each.

    Implementation Selection.

    Object Generators.

    Structure Selection.

    Class Composition.

    (Member) Function Pointers as Template Arguments.

    Type Erasure.

    The Curiously Recurring Template Pattern.

    Explicitly Managing the Overload Set.

    The "sizeof Trick".

    Summary.

    Exercises.

10. Domain-Specific Embedded Languages.

    A Little Language.

    Goes a Long Way.

    DSLs, Inside Out.

    C++ as the Host Language.

    Blitz++ and Expression Templates.

    General-Purpose DSELs.

    The Boost Spirit Library.

    Summary.

    Exercises.

11. A DSEL DesignWalkthrough.

    Finite State Machines.

    Framework Design Goals.

    Framework Interface Basics.

    Choosing a DSL.

    Implementation.

    Analysis.

    Language Directions.

    Exercises.

Appendix A. An Introduction to Preprocessor Metaprogramming.

    Motivation.

    Fundamental Abstractions of the Preprocessor.

    Preprocessor Library Structure.

    Preprocessor Library Abstractions.

    Exercise.

Appendix B. The typename and template Keywords.

    The Issue.

    The Rules.

Appendix C. Compile-Time Performance.

    The Computational Model.

    Managing Compilation Time.

    The Tests.

Appendix D. MPL Portability Summary.

Bibliography.

Index. 

Läs mer
,

Hittills har vi återanvänt

 2 

 5 

 0 

 5 

 8 

 0 

 6 

böcker.

Trustpilot

Sveriges grönaste och skönaste bokhandel med den billigaste kurslitteraturen.

Detta är vår ambition och vi tummar inte på något för att nå dit. Vi finns till för att hjälpa studenter att spara och tjäna pengar på sin kurslitteratur samtidigt som vi tillsammans gör miljön en tjänst. Företaget startade våren 2005 av två studenter och har sedan dess strävat mot att ständigt göra det enklare att köpa och sälja begagnad kurslitteratur för så många som möjligt.

Prenumerera på vårt nyhetsbrev

Prenumerera för att ta del av våra bästa studenttips, erbjudanden och kampanjer.

Läs mer om hur vi hanterar persondata i vårt avsnitt om personuppgiftbehandling.

Passa på att köpa kontorsmaterial

Visa allt kontorsmaterial 👉
Söker...
Stäng