fixed the range based example
better examples
diff --git a/.travis.yml b/.travis.yml
index f08da44..fc6c694 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,70 +1,70 @@
-#sudo: false
-#language: c++
-#
-#notifications:
-# email:
-# on_success: change
-# on_failure: always
-# # gitter
-# webhooks:
-# urls: https://webhooks.gitter.im/e/10941dd1c67e5e967706
-# on_success: change
-# on_failure: always
-#git:
-# depth: 5
-#
-## both apt and ccache make the builds slower...
-##cache:
-## - apt
-## - ccache
-#
-#env:
-# global:
-## - USE_CCACHE=1
-## - CCACHE_SLOPPINESS=pch_defines,time_macros
-## - CCACHE_COMPRESS=1
-## - CCACHE_MAXSIZE=200M
-## - CCACHE_CPP2=1
-# - CMAKE_OPTIONS_GLOBAL="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
-# # Workaround for https://github.com/travis-ci/travis-ci/issues/4681
-# # "Defining the build matrix only with matrix.include leads to an additional, unwanted job"
-# matrix:
-# - TRAVIS_EMPTY_JOB_WORKAROUND=true
-#
-#addons:
-# coverity_scan:
-# # COVERITY_SCAN_TOKEN added as env var in travis project
-# project:
-# name: onqtam/doctest
-# notification_email: vik.kirilov@gmail.com
-# build_command_prepend: cd examples/hello_world && cmake .
-# build_command: make
-# branch_pattern: coverity_scan
-# # these apt sources will be referenced later (by using *name)
-# apt:
-# sources: &apt_sources
-# - ubuntu-toolchain-r-test
-# - llvm-toolchain-precise-3.5
-# - llvm-toolchain-precise-3.6
-# - llvm-toolchain-precise-3.7
-# - llvm-toolchain-precise-3.8
-# - llvm-toolchain-precise
-#
-#compiler: clang
-#os: linux
-#
-#matrix:
-# exclude:
-# - env: TRAVIS_EMPTY_JOB_WORKAROUND=true
-#
-# include:
-# # coverage
-# - env: COMPILER=g++ COVERALLS_SERVICE_NAME=travis-ci
-# compiler: gcc
-# addons:
-# apt:
-# packages: ["lcov", "curl"]
-#
+sudo: false
+language: c++
+
+notifications:
+ email:
+ on_success: change
+ on_failure: always
+ # gitter
+ webhooks:
+ urls: https://webhooks.gitter.im/e/10941dd1c67e5e967706
+ on_success: change
+ on_failure: always
+git:
+ depth: 5
+
+# both apt and ccache make the builds slower...
+#cache:
+# - apt
+# - ccache
+
+env:
+ global:
+# - USE_CCACHE=1
+# - CCACHE_SLOPPINESS=pch_defines,time_macros
+# - CCACHE_COMPRESS=1
+# - CCACHE_MAXSIZE=200M
+# - CCACHE_CPP2=1
+ - CMAKE_OPTIONS_GLOBAL="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
+ # Workaround for https://github.com/travis-ci/travis-ci/issues/4681
+ # "Defining the build matrix only with matrix.include leads to an additional, unwanted job"
+ matrix:
+ - TRAVIS_EMPTY_JOB_WORKAROUND=true
+
+addons:
+ coverity_scan:
+ # COVERITY_SCAN_TOKEN added as env var in travis project
+ project:
+ name: onqtam/doctest
+ notification_email: vik.kirilov@gmail.com
+ build_command_prepend: cd examples/hello_world && cmake .
+ build_command: make
+ branch_pattern: coverity_scan
+ # these apt sources will be referenced later (by using *name)
+ apt:
+ sources: &apt_sources
+ - ubuntu-toolchain-r-test
+ - llvm-toolchain-precise-3.5
+ - llvm-toolchain-precise-3.6
+ - llvm-toolchain-precise-3.7
+ - llvm-toolchain-precise-3.8
+ - llvm-toolchain-precise
+
+compiler: clang
+os: linux
+
+matrix:
+ exclude:
+ - env: TRAVIS_EMPTY_JOB_WORKAROUND=true
+
+ include:
+ # coverage
+ - env: COMPILER=g++ COVERALLS_SERVICE_NAME=travis-ci
+ compiler: gcc
+ addons:
+ apt:
+ packages: ["lcov", "curl"]
+
# # GCC 4.4
# - env: COMPILER=g++-4.4
# compiler: gcc
@@ -131,14 +131,14 @@
## apt:
## packages: ["g++-6", "valgrind", "g++-6-multilib", "libc6-dbg", "libc6-dbg:i386"]
## sources: *apt_sources
-#
-# # Clang 3.4
-# - env: COMPILER=clang++ HAS_ASAN_64=true HAS_UBSAN_64=true
-# addons: &clang
-# apt:
-# packages: [ "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
-# sources: *apt_sources
-#
+
+ # Clang 3.4
+ - env: COMPILER=clang++ HAS_ASAN_64=true HAS_UBSAN_64=true
+ addons: &clang
+ apt:
+ packages: [ "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
+ sources: *apt_sources
+
# # Clang 3.5
# - env: COMPILER=clang++-3.5 HAS_ASAN_64=true HAS_UBSAN_64=true
# addons: &clang35
@@ -250,104 +250,103 @@
# - env: COMPILER=g++
# compiler: gcc
# os: osx
-#
-#before_install:
-# - |
-# if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
-# brew update
-# # brew install ccache
-# brew install valgrind
-# # cmake
-# if brew list -1 | grep -q "^cmake\$"; then
-# brew outdated cmake || brew upgrade cmake
-# else
-# brew install cmake
-# fi
-# # gcc
-# if [[ "${COMPILER}" = "g++-4.4" ]]; then
-# brew install gcc44
-# fi
-# if [[ "${COMPILER}" = "g++-4.5" ]]; then
-# brew install gcc45
-# fi
-# if [[ "${COMPILER}" = "g++-4.6" ]]; then
-# brew install gcc46
-# fi
-# if [[ "${COMPILER}" = "g++-4.7" ]]; then
-# brew install gcc47
-# fi
-# if [[ "${COMPILER}" = "g++-4.8" ]]; then
-# brew outdated gcc48 || brew upgrade gcc48
-# fi
-# if [[ "${COMPILER}" = "g++-4.9" ]]; then
-# brew install gcc49
-# fi
-# if [[ "${COMPILER}" = "g++-5" ]]; then
-# brew install gcc5
-# fi
-# if [[ "${COMPILER}" = "g++-6" ]]; then
-# brew install gcc6
-# fi
-# fi
-# - git submodule update --init --recursive
-#
-#install:
-# - ${CXX} --version
-## - export CXX="ccache ${COMPILER}"
-# - export CXX="${COMPILER}"
-# - ${CXX} --version
-## - ccache -s
-#
-#script:
-# # coverage - do not continue with other build configurations after that
-# - |
-# if [[ "${COVERALLS_SERVICE_NAME}" = "travis-ci" ]]; then
-# cmake ${CMAKE_OPTIONS_GLOBAL} -DCMAKE_BUILD_TYPE=Debug .
-# make -j2 && make coveralls
-# exit
-# fi
-#
-# # initial run with options
-# - cmake ${CMAKE_OPTIONS_GLOBAL} ${CMAKE_OPTIONS} .
-#
-# # debug x86
-# - cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m32" .
-# - make clean && make -j2
-# # valgrind for 32bit under osx fails
-# - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure ; fi
-## - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
-# # debug x64
-# - cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m64" .
-# - make clean && make -j2
-# - cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure
-## - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
-# # release x86
-# - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32" .
-# - make clean && make -j2
-# # valgrind for 32bit under osx fails
-# - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure ; fi
-## - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
-# # release x64
-# - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64" .
-# - make clean && make -j2
-# - cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure
-## - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
-#
-# # sanitizers - again 32/64 bit Debug/Release configs through address/undefined sanitizers
-# - cmake -DTEST_MODE=NORMAL .
-## - cmake -DTEST_MODE=COMPARE .
-# # on separate commands because when something fails I want to see which one exactly
-# - if [[ "${HAS_ASAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m64 -fsanitize=address" . && make clean && make -j2 && ctest --output-on-failure ; fi
-# - if [[ "${HAS_ASAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m32 -fsanitize=address" . && make clean && make -j2 && ctest --output-on-failure ; fi
-# - if [[ "${HAS_ASAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64 -fsanitize=address" . && make clean && make -j2 && ctest --output-on-failure ; fi
-# - if [[ "${HAS_ASAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32 -fsanitize=address" . && make clean && make -j2 && ctest --output-on-failure ; fi
-# - if [[ "${HAS_UBSAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m64 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
-# - if [[ "${HAS_UBSAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m32 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
-# - if [[ "${HAS_UBSAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
-# - if [[ "${HAS_UBSAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
-#
-## - ccache -s
-#
-#after_script:
-# - cat compile_commands.json
-#
\ No newline at end of file
+
+before_install:
+ - |
+ if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
+ brew update
+ # brew install ccache
+ brew install valgrind
+ # cmake
+ if brew list -1 | grep -q "^cmake\$"; then
+ brew outdated cmake || brew upgrade cmake
+ else
+ brew install cmake
+ fi
+ # gcc
+ if [[ "${COMPILER}" = "g++-4.4" ]]; then
+ brew install gcc44
+ fi
+ if [[ "${COMPILER}" = "g++-4.5" ]]; then
+ brew install gcc45
+ fi
+ if [[ "${COMPILER}" = "g++-4.6" ]]; then
+ brew install gcc46
+ fi
+ if [[ "${COMPILER}" = "g++-4.7" ]]; then
+ brew install gcc47
+ fi
+ if [[ "${COMPILER}" = "g++-4.8" ]]; then
+ brew outdated gcc48 || brew upgrade gcc48
+ fi
+ if [[ "${COMPILER}" = "g++-4.9" ]]; then
+ brew install gcc49
+ fi
+ if [[ "${COMPILER}" = "g++-5" ]]; then
+ brew install gcc5
+ fi
+ if [[ "${COMPILER}" = "g++-6" ]]; then
+ brew install gcc6
+ fi
+ fi
+ - git submodule update --init --recursive
+
+install:
+ - ${CXX} --version
+# - export CXX="ccache ${COMPILER}"
+ - export CXX="${COMPILER}"
+ - ${CXX} --version
+# - ccache -s
+
+script:
+ # coverage - do not continue with other build configurations after that
+ - |
+ if [[ "${COVERALLS_SERVICE_NAME}" = "travis-ci" ]]; then
+ cmake ${CMAKE_OPTIONS_GLOBAL} -DCMAKE_BUILD_TYPE=Debug .
+ make -j2 && make coveralls
+ exit
+ fi
+
+ # initial run with options
+ - cmake ${CMAKE_OPTIONS_GLOBAL} ${CMAKE_OPTIONS} .
+
+ # debug x86
+ - cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m32" .
+ - make clean && make -j2
+ # valgrind for 32bit under osx fails
+ - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure ; fi
+# - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
+ # debug x64
+ - cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m64" .
+ - make clean && make -j2
+ - cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure
+# - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
+ # release x86
+ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32" .
+ - make clean && make -j2
+ # valgrind for 32bit under osx fails
+ - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure ; fi
+# - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
+ # release x64
+ - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64" .
+ - make clean && make -j2
+ - cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure
+# - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
+
+ # sanitizers - again 32/64 bit Debug/Release configs through address/undefined sanitizers
+ - cmake -DTEST_MODE=NORMAL .
+# - cmake -DTEST_MODE=COMPARE .
+ # on separate commands because when something fails I want to see which one exactly
+ - if [[ "${HAS_ASAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m64 -fsanitize=address" . && make clean && make -j2 && ctest --output-on-failure ; fi
+ - if [[ "${HAS_ASAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m32 -fsanitize=address" . && make clean && make -j2 && ctest --output-on-failure ; fi
+ - if [[ "${HAS_ASAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64 -fsanitize=address" . && make clean && make -j2 && ctest --output-on-failure ; fi
+ - if [[ "${HAS_ASAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32 -fsanitize=address" . && make clean && make -j2 && ctest --output-on-failure ; fi
+ - if [[ "${HAS_UBSAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m64 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
+ - if [[ "${HAS_UBSAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m32 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
+ - if [[ "${HAS_UBSAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
+ - if [[ "${HAS_UBSAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
+
+# - ccache -s
+
+after_script:
+ - cat compile_commands.json