Releases: yossi-tahara/Theolizer
Xmlシリアライザに対応
Xmlシリアライザに対応しました。詳細はドキュメント、もしくは、Issue #41 をご参照下さい。
主には、Xml派生シリアライザを新規追加しています。
当初予定になかった形式でXml対応したため、基底シリアライザとのI/Fを少し見直しています。
それに伴い既存の派生シリアライザも微修正しています。
コンポーネント | 旧バージョン | 新バージョン | 備考 |
---|---|---|---|
Visual C++(Theolizer) | 2015 | 2017 | |
Visual C++(llvm) | 2015 | 2015 | llvmは2017でビルドできませんでした |
mingw | 5.4.0 | 7.1.0 | |
gcc | 5.4.0 | 5.4.0 | Ubuntu正規版なので残しました |
llvm | 3.9 | 4.0 | |
boost | 1.59.0 | 1.64.0 | |
CMake(Windows) | 3.5.0 | 3.8.0 | |
CMake(Linux) | 3.5.1 | 3.5.1 | Ubuntu正規版なので残しました |
Doxygen | 1.8.12 | 1.8.12 | 変更無し |
Graphviz | 2.38 | 2.38 | 変更なし |
使用しているコンポーネント群をバージョンアップしました
コンポーネントのバージョンアップ Issue #39
コンポーネント | 旧バージョン | 新バージョン | 備考 |
---|---|---|---|
Visual C++(Theolizer) | 2015 | 2017 | |
Visual C++(llvm) | 2015 | 2015 | llvmは2017でビルドできませんでした |
mingw | 5.4.0 | 7.1.0 | |
gcc | 5.4.0 | 5.4.0 | Ubuntu正規版なので残しました |
llvm | 3.9 | 4.0 | |
boost | 1.59.0 | 1.64.0 | |
CMake(Windows) | 3.5.0 | 3.8.0 | |
CMake(Linux) | 3.5.1 | 3.5.1 | Ubuntu正規版なので残しました |
Doxygen | 1.8.12 | 1.8.12 | 変更無し |
Graphviz | 2.38 | 2.38 | 変更なし |
今回より、llvmはllvm.orgのプリビルド版を使用するようにしました。
Windows用のllvm.orgのプリビルド版にはlibToolingが含まれていないため、手元の環境でビルドし、libToolingだけを抜き出したものを ここに登録し、こちらを使うようにしています。もちろん、従来通り自力ビルドも可能です。
メモリ・リーク検出機能の追加とリーク対処 Issue #40
Visual C++は_CrtSetDbgFlagを用いて、gccはvalgrindを用いてリーク検出するようにしました。
結果、Theolizerで1箇所、テスト・コードで2箇所リークを発見できたので対処しました。
プリビルド版は以下の通りです。
ファイル名 | 内容 |
---|---|
Theolizer-gcc540x64.tar.gz | gcc 5.4.0(Ubuntu 5.4.0-6ubuntu1~16.04.2)用 |
Theolizer-mingw710x32.zip | MinGW 7.1.0 32bits用 |
Theolizer-mingw710x64.zip | MinGW 7.1.0 64bits用 |
Theolizer-msvc2017x32.zip | Visual Studio C++ 2017 32bits用 |
Theolizer-msvc2017x64.zip | Visual Studio C++ 2017 64bits用 |
CMakeLists.txtを整理
Theolizer本体は修正ありません。
ユーザ・プログラム用のCMakeLists.txtを少し整理しました。従来のままでも使えます。
CMakeの使い方とTheolizerの組み込みの解説を作成しました。ここに置いてます。
プリビルド版は以下の通りです。
ファイル名 | 内容 |
---|---|
Theolizer-gcc540x64.tar.gz | gcc 5.4.0(Ubuntu 5.4.0-6ubuntu1~16.04.2)用 |
Theolizer-mingw540x32.zip | MinGW 5.4.0 32bits用 |
Theolizer-mingw540x64.zip | MinGW 5.4.0 64bits用 |
Theolizer-msvc2015x32.zip | Visual Studio C++ 2015 32bits用 |
Theolizer-msvc2015x64.zip | Visual Studio C++ 2015 64bits用 |
コンパイラのリプレースを不要にした
コンパイラのリプレースを不要にした:Issue #16
CMake 3.8.0以降のCTestの文字化け対策:Issue #37
プリビルド版は以下の通りです。
ファイル名 | 内容 |
---|---|
Theolizer-gcc540x64.tar.gz | gcc 5.4.0(Ubuntu 5.4.0-6ubuntu1~16.04.2)用 |
Theolizer-mingw540x32.zip | MinGW 5.4.0 32bits用 |
Theolizer-mingw540x64.zip | MinGW 5.4.0 64bits用 |
Theolizer-msvc2015x32.zip | Visual Studio C++ 2015 32bits用 |
Theolizer-msvc2015x64.zip | Visual Studio C++ 2015 64bits用 |
BinaryOpenプロパティの追加とupVersion関数で発生する問題に対処
BinaryOpenプロパティの追加
ストリームをオープンする時、Binaryモードでオープンするべきかどうか判定しやすいようBinaryOpenプロパティを追加しました。
upVersion関数で発生する問題に対処
内容は、以下の通りです。
- oNextVersionのNonKeepStep型メンバ変数はWrite Onlyにしていましたが、次バージョンの情報を見てupVersionしたいケースがあるため、読み出し可としました。
- クラスへのポインタ型(NonKeepStep型)のメンバ変数アクセスのためoperator->に対応しました。
プリビルド版は以下の通りです。
ファイル名 | 内容 |
---|---|
Theolizer-gcc540x64.tar.gz | gcc 5.4.0(Ubuntu 5.4.0-6ubuntu1~16.04.2)用 |
Theolizer-mingw540x32.zip | MinGW 5.4.0 32bits用 |
Theolizer-mingw540x64.zip | MinGW 5.4.0 64bits用 |
Theolizer-msvc2015x32.zip | Visual Studio C++ 2015 32bits用 |
Theolizer-msvc2015x64.zip | Visual Studio C++ 2015 64bits用 |
正式リリース
自動テスト、および、使い方のドキュメントについて、全て対応しましたので、正規リリースします。
これにてオープンβを終了しますので、以後、出来る限り過去との互換性を維持するように注意深く開発を進めます。
プリビルド版は以下の通りです。
ファイル名 | 内容 |
---|---|
Theolizer-gcc540x64.tar.gz | gcc 5.4.0(Ubuntu 5.4.0-6ubuntu1~16.04.2)用 |
Theolizer-mingw540x32.zip | MinGW 5.4.0 32bits用 |
Theolizer-mingw540x64.zip | MinGW 5.4.0 64bits用 |
Theolizer-msvc2015x32.zip | Visual Studio C++ 2015 32bits用 |
Theolizer-msvc2015x64.zip | Visual Studio C++ 2015 64bits用 |
クラスの変更方法の解説と自動テスト実装 Issue #27 #33
下記を完了しました。
- クラスの変更方法と対応の仕組みの説明
- バージョンアップ方法の説明
- バージョン・アップ/ダウン処理の書き方の説明
- 自動テストの実装
ファイル名 | 内容 |
---|---|
Theolizer-gcc540x64.tar.gz | gcc 5.4.0(Ubuntu 5.4.0-6ubuntu1~16.04.2)用 |
Theolizer-mingw540x32.zip | MinGW 5.4.0 32bits用 |
Theolizer-mingw540x64.zip | MinGW 5.4.0 64bits用 |
Theolizer-msvc2015x32.zip | Visual Studio C++ 2015 32bits用 |
Theolizer-msvc2015x64.zip | Visual Studio C++ 2015 64bits用 |
今回、Issue #33 「プリミティブとenumのバージョン間引継ぎ処理見直し」への対応、および、今後の機能改善をにらんで、ドライバが生成する自動生成ソースのフォーマットを微小ですが変更しました。
その結果、v0.4.4以前のTheolizerが出力した古い*.theolizer.hppと互換性がありません。
enum型の変更とバージョンアップ方法の使い方解説と自動テスト実装
enum型の変更とバージョンアップ方法の使い方の解説と自動テストの実装を完了しました。 Issue #25
ファイル名 | 内容 |
---|---|
Theolizer-gcc540x64.tar.gz | gcc 5.4.0(Ubuntu 5.4.0-6ubuntu1~16.04.2)用 |
Theolizer-mingw540x32.zip | MinGW 5.4.0 32bits用 |
Theolizer-mingw540x64.zip | MinGW 5.4.0 64bits用 |
Theolizer-msvc2015x32.zip | Visual Studio C++ 2015 32bits用 |
Theolizer-msvc2015x64.zip | Visual Studio C++ 2015 64bits用 |
標準コンテナとスマート・ポインタ・サポート実装
標準コンテナとスマート・ポインタ・サポート機能について自動テストと使い方の説明を追加しました。 Issue #24
ファイル名 | 内容 |
---|---|
Theolizer-gcc540x64.tar.gz | gcc 5.4.0(Ubuntu 5.4.0-6ubuntu1~16.04.2)用 |
Theolizer-mingw540x32.zip | MinGW 5.4.0 32bits用 |
Theolizer-mingw540x64.zip | MinGW 5.4.0 64bits用 |
Theolizer-msvc2015x32.zip | Visual Studio C++ 2015 32bits用 |
Theolizer-msvc2015x64.zip | Visual Studio C++ 2015 64bits用 |
オブジェクト追跡の自動テスト実装
オブジェクト追跡の使い方の説明と、その自動テストを実装しました。 Issue #13
ポリモーフィズムもここに含んでいます。
ファイル名 | 内容 |
---|---|
Theolizer-gcc540x64.tar.gz | gcc 5.4.0(Ubuntu 5.4.0-6ubuntu1~16.04.2)用 |
Theolizer-mingw540x32.zip | MinGW 5.4.0 32bits用 |
Theolizer-mingw540x64.zip | MinGW 5.4.0 64bits用 |
Theolizer-msvc2015x32.zip | Visual Studio C++ 2015 32bits用 |
Theolizer-msvc2015x64.zip | Visual Studio C++ 2015 64bits用 |