Actions

Difference between revisions of "Boostcon 2008"

From Just in Time

Line 75: Line 75:
 
==Building a mini-fusion with C++0x==
 
==Building a mini-fusion with C++0x==
 
*relation between run-time and compile-time: boost::fusion::xxx vs. boost::fusion::type_of<...>
 
*relation between run-time and compile-time: boost::fusion::xxx vs. boost::fusion::type_of<...>
 +
 +
==LIAW Wednesday==
 +
edit distance/sequence alignment algos may be quite hot: dna sequencing.
 +
 +
==Bjarne Stroustrup: A C++ library wish list==
 +
* what do we want
 +
* What would I like
 +
* Teaching C++
 +
* What is "a system"
 +
* A system for c++ Libraries
 +
 +
C++ libraries are small.
 +
About 25 GUI libraries, no interoperability.
 +
We do not have a system of interoperating libraries
 +
 +
TBB going in the right direction.
 +
 +
Problem: Those 'novices' that "knew everything" telling those that have never seen a line of code what to do.
 +
 +
Teach in a way that encourages hard work.
 +
 +
*fltk? (gui & graph)

Revision as of 15:18, 7 May 2008

This page will contain the notes that I will make during Boostcon 2008. For a trip-report, see the Trip report boostcon 2008-page.

Boost.Extension & Boost.Reflection

Extension

Problems with shared libraries

  • performance
  • differences in semantics of open, close, getprocaddr
  • name mangling, extern "C" losing type safety
shared_library m("my_module_name");
m.open();
m.get<int(float)>(function_name")(5.0f);
m.close();

Reflection

as expected...

liaw Tuesday

quickbook

Joel

  • docs in boost head/tools

Installing it on windows:

  • quickbook uses boostbook uses docbook.
  • problem with latest xslt: do not download latest version (may have been fixed). Use 1.66.1 version. Not listed on sourceforge. Just change url while downloading from sf.
  • Eric's docs demonstrate how to use doxygen

Eric:

import doxygen
import quickbook;

doxygen autodoc
   :
     [ glob ../../../boost/xpresive/*.hpp]
   :
     <doxygen:param>X=Y
;

xml xpressive
  :
     xpressive.qbk
  ;

boostbook standalone
  :
        xpressive
  :
     
  • boostdocs mailinglist discusses how to get rid of boost-headers.
  • URLs to code can be svn urls.

concurrency

  • Intel TBB as a starting point [1]
  • TPL?

containers

range

[www.boost-consulting.com/vault/ file vault]

range_ex has versions of stl algorithms that accept ranges. return type can be customized (range, iterator, what range).

Explore, container printing

It took pretty much in the neighborhood of 90 minutes. Amazing, I thought it would be about 45. Good thing it was scheduled for 90 minutes.

Audience participation was great. Benign and very constructive.

boost serialization: A Hands on Tutorial

  • load_construct_data & save_construct_dat
    • for types that have no default constructor
  • serialize classes that are outputstreamable and inputstreamable (to C++ streams)
    • use load_construct_data etc
    • ...or use BOOST_SERIALIZATION_SPLIT_FREE om load/save te splitsen.
    • BOOST_SERIALIZATION_SPLIT_MEMBER() in de class scope
bjam --with-serialization --layout-system variant=debug link=shared stage

optionally append -jN+1 (N = number of processors)

Building a mini-fusion with C++0x

  • relation between run-time and compile-time: boost::fusion::xxx vs. boost::fusion::type_of<...>

LIAW Wednesday

edit distance/sequence alignment algos may be quite hot: dna sequencing.

Bjarne Stroustrup: A C++ library wish list

  • what do we want
  • What would I like
  • Teaching C++
  • What is "a system"
  • A system for c++ Libraries

C++ libraries are small. About 25 GUI libraries, no interoperability. We do not have a system of interoperating libraries

TBB going in the right direction.

Problem: Those 'novices' that "knew everything" telling those that have never seen a line of code what to do.

Teach in a way that encourages hard work.

  • fltk? (gui & graph)