Boost logo

Boost :

Subject: [boost] "Software Development using the C++ Boost Library", book in preparatiion
From: Daniel J. Duffy (dduffy_at_[hidden])
Date: 2010-02-15 00:55:50


Hello,

We would like to announce news on our new book in preparation that is based on the Boost library. Below is a description of what the book is about and its focus. We discuss several applications such as computational finance, simulation, maths, engineering as well as examples for a wider audience.

 

The book is pitched at intermediate level and upwards.

 

We would be very interested in receiving feedback from Boost authors (and those who are workinng with the library) concerning the chapters in the book, especially the extensive functionality in the library and possibly examples from areas not discussed above.

 

best regards and thank you!

 

Daniel J. Duffy

Robert Demming

 

//

 

Book Proposal "Software Development using the C++ Boost Library"

 

Daniel J. Duffy (dduffy_at_[hidden]), Robert Demming

Datasim Education BV

February 2010

 

Publisher: Datasim Press Ltd.

 

Web site: http://www.datasimfinancial.com/ <http://www.datasimfinancial.com/>

 

 

What is this book?

This book introduces and elaborates the C++ boost library and applies it to creating code and applications for a range of domains such as engineering, computational finance, mathematical physics and other exact disciplines.

We have written the book in such a way that the learning process is as seamless as possible; first, for each library we introduces its main features by discussing its syntax and by giving '101' examples to show to use it as quickly as possible. Second, we introduce some of the more advanced features in each library with a view to using and customizing them to suit application needs. Finally, we create small and medium-sized applications and test cases by integrating several libraries to show the usefulness and applicability of boost to support complex software systems.

The book is structured into seven major categories, each one of which dealing one particular aspect of software development and its applications.

 

For whom is this Book?

We have tried to write the book in such a way that it is accessible to as wide a group of developers as possible (an impossible task!) by the appropriate use of examples at each level of developer expertise and test cases that are of direct relevance in a number of application areas. We assume that the reader has several years of experience of object-oriented and template programming in C++.

 

Application Development using Boost

Regarding the test cases and applications we try to model them in such a way that the reader understand the problem and design intent before we discuss the actual coding. To this end, we consider the use of UML class and component diagrams (in the appropriate dosage!) to be essential. In one sense, "UML is C++ in pictures".

 

Some applications that we discuss in the book are:

 

            Using Lambda to simplify use of STL algorithms

            Using Signals to implement, MVC, Observer and PAC patterns (GOF, POSA)

            Using Bind and Function to semi-discretise partial differential equations (PDE)

            Random for Monte Carlo simulation, numerical integration and option pricing

            Any and data-independent parameter passing between modules

            Interval arithmetic and explicit modelling of numerical imprecision

            Various text-processing applications

            Compile-time arrays and matrices using Array

            Using multi_array to model n-dimensional PDEs

            uBLAS as data structures for numerical algebra

            Statistical functions and their applications

            Accumulators and time series applications

            Using Flyweight as default in applications

            Multi-threaded scientific applications

            Network programming and Asio

            Mapping GOF patterns to boost (i.e. using boost to implement design blueprints)

 

///

 

Categories of Libraries

 

1. Higher Order Functions

 

            Function

            Bind

            Lambda

            Signals/Signals2

 

2. Data Types

            

            Any

            Integer

            Interval

            Parameter

            Rational

            Smart Pointer

            Tribool

            Tuple

            Variant

 

3. Text and String Processing

 

            Regex

            String Algo

            Tokenizer

            Xpressive

 

4. Data Structures and Searching

 

            Array

            Date Time

            Graph

            Multi-Array

            Multi-Index

 

5. Mathematics and Statistics

 

            Accumulators

            Math Common Factor

            Math/Special Functions

            Math/Statistical Distributions

            Random

            uBLAS

            

6. Utilities and other Libraries

 

            Conversion

            Dynamic Bitset

            Filesystem

            Flyweight

            Lexical Cast

            Numeric Conversion

            Program Options

            Test

 

7. Multithreading and Networking

 

            Asio

            Statechart

            Thread

            Timer

 

 

Yours sincerely and thank you

 

Daniel Duffy, PhD

Ing. Robert Demming


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk