TableofContentsModernC++Design:GenericProgrammingandDesignPatternsAppliedByAndreiAlexandrescuPublisher:AddisonWesleyPubDate:February01,2001ISBN:0-201-70431-5Pages:352ModernC++Designisanimportantbook.Fundamentally,itdemonstrates'genericpatterns'or'patterntemplates'asapowerfulnewwayofcreatingextensibledesignsinC++--anewwaytocombinetemplatesandpatternsthatyoumayneverhavedreamtwaspossible,butis.IfyourworkinvolvesC++designandcoding,youshouldreadthisbook.Highlyrecommended.-HerbSutterWhat'slefttosayaboutC++thathasn'talreadybeensaid?Plenty,itturnsout.-FromtheForewordbyJohnVlissidesInModernC++Design,AndreiAlexandrescuopensnewvistasforC++programmers.Displayingextraordinarycreativityandprogrammingvirtuosity,Alexandrescuoffersacutting-edgeapproachtodesignthatunitesdesignpatterns,genericprogramming,andC++,enablingprogrammerstoachieveexpressive,flexible,andhighlyreusablecode.Thisbookintroducestheconceptofgenericcomponents-reusabledesigntemplatesthatproduceboilerplatecodeforcompilerconsumption-allwithinC++.Genericcomponentsenableaneasierandmoreseamlesstransitionfromdesigntoapplicationcode,generatecodethatbetterexpressestheoriginaldesignintention,andsupportthereuseofdesignstructureswithminimalrecoding.TheauthordescribesthespecificC++techniquesandfeaturesthatareusedinbuildinggenericcomponentsandgoesontoimplementindustrialstrengthgenericcomponentsforreal-worldapplications.RecurringissuesthatC++developersfaceintheirday-to-dayactivityarediscussedindepthandimplementedinagenericway.Theseinclude:Policy-baseddesignforflexibilityPartialtemplatespecializationTypelists-powerfultypemanipulationstructuresPatternssuchasVisitor,Singleton,Command,andFactoriesMulti-methodenginesForeachgenericcomponent,thebookpresentsthefundamentalproblemsanddesignoptions,andfinallyimplementsagenericsolution.Inaddition,anaccompanyingWebsite,http://www.awl.com/cseng/titles/0-201-70431-5,makesthecodeimplementationsavailableforthegenericcomponentsinthebookandprovidesafree,downloadableC++library,calledLoki,createdbytheauthor.Lokiprovidesout-of-the-boxfunctionalityforvirtuallyanyC++project.Team-Fly®iiTableofContentTableofContent.......................................................................................................................iCopyright...............................................................................................................................viForeword...............................................................................................................................viiForeword................................................................................................................................ixPreface....................................................................................................................................xAudience............................................................................................................................xiLoki...................................................................................................................................xiOrganization.....................................................................................................................xiiAcknowledgments...............................................................................................................xiiiPa...