Tuesday, July 31, 2012

Building with GCC 4.1

Some first reports: I've thought that my compiler from 2009 is as old as it gets, but it turns out that people have some older ones. The build on GCC 4.1 requires two changes. First, it doesn't have the option "-Wno-sign-conversion", so remove that from Makefile.inc. Second, in cpp/table/RowHandle.h on line 56 replace sizeof(data_) with sizeof(AlignType).

Thursday, July 26, 2012

Version 1.0.0 released

Woohoo! The version 1.0.0 is officially released!

The download links are at the project web page http://triceps.sourceforge.net/ which had also gotten some refreshment.

Writing the manual took a long time but it ended up quite nice, big and detailed. It has about the same size as my book.

even more stuff for 1.0

I've added the function Triceps::Fields::makeTranslation() that makes the output field filtering and renaming, similar to the one in joins, easy to insert into the random user-defined templates. Again, look in the upcoming docs, the chapter on templates for the description.

The build instructions have been completely rewritten and greatly clarified. The build configuration settings became easier too.

The Table methods for row finding and iteration now confess on errors, since checking their error codes otherwise is completely impractical.

A lot more methods have been converted to the new-style error handling, with confessing on errors.

Friday, July 6, 2012

more updates

Some more stuff has been getting cleaned up:

$unit->setTracer($tracer);

now confesses on errors, so the problem with its error checking is fixed.

The tables now allow to create rowops of rows of all matching types, not only of the equal types. The approach with matching types was not consistent with what the labels did, so I've changed it.

The TableType now has the method

$tt->getRowType() 

that has the name consistent with the tables and labels. The old method rowType() also still exists.

The Opt::ck_ref() now also accepts the subclasses of the defined classes.

The new helper Fields::isStringType() has been added.

There also have been some major addition of the examples:

I've added a pretty big example of the main loop that includes the full socket handling in the chapter on Scheduling. It's not exactly production-ready but gives some idea.

Another addition in the chapter on Scheduling is an example of a topological loop that computes the Fibonacci numbers.

Many new examples have been added to the chapter on Templates.