From: arjen
Date: Fri, 4 May 2007 14:05:23 +0000 (+0000)
Subject: Prepared documentation for release 0.4
X-Git-Tag: AXE_0_4
X-Git-Url: http://www.andromeda.nl/gitweb/?a=commitdiff_plain;h=baf73883169fa3566f60f4fb97e8ae2628d78b7c;p=AXE.git
Prepared documentation for release 0.4
---
diff --git a/AXE.html b/AXE.html
index b346dd4..770f5e1 100644
--- a/AXE.html
+++ b/AXE.html
@@ -24,9 +24,94 @@ and buttons.
A few utility classes handle strings, times and dates.
+Release notes for AXE 0.4
+
+The latest release is 0.4.
+This release has the following features and fixes:
+
+
+- regex class:
+
+ - Added a copy contructor. This prevents multiple frees in the destructor.
+
+
+- Configuration class:
+
+ - Added new arguments to find_parameter() to allow for a list of
+ sections and a list of parameters in sections.
+ The new arguments are section index and parameter index (default = 0).
+
+ - Do not read the config file in the home
+ directory if the HOME environment variable doesn't exist.
+
+
+
+- String class:
+
+ - Dynamically allocate more memory if the string buffer runs out of space.
+ - Constructor and assignment from char * are more robust from NULL pointers.
+
+
+
+
+Release notes for AXE 0.3
+
+
+
+- Configuration class:
+
+ - Improved the XML library configuration.
+ - Uses the XML2 library
+ - Bug Fixes in configuration class: segfault when finding a parameters
+ that is not in the user-sepcific config tree.
+ Check if a configuration file exists before feeding it to the XML parser.
+ - Bugfix: In configuration::find_parameter(), check if the parameter node exists
+ before retrieving its contents.
+ - BUG FIX: testaxe crashed without a config file.
+
+
+- String class:
+
+ - New functions: String::escape(), String::unescape()
+ - New feature: substring selection by regular expression, with
+ substring String::operator()(const regex &r);
+ - Bugfix: Reading a String object from an istream now checks for
+ end-of-file.
+
+
+
+- Date and time classes:
+
+ - Bugfix: conversion of an empty string to a date or hour object
+ now makes the values of such an object 0 (null) instead of giving
+ a segmentation fault.
+ - The class UTC combines the date and hour classes. The most basic
+ functions of the UTC class are now implemented.
+ These include constructors and conversion to and from String objects.
+ - New functions: date::proper(), hour::proper() and UTC::proper().
+ Return true if the object holds a proper clock time and/or calendar
+ date; false if at least one value is out of range.
+ - date::format() is now properly implemented
+ - New operator to read an 'hour' object from an istream:
+ istream & operator >> (istream &, hour &)
+ - New function 'String hour::format()'. The default format is HH:MM:SS
+ in 24 hour clock.
+ - New function 'hour now()' read the current time of day.
+
+
+
+- Tests and demos:
+
+ - Reinstated the metronome demo
+ - BUG FIX: acltest.cpp included the obsolete complex number test.
+
+
+
+
+
Download
-You can download the AXE tarball which
+You can download the AXE release 0.3 tarball which
contains the source and the (slghtly outdated) documentation.
To get you started, read the tutorial.
@@ -34,9 +119,7 @@ To get you started, read the tutorial.
Patches
diff --git a/ChangeLog b/ChangeLog
index ac5d084..8dc0d0b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+May 04, 2007 - Release 0.4
+---------------------------
+
+ - Dynamically allocate more memory if the string buffer runs out of space when
+ reading a String object from an input stream.
+ - Added new arguments to configuration::find_parameter() to allow for a list of
+ sections and a list of parameters in sections.
+ The new arguments are section index and parameter index (default = 0).
+ - Added a copy contructor to the regex class. This prevents multiple frees in the destructor.
+
+Mar 29, 2003 - Patch 0.3.1
+---------------------------
+
+ - String constructor and assignment from char * are more robust from NULL pointers.
+ - Bugfix in the configuration class: Do not read the config file in the home
+ directory if the HOME environment variable doesn't exist.
+
Nov 22, 2002 - Release 0.3
--------------------------
diff --git a/demos/timesheet.cpp b/demos/timesheet.cpp
index 169f340..da349c4 100644
--- a/demos/timesheet.cpp
+++ b/demos/timesheet.cpp
@@ -1,4 +1,4 @@
-#include "date.h"
+#include
class activity
{
@@ -41,17 +41,17 @@ main()
hour t1, t2;
String action1, action2, datestring;
- cin >> datestring;
- cin >> action1;
+ std::cin >> datestring;
+ std::cin >> action1;
d1 = date(datestring);
t1 = hour(datestring);
- while (cin)
+ while (std::cin)
{
- cin >> datestring;
+ std::cin >> datestring;
d2 = date(datestring);
t2 = hour(datestring);
- cin >> action2;
+ std::cin >> action2;
// process the activity from nr 1 to nr 2.
@@ -87,7 +87,7 @@ main()
action1 = action2;
}
- cout << "Activity\tJan\tFeb\tMar\tApr\tMay\tJun\tJul\tAug\tSep\tOct\tNov\tDec\tTOTAL\n\n";
+ std::cout << "Activity\tJan\tFeb\tMar\tApr\tMay\tJun\tJul\tAug\tSep\tOct\tNov\tDec\tTOTAL\n\n";
for (a = timesheet; a; a = a->next)
{
@@ -109,11 +109,11 @@ void activity::print(void)
{
hour total;
- cout << description << "\t";
+ std::cout << description << "\t";
for (int i=0; i<12; i++)
{
- cout << spent_in_month[i] << "\t";
+ std::cout << spent_in_month[i] << "\t";
total += spent_in_month[i];
}
- cout << total << "\t" << description << "\n";
+ std::cout << total << "\t" << description << "\n";
}