Top / ReleaseNote English

Release Note

  1. '07-04-28 Ver.1.8.1
  2. '06-02-13 Ver.1.8.0
  3. '05-08-09 Ver.1.7.2
  4. '05-02-15 Ver.1.7.1
  5. '03-12-06 Ver.1.7
  6. '03-09-18 Ver.1.6
  7. '03-07-29 Ver.1.5.2
  8. '03-04-27 Ver.1.5.1
  9. '03-04-05 Ver.1.5
  10. '01-05-02 Ver.1.4
  11. '01-04-20 Ver.1.3
  12. '00-01-15 Ver.1.02
  13. '99-09-20 Ver.1.01
  14. '99-07-03 Ver.1.00


  1. fix bug of the following member functions:

    child(), last(), parent(), del(), num() for jjAggregate
    child(), last(), num(), fwd() for jjCollect,
    child(), last(), num(), bwd(), fwd() for jjDCollect
    sel(), num() for jjHash
    first(), last(), from(), to(), fwd(), num() for jjGraph
    BEHAVIOR: When a class belong to multiple pattern and some situation returned null (e.g. end of iterator execution), these functions didn't correctly work.
  2. KNOWN ISSUE: Since g++ 3.? a lot of following warnings are reported:
    In member function `void foo::bar(...)':
    warning: invalid access to non-static data member `foo' of NULL object
    warning: (perhaps the `offsetof' macro was used incorrectly)
    This is not a really issue. I'll fix in later release.


  1. last() method is added to sequential container pattern (jjAggregate, jjCollect) and jjGraph.
  2. child() is now renamed to first() since opposite method last() is now introduced to all sequensial container patterns. It may be easy to memory first() <--> last() correspondence.
    child() is still valid for backward compativility.


  1. Fix bug of size_t macro in jj/pattern.h


  1. Fix ins() method bug for all container patterns


  1. Fix bug at jjHash::expand()
  2. Modify method to build FCGI version of jjLibrary
  3. Revise the way to build jjLibrary on HP-UX & aC++ environment


num() and ins() methods are added in pattern.


  1. FastCGI is now supported
  2. add HOWTO compile on HP-UX


Some errata in documents were fixed.


  1. GNU configure, automake, libtools に対応しました。
  2. SourceForce にて公開しました。


Ver.1.4 で、以下の機能を追加しました:


Ver.1.3 で、以下の機能を追加しました:


Ver.1.02 で、以下の機能を追加しました:
  1. EXT_... を private に宣言できるようにした
    本来、埋め込まれたパターンはパターンクラス以外からは見える必要のない ものなので、EXT_... は private で宣言できるようにしました。 もちろん、public パートで宣言しても問題ありません。

  2. Tree パターンの導入
    特別に jjTree というパターンは追加していませんが、以下のパターン定義 によって、Tree パターンを得ることができます:
    class Node {
    jjCollect(tree, Node, Node);	//or
    jjDCollect(tree, Node, Node);	//or
    jjAggregate(tree, Node, Node);	//or
    jjHash(tree, Node, Node);
    これは、「Tree の節(Node)とは、それ自身が親でもありNode でもある構造体 である」という Tree の定義そのままに宣言できるようになった、 ということでもあります。
    これは、原典にもなかった面白い特徴ではないか、 と思っています。

  3. jjCollect1, jjDCollect1 パターンの導入
    「単なる列の定義にいちいち2つのクラス(コンテナクラスと要素クラス) を定義するのが面倒」というニーズに対応するため、 原典の SINGLE_RING, DOUBLE_RING に相当する 列パターンを導入しました。

  4. 名前の変更:jjAssoc -> jjAggregate
    Perl, JavaScript, awk の連想配列(Associative Array)と混同しないよう、 親へのポインタを持つ集合パターン名を jjAggregate(集約)に変えました。


Add rep() method


Initial Edition