From 2a0b83408d07738370d0c350f8a0518b1100e397 Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Tue, 12 May 2020 19:41:13 +0100 Subject: [PATCH 1/4] Squashed commit of the following: commit 70651fc29bb3eb8832d4dc7ba9aa24b16c0a1de3 Author: John Wellbelove Date: Tue May 12 19:24:46 2020 +0100 CircleCI works commit bdffb3635fe00b8089bd7afa6b8b689616d4abb1 Author: John Wellbelove Date: Tue May 12 19:08:17 2020 +0100 Attempt at getting CircleCI to work commit 3f3c1f1c23b8fb9ce43bd70f99bca33df82648c1 Author: John Wellbelove Date: Tue May 12 18:25:25 2020 +0100 Attempt at getting CircleCI to work commit 253c9b0171f38877ef6d62d8afa9f7dcb55bcc4a Author: John Wellbelove Date: Tue May 12 18:21:03 2020 +0100 Attempt at getting CircleCI to work commit df730d4de5cec878bbf01b015d08fdf2d847497d Author: John Wellbelove Date: Tue May 12 18:16:38 2020 +0100 Attempt at getting CircleCI to work commit 48d692ddd2701ad6c3145ef3251274f1df75853f Author: John Wellbelove Date: Tue May 12 18:03:20 2020 +0100 Attempt at getting CircleCI to work commit 13a6a578046869cba60ef078c66c3c3edd88fa59 Author: John Wellbelove Date: Tue May 12 17:57:26 2020 +0100 Attempt at getting CircleCI to work commit 9bf22248d0bb9d802b616ae54257c62d47ec31e1 Author: John Wellbelove Date: Tue May 12 17:55:38 2020 +0100 Attempt at getting CircleCI to work commit da5cb68c97229e214ab0b737c8e48b48c777b842 Author: John Wellbelove Date: Tue May 12 17:51:17 2020 +0100 Attempt at getting CircleCI to work commit 94a59d4b9a9ceda22ba794c238c43ab8cf27d31c Author: John Wellbelove Date: Tue May 12 17:40:30 2020 +0100 Attempt at getting CircleCI to work commit 07d17bfe01adb8ee4731dfa8d9f64216700a6324 Author: John Wellbelove Date: Tue May 12 17:38:46 2020 +0100 Attempt at getting CircleCI to work commit 4c9ae8a90ae7e785f618e95d484470d66c248477 Author: John Wellbelove Date: Tue May 12 17:33:13 2020 +0100 Attempt at getting CircleCI to work commit 72438721c15763790cbf55b1b8baf9c118924fdf Author: John Wellbelove Date: Tue May 12 17:23:29 2020 +0100 Attempt at getting CircleCI to work commit 4ccc85ef071f4a5706a06a0cef6b6f166e672cd9 Author: John Wellbelove Date: Tue May 12 17:22:21 2020 +0100 Attempt at getting CircleCI to work commit 2a555f55b18eb56dd6a3e0e4dcbdc86ca8d47c1d Author: John Wellbelove Date: Tue May 12 17:21:16 2020 +0100 Attempt at getting CircleCI to work commit a6c1c84aa9472f119bcf416c6cd6ebda611944ce Author: John Wellbelove Date: Tue May 12 17:20:15 2020 +0100 Attempt at getting CircleCI to work commit ae535f3c79dfe1448327869e28f751eeac703744 Author: John Wellbelove Date: Tue May 12 17:18:31 2020 +0100 Attempt at getting CircleCI to work commit d34c6e46dacf38700dbe49ef716ca5455c5e4824 Author: John Wellbelove Date: Tue May 12 17:16:44 2020 +0100 Attempt at getting CircleCI to work commit 156ae5220c9781ea2fa5d8c07eadab47afd5b1c7 Author: John Wellbelove Date: Tue May 12 17:02:19 2020 +0100 Attempt at getting CircleCI to work commit 07c2910ded57185b946e9ff39795c90729ff8540 Author: John Wellbelove Date: Tue May 12 16:59:50 2020 +0100 Attempt at getting CircleCI to work commit 7ac59e5f2086e44bf3d22d9699670973d763eba2 Author: John Wellbelove Date: Tue May 12 16:54:57 2020 +0100 Attempt at getting CircleCI to work commit 12a5e406faf4186ec5c4357ecf50d7dfaf5b6b10 Author: John Wellbelove Date: Tue May 12 16:53:08 2020 +0100 Attempt at getting CircleCI to work commit e1c0294019dc680f973e6d7220d58cc4655c75c4 Author: John Wellbelove Date: Tue May 12 16:50:49 2020 +0100 Attempt at getting CircleCI to work commit 0e3537526b6df30d0b329144ad8f509f57a230dc Merge: ebe0bb66 db1ed024 Author: John Wellbelove Date: Tue May 12 16:47:24 2020 +0100 Merge branch 'development' into feature/add_circle-ci_support commit ebe0bb6667322005387931cccbf064ee3a896569 Author: John Wellbelove Date: Tue May 12 14:55:33 2020 +0100 Attempt at getting CircleCI to work commit 8fc4565599c0d6937fb34016501a6d5408749f53 Author: John Wellbelove Date: Tue May 12 14:53:32 2020 +0100 Attempt at getting CircleCI to work commit 3793b591226459456c31f0b6bacfa65022abc977 Author: John Wellbelove Date: Tue May 12 14:44:44 2020 +0100 Attempt at getting CircleCI to work commit 6795d4132c55367e797b428be9cc33f4e3b05a44 Author: John Wellbelove Date: Tue May 12 12:59:58 2020 +0100 Attempt at getting CircleCI to work commit 9206209392251120407665e8778e25163c3d5796 Merge: d7ac41b9 638d6ac8 Author: John Wellbelove Date: Tue May 12 12:34:06 2020 +0100 Merge branch 'development' into feature/add_circle-ci_support # Conflicts: # include/etl/version.h # library.json # library.properties # support/Release notes.txt # test/test_make_string.cpp # test/test_string_char.cpp # test/vs2017/etl.vcxproj.filters commit d7ac41b96c8529a74fb15cedfb69cad0ae8ba3c7 Author: John Wellbelove Date: Fri Dec 6 22:16:14 2019 +0000 Removed artifacts path commit af768e0cad2869cb46041e060cbd7e00c8b7f512 Author: John Wellbelove Date: Fri Dec 6 22:13:48 2019 +0000 Added artifacts path commit e0403d85ebe8ed8c28114361638ae889b67ce0d0 Author: John Wellbelove Date: Fri Dec 6 22:02:51 2019 +0000 restore old CMakeLists.txt commit 63cc9b6acdd2c4e143d29568d4fbde6795e82ea3 Author: John Wellbelove Date: Fri Dec 6 21:49:45 2019 +0000 Added install git commit 01bb5cb7b88d5fb9c21f75e9b40ceff7786cef29 Author: John Wellbelove Date: Fri Dec 6 21:46:46 2019 +0000 Added install git commit 42876cad96d2bff58957b2e41698fdf61c212f7f Author: John Wellbelove Date: Fri Dec 6 21:43:19 2019 +0000 Added install git commit 3e5b19d30718fb91ba7daef3788cd51e70610ba0 Author: John Wellbelove Date: Fri Dec 6 21:39:39 2019 +0000 Alternate CMakeLists.txt commit f4ce6e75c8d9a03fc9784bf1ad48711727fc47ab Author: John Wellbelove Date: Fri Dec 6 21:25:50 2019 +0000 cat log file commit 06983faf02621355690134aed70e73c2eae76c4e Author: John Wellbelove Date: Fri Dec 6 21:16:31 2019 +0000 Listing commit f7670253bf97a29518843a6e329b1c6e3ffa1f8f Author: John Wellbelove Date: Fri Dec 6 21:11:00 2019 +0000 Touch config.yml file commit bf167aa0303e3a89716098a95b0f3b9525e7cacd Author: John Wellbelove Date: Fri Dec 6 21:05:01 2019 +0000 Touch config.yml file commit 5bca35821384c28bd93e3b993369365c36681e2f Author: John Wellbelove Date: Fri Dec 6 20:20:57 2019 +0000 Change image to ubuntu:latest commit ad63db02c762f20d4bfd3ef10ca17f89e633c7e0 Author: John Wellbelove Date: Fri Dec 6 20:12:14 2019 +0000 Touch config.yml file commit 3f33be8ac03e572cd6dc2baca69a7d2a5c72e7ec Author: John Wellbelove Date: Fri Dec 6 20:08:28 2019 +0000 Touch config.yml file commit 3bf0e93d4cb7b5f36097a502902cccb6cd1509e0 Author: John Wellbelove Date: Fri Dec 6 19:36:08 2019 +0000 Update readme commit 68653df3fe57d7a668b59bc7a6cefed43c01da2b Author: John Wellbelove Date: Fri Dec 6 19:25:45 2019 +0000 Fix readme commit 12bfc61ed14f563a9aa7c6d5a8ff657932bab490 Author: John Wellbelove Date: Fri Dec 6 18:57:31 2019 +0000 Touch config.yml file commit 984534e89cad59675d1752768dada90a56b624f6 Author: John Wellbelove Date: Fri Dec 6 18:39:10 2019 +0000 Added virtual destructors commit 1d7f7bb44399a37433003320583bd39dc195ca51 Author: John Wellbelove Date: Fri Dec 6 18:21:08 2019 +0000 Touch config.yml file commit c66c5eb12204c1028d9071cd6e29e38722089760 Author: John Wellbelove Date: Fri Dec 6 14:34:11 2019 +0000 Added master branch commit d31ec7b7a674b19d9c30796f2676876017ef9450 Author: John Wellbelove Date: Fri Dec 6 14:14:15 2019 +0000 Removed tabs commit dad04c0a56abe25c5a4f2ecc9c79b569d4014f81 Author: John Wellbelove Date: Fri Dec 6 14:06:31 2019 +0000 Removed tabs commit a265c68fcb9abf622e3b4ab708b79a2b260f3863 Author: John Wellbelove Date: Fri Dec 6 14:03:58 2019 +0000 Updated selected branch in config.yml commit 7abf39b83d308dc7cc459bf27ad11f688197b11c Author: John Wellbelove Date: Fri Dec 6 13:58:40 2019 +0000 Updated selected branch in config.yml commit 10f8d63cf2d926ee61dca691abce503ec5e08a4e Author: John Wellbelove Date: Fri Dec 6 13:56:43 2019 +0000 Updated selected branch in config.yml commit e9db085677ad620e227800acc6fad2bee6f59456 Author: John Wellbelove Date: Fri Dec 6 13:52:42 2019 +0000 Changed bin directory commit 2dfff5b5c2c993ed14cc5fd7a936560faa6eedc0 Author: John Wellbelove Date: Fri Dec 6 13:50:56 2019 +0000 Merge remote-tracking branch 'origin/master' into feature/add_circle-ci_support # Conflicts: # include/etl/cstring.h # include/etl/u16string.h # include/etl/u32string.h # include/etl/wstring.h --- .circleci/config.yml | 31 +++++----- README.md | 3 +- include/etl/visitor.h | 100 +++++++++++++++++++++++--------- test/vs2017/etl.vcxproj | 1 + test/vs2017/etl.vcxproj.filters | 2 +- 5 files changed, 94 insertions(+), 43 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 28e75cee..95d1bd2f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,26 +1,31 @@ version: 2 - jobs: build: docker: - - image: "debian:stretch" + - image: "rikorose/gcc-cmake:latest" + branches: + only: + - master steps: - - checkout + - checkout: - run: - name: Installing SUDO - command: 'apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/*' - - run: - name: Installing GCC - command: 'apt-get update && apt-get install -y gcc g++' - - run: - name: Install CMAKE - command: 'apt-get update && sudo apt-get install -y cmake' + name: Listing0 + command: 'ls' - run: name: Creating Build Files - command: 'cmake -H. -Bbuild' + command: 'cmake -Bbuild test/' - run: name: Creating Binary Files command: 'cmake --build build' + - run: + name: Listing1 + command: 'ls -lrt /root/project/build' + - run: + name: Listing2 + command: 'ls -lrt /root/project/build/CMakeFiles' + - run: + name: Listing3 + command: 'cat /root/project/build/CMakeFiles/CMakeOutput.log' - run: name: ETL Unit Testing - command: './bin/etl' \ No newline at end of file + command: './build/etl_tests' \ No newline at end of file diff --git a/README.md b/README.md index 3429ac9b..77397a74 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,11 @@ Embedded Template Library (ETL) AppVeyor [![Build status](https://ci.appveyor.com/api/projects/status/b7jgecv7unqjw4u0/branch/master?svg=true)](https://ci.appveyor.com/project/jwellbelove/etl/branch/master) +[![ETLCPP](https://circleci.com/gh/ETLCPP/etl.svg?style=svg)](https://app.circleci.com/pipelines/github/ETLCPP/etl) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/3c14cd918ccf40008d0bcd7b083d5946)](https://www.codacy.com/manual/jwellbelove/etl?utm_source=github.com&utm_medium=referral&utm_content=ETLCPP/etl&utm_campaign=Badge_Grade) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/jwellbelove/etl) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT) -[![Github All Releases](https://img.shields.io/github/downloads/ETLCPP/etl/total.svg)]() + **Motivation** diff --git a/include/etl/visitor.h b/include/etl/visitor.h index 08212225..e36aa31b 100644 --- a/include/etl/visitor.h +++ b/include/etl/visitor.h @@ -74,6 +74,8 @@ namespace etl { public: + virtual ~visitable() {} + virtual void accept(T1&) = 0; }; @@ -89,6 +91,8 @@ namespace etl { public: + virtual ~visitable() {} + virtual void accept(T1&) = 0; virtual void accept(T2&) = 0; virtual void accept(T3&) = 0; @@ -105,6 +109,8 @@ namespace etl { public: + virtual ~visitable() {} + virtual void accept(T1&) = 0; virtual void accept(T2&) = 0; virtual void accept(T3&) = 0; @@ -120,6 +126,8 @@ namespace etl { public: + virtual ~visitable() {} + virtual void accept(T1&) = 0; virtual void accept(T2&) = 0; }; @@ -134,6 +142,8 @@ namespace etl { public: + virtual ~visitable() {} + virtual void accept(T1&) = 0; }; @@ -163,6 +173,8 @@ namespace etl { public: + virtual ~visitor() {} + virtual void visit(T1&) = 0; }; @@ -181,6 +193,8 @@ namespace etl { public: + virtual ~visitor() {} + virtual void visit(T1&) = 0; virtual void visit(T2&) = 0; virtual void visit(T3&) = 0; @@ -212,6 +226,8 @@ namespace etl { public: + virtual ~visitor() {} + virtual void visit(T1&) = 0; virtual void visit(T2&) = 0; virtual void visit(T3&) = 0; @@ -242,6 +258,8 @@ namespace etl { public: + virtual ~visitor() {} + virtual void visit(T1&) = 0; virtual void visit(T2&) = 0; virtual void visit(T3&) = 0; @@ -271,6 +289,8 @@ namespace etl { public: + virtual ~visitor() {} + virtual void visit(T1&) = 0; virtual void visit(T2&) = 0; virtual void visit(T3&) = 0; @@ -298,6 +318,8 @@ namespace etl { public: + virtual ~visitor() {} + virtual void visit(T1&) = 0; virtual void visit(T2&) = 0; virtual void visit(T3&) = 0; @@ -324,6 +346,8 @@ namespace etl { public: + virtual ~visitor() {} + virtual void visit(T1&) = 0; virtual void visit(T2&) = 0; virtual void visit(T3&) = 0; @@ -349,6 +373,8 @@ namespace etl { public: + virtual ~visitor() {} + virtual void visit(T1&) = 0; virtual void visit(T2&) = 0; virtual void visit(T3&) = 0; @@ -373,6 +399,8 @@ namespace etl { public: + virtual ~visitor() {} + virtual void visit(T1&) = 0; virtual void visit(T2&) = 0; virtual void visit(T3&) = 0; @@ -395,6 +423,8 @@ namespace etl { public: + virtual ~visitor() {} + virtual void visit(T1&) = 0; virtual void visit(T2&) = 0; virtual void visit(T3&) = 0; @@ -416,13 +446,15 @@ namespace etl { public: - virtual void visit(T1&) = 0; - virtual void visit(T2&) = 0; - virtual void visit(T3&) = 0; - virtual void visit(T4&) = 0; - virtual void visit(T5&) = 0; - virtual void visit(T6&) = 0; - virtual void visit(T7&) = 0; + virtual ~visitor() {} + + virtual void visit(T1&) = 0; + virtual void visit(T2&) = 0; + virtual void visit(T3&) = 0; + virtual void visit(T4&) = 0; + virtual void visit(T5&) = 0; + virtual void visit(T6&) = 0; + virtual void visit(T7&) = 0; }; //***************************************************************** @@ -436,12 +468,14 @@ namespace etl { public: - virtual void visit(T1&) = 0; - virtual void visit(T2&) = 0; - virtual void visit(T3&) = 0; - virtual void visit(T4&) = 0; - virtual void visit(T5&) = 0; - virtual void visit(T6&) = 0; + virtual ~visitor() {} + + virtual void visit(T1&) = 0; + virtual void visit(T2&) = 0; + virtual void visit(T3&) = 0; + virtual void visit(T4&) = 0; + virtual void visit(T5&) = 0; + virtual void visit(T6&) = 0; }; //***************************************************************** @@ -455,11 +489,13 @@ namespace etl { public: - virtual void visit(T1&) = 0; - virtual void visit(T2&) = 0; - virtual void visit(T3&) = 0; - virtual void visit(T4&) = 0; - virtual void visit(T5&) = 0; + virtual ~visitor() {} + + virtual void visit(T1&) = 0; + virtual void visit(T2&) = 0; + virtual void visit(T3&) = 0; + virtual void visit(T4&) = 0; + virtual void visit(T5&) = 0; }; //***************************************************************** @@ -472,10 +508,12 @@ namespace etl { public: - virtual void visit(T1&) = 0; - virtual void visit(T2&) = 0; - virtual void visit(T3&) = 0; - virtual void visit(T4&) = 0; + virtual ~visitor() {} + + virtual void visit(T1&) = 0; + virtual void visit(T2&) = 0; + virtual void visit(T3&) = 0; + virtual void visit(T4&) = 0; }; //***************************************************************** @@ -488,9 +526,11 @@ namespace etl { public: - virtual void visit(T1&) = 0; - virtual void visit(T2&) = 0; - virtual void visit(T3&) = 0; + virtual ~visitor() {} + + virtual void visit(T1&) = 0; + virtual void visit(T2&) = 0; + virtual void visit(T3&) = 0; }; //***************************************************************** @@ -503,8 +543,10 @@ namespace etl { public: - virtual void visit(T1&) = 0; - virtual void visit(T2&) = 0; + virtual ~visitor() {} + + virtual void visit(T1&) = 0; + virtual void visit(T2&) = 0; }; //***************************************************************** @@ -517,7 +559,9 @@ namespace etl { public: - virtual void visit(T1&) = 0; + virtual ~visitor() {} + + virtual void visit(T1&) = 0; }; #endif diff --git a/test/vs2017/etl.vcxproj b/test/vs2017/etl.vcxproj index b78cd732..871b6466 100644 --- a/test/vs2017/etl.vcxproj +++ b/test/vs2017/etl.vcxproj @@ -1543,6 +1543,7 @@ + diff --git a/test/vs2017/etl.vcxproj.filters b/test/vs2017/etl.vcxproj.filters index ada13aa3..2a7e45f3 100644 --- a/test/vs2017/etl.vcxproj.filters +++ b/test/vs2017/etl.vcxproj.filters @@ -1383,4 +1383,4 @@ Resource Files\Images - \ No newline at end of file + From fc93fc67f96b51afa8edc7021489388637dfb805 Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Tue, 12 May 2020 23:37:18 +0100 Subject: [PATCH 2/4] Master CircleCI --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 95d1bd2f..bef69b11 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,7 +10,7 @@ jobs: - checkout: - run: name: Listing0 - command: 'ls' + command: 'ls -lrt' - run: name: Creating Build Files command: 'cmake -Bbuild test/' From d7dd2ca1b4133a6c6f9c7bcd07db14417eb5af0b Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Tue, 12 May 2020 23:39:15 +0100 Subject: [PATCH 3/4] Updated versions --- include/etl/version.h | 2 +- library.json | 2 +- library.properties | 2 +- support/Release notes.txt | 4 ++++ 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/include/etl/version.h b/include/etl/version.h index 4e67a62c..900938da 100644 --- a/include/etl/version.h +++ b/include/etl/version.h @@ -39,7 +39,7 @@ SOFTWARE. #define ETL_VERSION_MAJOR 18 #define ETL_VERSION_MINOR 1 -#define ETL_VERSION_PATCH 2 +#define ETL_VERSION_PATCH 3 #define ETL_VERSION ETL_STRINGIFY(ETL_VERSION_MAJOR) "." ETL_STRINGIFY(ETL_VERSION_MINOR) "." ETL_STRINGIFY(ETL_VERSION_PATCH) #define ETL_VERSION_W ETL_STRINGIFY(ETL_VERSION_MAJOR) L"." ETL_STRINGIFY(ETL_VERSION_MINOR) L"." ETL_STRINGIFY(ETL_VERSION_PATCH) #define ETL_VERSION_U16 ETL_STRINGIFY(ETL_VERSION_MAJOR) u"." ETL_STRINGIFY(ETL_VERSION_MINOR) u"." ETL_STRINGIFY(ETL_VERSION_PATCH) diff --git a/library.json b/library.json index 3c385460..c8993b2c 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "Embedded Template Library", - "version": "18.1.2", + "version": "18.1.3", "authors": { "name": "John Wellbelove", "email": "john.wellbelove@etlcpp.com" diff --git a/library.properties b/library.properties index 097eda73..320ca1ae 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=Embedded Template Library -version=18.1.2 +version=18.1.3 author= John Wellbelove maintainer=John Wellbelove license=MIT diff --git a/support/Release notes.txt b/support/Release notes.txt index cb866aa1..b79896f5 100644 --- a/support/Release notes.txt +++ b/support/Release notes.txt @@ -1,3 +1,7 @@ +=============================================================================== +18.1.3 +Added CircleCI yml file for master branch + =============================================================================== 18.1.2 Fixed undefined behaviour warning for #define that contained 'define'. From 99647d4c5b0df544ed08ebeaccd378aee3b6054e Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Tue, 12 May 2020 23:45:39 +0100 Subject: [PATCH 4/4] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 77397a74..c18db1b0 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ Embedded Template Library (ETL) ------------------------- -AppVeyor [![Build status](https://ci.appveyor.com/api/projects/status/b7jgecv7unqjw4u0/branch/master?svg=true)](https://ci.appveyor.com/project/jwellbelove/etl/branch/master) [![ETLCPP](https://circleci.com/gh/ETLCPP/etl.svg?style=svg)](https://app.circleci.com/pipelines/github/ETLCPP/etl) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/3c14cd918ccf40008d0bcd7b083d5946)](https://www.codacy.com/manual/jwellbelove/etl?utm_source=github.com&utm_medium=referral&utm_content=ETLCPP/etl&utm_campaign=Badge_Grade)