o---------------o
| TALOS HISTORY |
o---------------o


Version 1.2.1 (2010-04-27)
-------------


Version 1.2 (2008-11-12)
-----------

** Improvements:

- Added support for SWIG.
- Added, in 'ExtStream' and 'ConfigStreams': 
   + 'GetValue(string name, string constraints, T& value)' and 
     'PeekValue(string name, string constraints, T& value)', which check
     that a numerical value read in a configuration file satisfies a list
     of constraints.
   + 'GetValue(string name, string accepted, string& value, string delimiter)'
     and 'PeekValue(string name, string accepted, string& value,
     string delimiter)', which check that the value read in the configuration
     file is in a list of accepted values.
   + 'GetValue(string name, T min, T max, T& value)' and 
     'PeekValue(string name, T min, T max, T& value)'.
- Added 'bool ConfigStream::GetElement(T&)'.
- Modified, in 'ExtStream' and 'ConfigStreams':
   + 'GetValue(string, T&)' and 'PeekValue(string, T&)' and their overloads
     now return nothing and raise an exception in case of problem, instead
     of returning a Boolean.
   + 'GetValue(string, T&)' and 'PeekValue(string, T&)' try to get or peek
     the element immediately following the entry, even if they search for 
     a number.
- Overloaded 'is_integer' for 'char*' and 'const char*', which may adequately
  shadow the Blitz++ template function 'is_integer'.
- Put an initialization to the usual delimiters in the default constructor of 
  'ExtStream'.
- Completed the reorganization of the code to split the declarations from the
  definitions.

** Bug fixes:

- In 'ExtStream' and 'ConfigStreams', a floating-point number could be 
  accepted as an integral value.


Version 1.1 (2007-10-09)
-----------

** Improvements:

- Added output operator << for dates.

** Bug fixes:

- The test to determine if a string represents a date could fail.


Version 1.0 (2007-04-24)
-----------

** Improvements:

- Improved the parsing of configuration files: fields are now only searched 
  in current section, and error messages when a field is not found have been 
  improved too.
- Improved the management of Windows end of line character. 
- Added functions 'is_date(const string& s)' and 'is_delta(const string& s)'.
- Added function 'GetOrdinalDay()'.


Version 0.4 (2006-09-29)
-----------

** Improvements:

- Improved the management of dates.
   + Added 'Date::Date(string date)', 'Date::operator=(string date)' and
     'Date::SetDate(string date)' so that dates provided with strings can be 
     read with high flexibility.
   + Added comparison operators <, <=, >, >=, == and != on dates.
   + Added 'Date::operator=(const Date&)'.
   + Added a copy constructor for 'Date'.
   + Added 'Date::GetSecondsFrom'.
   + Seconds in dates are now saved in a double precision variable.
- Added the ability to deal with sections in configuration files.
- Methods 'ExtStream::ExtStream(string, string, string)' and
  'ExtStream::Open(string, openmode)' now check that the file has been opened.
- In 'ExtStream' and 'ConfigStream', the files are now opened in binary mode so 
  that, under MS Windows, 'tellg' may not change the position in the stream.
- Changed 'fill(const string&, char, int, fmtflags)' into 'fill(const string&, 
  int, char, fmtflags)'.
- Changed the default alignment in 'fill' and 'to_str_fill' from right to left.

** Bug fixes:

- In 'Date::Adjust', negative months were not properly handled.
- In 'Date::Adjust', subtracting n seconds where n is a multiple of 60 did 
  not work.
- Fixed a bug in the detection of the end of a file.


Version 0.3 (2004-10-02)
-----------

** Improvements:

- Added 'ConfigStreams' to manage several configuration files as a single
  configuration file.
- Added the support of markup substitutions for configuration files.
- Talos now supports exceptions in 'ExtStream' and 'ConfigStream*', e.g. if
  an element is not found (method 'Find').
- Added methods:
   + ConfigStream::SetMarkupTags
   + ConfigStream::GetMarkupTags
   + ExtStream::FindFromBeginning
   + ExtStream::IsEmpty
   + ExtStream::SkipFullLines
   + ExtStream::SkipLines
   + ExtStream::SkipElements
   + ExtStream::SkipNumbers
- ExtStream now properly deals with booleans.
- Added methods:
   + Date::GetWeekDay
   + Date::GetNumberOfDays
   + Date::GetNumberOfHours
   + Date::GetNumberOfMinutes
   + Date::GetNumberOfSeconds
   + Date::Date()
- Added functions:
   + string fill(const string&, ...)
   + print(const vector<T>&)
   + split_markup
   + lower_case
   + upper_case
- Overloaded 'convert' to convert strings to booleans.

** Bug fixes:

- 'ExtStream::Rewind' failed if a previous operation on the stream
  failed, e.g. if EOF was read.
- In 'Date::Adjust': negative seconds and minutes were not well handled.


Version 0.2 (2004-04-10)
-----------


Version 0.1 (2004-03-15)
-----------
