diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 00000000..31ebc6dc --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,140 @@ +# Copyright 2016, 2017 Peter Dimov +# Copyright 2017 - 2019 James E. King III +# Copyright 2019 - 2021 Alexander Grund +# +# Distributed under the Boost Software License, Version 1.0. +# https://www.boost.org/LICENSE_1_0.txt + +version: 1.0.{build}-{branch} + +shallow_clone: true + +branches: + only: + - master + - develop + - /bugfix\/.*/ + - /feature\/.*/ + - /fix\/.*/ + - /pr\/.*/ + +matrix: + fast_finish: false + # Adding MAYFAIL to any matrix job allows it to fail but the build stays green: + allow_failures: + - MAYFAIL: true + +environment: + global: + B2_CI_VERSION: 1 + GIT_FETCH_JOBS: 4 + # see: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties + # to use the default for a given environment, comment it out; recommend you build debug and release however: + # on Windows it is important to exercise all the possibilities, especially shared vs static, however most + # libraries that care about this exercise it in their Jamfiles... + B2_ADDRESS_MODEL: 32,64 + B2_LINK: shared,static + # B2_THREADING: threading=multi,single + B2_VARIANT: release + B2_FLAGS: testing.execute=off + B2_DEFINES: BOOST_LOCALE_DISABLE_DEPRECATED_03_WARNING + + matrix: + - FLAVOR: Visual Studio 2008, 2010, 2012 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + B2_TOOLSET: msvc-9.0,msvc-10.0,msvc-11.0 + B2_ADDRESS_MODEL: 32 # No 64bit support + + - FLAVOR: Visual Studio 2013, 2015 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + B2_TOOLSET: msvc-12.0,msvc-14.0 + + - FLAVOR: Visual Studio 2017 C++14/17 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + B2_CXXSTD: 14,17 + B2_TOOLSET: msvc-14.1 + + - FLAVOR: Visual Studio 2017 C++2a Strict + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + B2_CXXFLAGS: -permissive- + B2_CXXSTD: 2a + B2_TOOLSET: msvc-14.1 + + - FLAVOR: Visual Studio 2019 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 + B2_CXXFLAGS: -permissive- + B2_CXXSTD: 14,17,2a + B2_TOOLSET: msvc-14.2 + + - FLAVOR: Visual Studio 2022 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 + B2_CXXFLAGS: -permissive- + B2_CXXSTD: 14,17,20 + B2_TOOLSET: msvc-14.3 + + - FLAVOR: clang-cl + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + B2_ADDRESS_MODEL: 64 + B2_CXXSTD: 11,14,17 + B2_TOOLSET: clang-win + + - FLAVOR: clang-cl using windows.h + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + B2_ADDRESS_MODEL: 64 + B2_CXXSTD: 17 + B2_TOOLSET: clang-win + B2_DEFINES: BOOST_USE_WINDOWS_H + + - FLAVOR: cygwin (32-bit) + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ADDPATH: C:\cygwin\bin; + B2_ADDRESS_MODEL: 32 + B2_CXXSTD: 03,11,14,1z + B2_TOOLSET: gcc + + - FLAVOR: cygwin (64-bit) + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ADDPATH: C:\cygwin64\bin; + B2_ADDRESS_MODEL: 64 + B2_CXXSTD: 03,11,14,1z + B2_TOOLSET: gcc + + # (Currently) the images up to 2017 use an older Cygwin + # This tests that the library works with more recent versions + - FLAVOR: cygwin (64-bit, latest) + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 + ADDPATH: C:\cygwin64\bin; + B2_ADDRESS_MODEL: 64 + B2_CXXSTD: 03,11,14,1z + B2_TOOLSET: gcc + + - FLAVOR: mingw32 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + B2_ADDRESS_MODEL: 32 + ADDPATH: C:\mingw\bin; + B2_CXXSTD: 03,11,14,1z + B2_TOOLSET: gcc + + - FLAVOR: mingw64 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 + ADDPATH: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin; + B2_ADDRESS_MODEL: 64 + B2_CXXSTD: 03,11,14,17,2a + B2_TOOLSET: gcc + +install: + - git clone --depth 1 https://github.com/boostorg/boost-ci.git C:\boost-ci-cloned + # Copy ci folder if not testing Boost.CI + - if NOT "%APPVEYOR_PROJECT_NAME%" == "boost-ci" xcopy /s /e /q /i /y C:\boost-ci-cloned\ci .\ci + - rmdir /s /q C:\boost-ci-cloned + - ci\appveyor\install.bat + +build: off + +test_script: ci\build.bat + +for: + # CodeCov coverage build + - matrix: + only: [COVERAGE: true] + test_script: [ps: ci\codecov.ps1] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..cce2a09e --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,474 @@ +# Copyright 2020-2021 Peter Dimov +# Copyright 2021 Andrey Semashev +# Copyright 2021 Alexander Grund +# Copyright 2022 James E. King III +# +# Distributed under the Boost Software License, Version 1.0. +# https://www.boost.org/LICENSE_1_0.txt + +--- +name: CI + +on: + pull_request: + push: + branches: + - master + - develop + - bugfix/** + - feature/** + - fix/** + - pr/** + +concurrency: + group: ${{format('{0}:{1}', github.repository, github.ref)}} + cancel-in-progress: true + +env: + GIT_FETCH_JOBS: 8 + NET_RETRY_COUNT: 5 + B2_CI_VERSION: 1 + B2_VARIANT: debug,release + B2_LINK: shared,static + B2_DEFINES: BOOST_LOCALE_DISABLE_DEPRECATED_03_WARNING + LCOV_BRANCH_COVERAGE: 0 + CODECOV_NAME: Github Actions + +jobs: + posix: + defaults: + run: + shell: bash + + strategy: + fail-fast: false + matrix: + include: + # Linux, gcc + - { compiler: gcc-4.4, cxxstd: '98,0x', os: ubuntu-20.04, container: 'ubuntu:16.04' } + - { compiler: gcc-4.6, cxxstd: '03,0x', os: ubuntu-20.04, container: 'ubuntu:16.04' } + - { compiler: gcc-4.7, cxxstd: '03,11', os: ubuntu-20.04, container: 'ubuntu:16.04' } + - { compiler: gcc-4.8, cxxstd: '03,11', os: ubuntu-18.04 } + - { compiler: gcc-4.9, cxxstd: '03,11', os: ubuntu-20.04, container: 'ubuntu:16.04' } + - { compiler: gcc-5, cxxstd: '03,11,14,1z', os: ubuntu-18.04 } + - { compiler: gcc-6, cxxstd: '03,11,14,17', os: ubuntu-18.04 } + - { compiler: gcc-7, cxxstd: '03,11,14,17', os: ubuntu-18.04 } + - { compiler: gcc-8, cxxstd: '03,11,14,17,2a', os: ubuntu-18.04 } + - { compiler: gcc-9, cxxstd: '03,11,14,17,2a', os: ubuntu-18.04 } + - { compiler: gcc-10, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } + - { compiler: gcc-11, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } + - { compiler: gcc-12, cxxstd: '03,11,14,17,20', os: ubuntu-22.04 } + - { name: GCC w/ sanitizers, sanitize: yes, + compiler: gcc-12, cxxstd: '03,11,14,17,20', os: ubuntu-22.04 } + - { name: Collect coverage, coverage: yes, + compiler: gcc-8, cxxstd: '03,11', os: ubuntu-20.04, install: 'g++-8-multilib', address-model: '32,64' } + + # Linux, clang + - { compiler: clang-3.5, cxxstd: '03,11', os: ubuntu-20.04, container: 'ubuntu:16.04' } + - { compiler: clang-3.6, cxxstd: '03,11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' } + - { compiler: clang-3.7, cxxstd: '03,11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' } + - { compiler: clang-3.8, cxxstd: '03,11,14', os: ubuntu-20.04, container: 'ubuntu:16.04' } + - { compiler: clang-3.9, cxxstd: '03,11,14', os: ubuntu-18.04 } + - { compiler: clang-4.0, cxxstd: '03,11,14', os: ubuntu-18.04 } + - { compiler: clang-5.0, cxxstd: '03,11,14,1z', os: ubuntu-18.04 } + - { compiler: clang-6.0, cxxstd: '03,11,14,17', os: ubuntu-18.04 } + - { compiler: clang-7, cxxstd: '03,11,14,17', os: ubuntu-18.04 } + # Note: clang-8 does not fully support C++20, so it is not compatible with some libstdc++ versions in this mode + - { compiler: clang-8, cxxstd: '03,11,14,17,2a', os: ubuntu-18.04, install: 'clang-8 g++-7', gcc_toolchain: 7 } + - { compiler: clang-9, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04 } + - { compiler: clang-10, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } + - { compiler: clang-11, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } + - { compiler: clang-12, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } + - { compiler: clang-13, cxxstd: '03,11,14,17,20', os: ubuntu-22.04 } + - { compiler: clang-14, cxxstd: '03,11,14,17,20', os: ubuntu-22.04 } + + # libc++ + - { compiler: clang-6.0, cxxstd: '03,11,14', os: ubuntu-18.04, stdlib: libc++, install: 'clang-6.0 libc++-dev libc++abi-dev' } + - { compiler: clang-12, cxxstd: '03,11,14,17,20', os: ubuntu-20.04, stdlib: libc++, install: 'clang-12 libc++-12-dev libc++abi-12-dev' } + - { name: Clang w/ sanitizers, sanitize: yes, + compiler: clang-12, cxxstd: '03,11,14,17,20', os: ubuntu-20.04, stdlib: libc++, install: 'clang-12 libc++-12-dev libc++abi-12-dev' } + + # OSX, clang + - { compiler: clang, cxxstd: '03,11,14,17,2a', os: macos-10.15, ubsan: yes } + + timeout-minutes: 120 + runs-on: ${{matrix.os}} + container: ${{matrix.container}} + env: {B2_USE_CCACHE: 1} + + steps: + - name: Setup environment + run: | + if [ -f "/etc/debian_version" ]; then + echo "DEBIAN_FRONTEND=noninteractive" >> $GITHUB_ENV + export DEBIAN_FRONTEND=noninteractive + fi + if [ -n "${{matrix.container}}" ] && [ -f "/etc/debian_version" ]; then + apt-get -o Acquire::Retries=$NET_RETRY_COUNT update + apt-get -o Acquire::Retries=$NET_RETRY_COUNT install -y sudo software-properties-common + # Need (newer) git, and the older Ubuntu container may require requesting the key manually using port 80 + apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E1DD270288B4E6030699E45FA1715D88E1DF1F24 + for i in {1..${NET_RETRY_COUNT:-3}}; do sudo -E add-apt-repository -y ppa:git-core/ppa && break || sleep 10; done + apt-get -o Acquire::Retries=$NET_RETRY_COUNT update + apt-get -o Acquire::Retries=$NET_RETRY_COUNT install -y g++ python libpython-dev git + fi + # For jobs not compatible with ccache, use "ccache: no" in the matrix + if [[ "${{ matrix.ccache }}" == "no" ]]; then + echo "B2_USE_CCACHE=0" >> $GITHUB_ENV + fi + git config --global pack.threads 0 + + - uses: actions/checkout@v3 + with: + # For coverage builds fetch the whole history, else only 1 commit using a 'fake ternary' + fetch-depth: ${{ matrix.coverage && '0' || '1' }} + + - name: Cache ccache + uses: actions/cache@v3 + if: env.B2_USE_CCACHE + with: + path: ~/.ccache + key: ${{matrix.os}}-${{matrix.container}}-${{matrix.compiler}}-${{github.sha}} + restore-keys: ${{matrix.os}}-${{matrix.container}}-${{matrix.compiler}}- + + - name: Fetch Boost.CI + uses: actions/checkout@v3 + with: + repository: boostorg/boost-ci + ref: master + path: boost-ci-cloned + + - name: Get CI scripts folder + run: | + # Copy ci folder if not testing Boost.CI + [[ "$GITHUB_REPOSITORY" =~ "boost-ci" ]] || cp -r boost-ci-cloned/ci . + rm -rf boost-ci-cloned + + - name: Install packages + if: startsWith(matrix.os, 'ubuntu') + run: | + SOURCE_KEYS=(${{join(matrix.source_keys, ' ')}}) + SOURCES=(${{join(matrix.sources, ' ')}}) + # Add this by default + SOURCES+=(ppa:ubuntu-toolchain-r/test) + for key in "${SOURCE_KEYS[@]}"; do + for i in {1..$NET_RETRY_COUNT}; do + wget -O - "$key" | sudo apt-key add - && break || sleep 10 + done + done + for source in "${SOURCES[@]}"; do + for i in {1..$NET_RETRY_COUNT}; do + sudo add-apt-repository $source && break || sleep 10 + done + done + sudo apt-get -o Acquire::Retries=$NET_RETRY_COUNT update + if [[ -z "${{matrix.install}}" ]]; then + pkgs="${{matrix.compiler}}" + pkgs="${pkgs/gcc-/g++-}" + else + pkgs="${{matrix.install}}" + fi + sudo apt-get -o Acquire::Retries=$NET_RETRY_COUNT install -y $pkgs libicu-dev + + - name: Setup GCC Toolchain + if: matrix.gcc_toolchain + run: | + GCC_TOOLCHAIN_ROOT="$HOME/gcc-toolchain" + echo "GCC_TOOLCHAIN_ROOT=$GCC_TOOLCHAIN_ROOT" >> $GITHUB_ENV + MULTIARCH_TRIPLET="$(dpkg-architecture -qDEB_HOST_MULTIARCH)" + mkdir -p "$GCC_TOOLCHAIN_ROOT" + ln -s /usr/include "$GCC_TOOLCHAIN_ROOT/include" + ln -s /usr/bin "$GCC_TOOLCHAIN_ROOT/bin" + mkdir -p "$GCC_TOOLCHAIN_ROOT/lib/gcc/$MULTIARCH_TRIPLET" + ln -s "/usr/lib/gcc/$MULTIARCH_TRIPLET/${{matrix.gcc_toolchain}}" "$GCC_TOOLCHAIN_ROOT/lib/gcc/$MULTIARCH_TRIPLET/${{matrix.gcc_toolchain}}" + + - name: Setup multiarch + if: matrix.multiarch + run: | + sudo apt-get install --no-install-recommends -y binfmt-support qemu-user-static + sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + git clone https://github.com/jeking3/bdde.git + echo "$(pwd)/bdde/bin/linux" >> ${GITHUB_PATH} + echo "BDDE_DISTRO=${{ matrix.distro }}" >> ${GITHUB_ENV} + echo "BDDE_EDITION=${{ matrix.edition }}" >> ${GITHUB_ENV} + echo "BDDE_ARCH=${{ matrix.arch }}" >> ${GITHUB_ENV} + echo "B2_WRAPPER=bdde" >> ${GITHUB_ENV} + + - name: Setup Boost + env: + B2_ADDRESS_MODEL: ${{matrix.address-model}} + B2_COMPILER: ${{matrix.compiler}} + B2_CXXSTD: ${{matrix.cxxstd}} + B2_SANITIZE: ${{matrix.sanitize}} + B2_STDLIB: ${{matrix.stdlib}} + # More entries can be added in the same way, see the B2_ARGS assignment in ci/enforce.sh for the possible keys. + # B2_DEFINES: ${{matrix.defines}} + # Variables set here (to non-empty) will override the top-level environment variables, e.g. + # B2_VARIANT: ${{matrix.variant}} + B2_UBSAN: ${{matrix.ubsan}} + run: source ci/github/install.sh + + - name: Setup coverage collection + if: matrix.coverage + run: ci/github/codecov.sh "setup" + + - name: Run tests no ICU/iconv + if: '!matrix.coverity' + run: ci/build.sh + env: {B2_FLAGS: -a boost.locale.icu=off boost.locale.iconv=off} + - name: Run tests with iconv + if: '!matrix.coverity' + run: ci/build.sh + env: {B2_FLAGS: -a boost.locale.icu=off boost.locale.iconv=on} + - name: Run tests with ICU + if: '!matrix.coverity' + run: ci/build.sh + env: {B2_FLAGS: -a boost.locale.icu=on boost.locale.iconv=off testing.execute=off} + - name: Run tests with ICU/iconv + if: '!matrix.coverity' + run: ci/build.sh + env: {B2_FLAGS: -a boost.locale.icu=on boost.locale.iconv=on testing.execute=off} + + - name: Upload coverage + if: matrix.coverage + run: ci/codecov.sh "upload" + + - name: Run coverity + if: matrix.coverity && github.event_name == 'push' && (github.ref_name == 'develop' || github.ref_name == 'master') + run: ci/github/coverity.sh + env: + COVERITY_SCAN_NOTIFICATION_EMAIL: ${{ secrets.COVERITY_SCAN_NOTIFICATION_EMAIL }} + COVERITY_SCAN_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} + + windows: + defaults: + run: + shell: cmd + strategy: + fail-fast: false + matrix: + include: + - { toolset: msvc-14.2, cxxstd: '14,17,20', addrmd: '32,64', os: windows-2019 } + - { name: Collect coverage, coverage: yes, + toolset: msvc-14.3, cxxstd: '14,17,20', addrmd: '32,64', os: windows-2022 } + - { toolset: gcc, cxxstd: '03,11,14,17,2a', addrmd: '64', os: windows-2019 } + + runs-on: ${{matrix.os}} + env: {B2_FLAGS: testing.execute=off} + + steps: + - uses: actions/checkout@v3 + + - name: Fetch Boost.CI + uses: actions/checkout@v3 + with: + repository: boostorg/boost-ci + ref: master + path: boost-ci-cloned + - name: Get CI scripts folder + run: | + REM Copy ci folder if not testing Boost.CI + if "%GITHUB_REPOSITORY%" == "%GITHUB_REPOSITORY:boost-ci=%" xcopy /s /e /q /i /y boost-ci-cloned\ci .\ci + rmdir /s /q boost-ci-cloned + + - name: Setup Boost + run: ci\github\install.bat + + - name: Get ICU + shell: pwsh + run: | + $ICU_ROOT = "$($pwd.Path)\ICU" + cmake -DICU_ROOT="$ICU_ROOT" -DICU_VERSION="71.1" -P tools/download_icu.cmake + Add-Content $Env:BOOST_ROOT/project-config.jam "path-constant ICU_PATH : `"$ICU_ROOT`" ;" + Get-Content $Env:BOOST_ROOT/project-config.jam + + - name: Run tests + if: '!matrix.coverage' + run: ci\build.bat + env: + B2_TOOLSET: ${{matrix.toolset}} + B2_CXXSTD: ${{matrix.cxxstd}} + B2_ADDRESS_MODEL: ${{matrix.addrmd}} + + - name: Collect coverage + shell: powershell + if: matrix.coverage + run: ci\opencppcoverage.ps1 + env: + B2_TOOLSET: ${{matrix.toolset}} + B2_CXXSTD: ${{matrix.cxxstd}} + B2_ADDRESS_MODEL: ${{matrix.addrmd}} + + - name: Upload coverage + if: matrix.coverage + uses: codecov/codecov-action@v2 + with: + files: __out/cobertura.xml + + MSYS2: + defaults: + run: + shell: msys2 {0} + strategy: + fail-fast: false + matrix: + include: + - { sys: MINGW32, compiler: gcc, cxxstd: '03,11,17,20' } + - { sys: MINGW64, compiler: gcc, cxxstd: '03,11,17,20' } + + runs-on: windows-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup MSYS2 environment + uses: msys2/setup-msys2@v2 + with: + msystem: ${{matrix.sys}} + update: true + install: git python + pacboy: gcc:p cmake:p ninja:p + + - name: Fetch Boost.CI + uses: actions/checkout@v3 + with: + repository: boostorg/boost-ci + ref: master + path: boost-ci-cloned + - name: Get CI scripts folder + run: | + # Copy ci folder if not testing Boost.CI + [[ "$GITHUB_REPOSITORY" =~ "boost-ci" ]] || cp -r boost-ci-cloned/ci . + rm -rf boost-ci-cloned + + - name: Setup Boost + env: + B2_COMPILER: ${{matrix.compiler}} + B2_CXXSTD: ${{matrix.cxxstd}} + B2_SANITIZE: ${{matrix.sanitize}} + B2_STDLIB: ${{matrix.stdlib}} + run: ci/github/install.sh + + - name: Run tests + run: ci/build.sh + + # Run also the CMake tests to avoid having to setup another matrix for CMake on MSYS + - name: Run CMake tests + run: | + cd "$BOOST_ROOT" + mkdir __build_cmake_test__ && cd __build_cmake_test__ + cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DBOOST_INCLUDE_LIBRARIES=$SELF -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DBoost_VERBOSE=ON .. + cmake --build . --target tests --config Debug -j$B2_JOBS + ctest --output-on-failure --build-config Debug + + CMake: + defaults: + run: + shell: bash + + strategy: + fail-fast: false + matrix: + include: + - { os: ubuntu-20.04, build_shared: ON, build_type: Debug, generator: 'Unix Makefiles' } + - { os: ubuntu-20.04, build_shared: OFF, build_type: Debug, generator: 'Unix Makefiles' } + - { os: windows-2019, build_shared: ON, build_type: Debug, generator: 'Visual Studio 16 2019' } + - { os: windows-2019, build_shared: OFF, build_type: Debug, generator: 'Visual Studio 16 2019' } + + timeout-minutes: 120 + runs-on: ${{matrix.os}} + + steps: + - uses: actions/checkout@v3 + - name: Fetch Boost.CI + uses: actions/checkout@v3 + with: + repository: boostorg/boost-ci + ref: master + path: boost-ci-cloned + - name: Get CI scripts folder + run: | + # Copy ci folder if not testing Boost.CI + [[ "$GITHUB_REPOSITORY" =~ "boost-ci" ]] || cp -r boost-ci-cloned/ci . + rm -rf boost-ci-cloned + - name: Setup Boost + env: {B2_DONT_BOOTSTRAP: 1} + run: source ci/github/install.sh + + - name: Get ICU + if: runner.os == 'Windows' + shell: pwsh + run: | + $ICU_ROOT="$($pwd.Path)\ICU" + cmake -DICU_ROOT="$ICU_ROOT" -DICU_VERSION="71.1" -P tools/download_icu.cmake + Add-Content $Env:GITHUB_ENV "ICU_ROOT=$ICU_ROOT" + # Make sure shared libs can be found at runtime + Add-Content $Env:GITHUB_PATH "$ICU_ROOT\bin64" + + - name: Run CMake tests + run: | + cd "$BOOST_ROOT" + mkdir __build_cmake_test__ && cd __build_cmake_test__ + cmake -G "${{matrix.generator}}" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBOOST_INCLUDE_LIBRARIES=$SELF -DBUILD_SHARED_LIBS=${{matrix.build_shared}} -DBUILD_TESTING=ON -DBoost_VERBOSE=ON .. + cmake --build . --target tests --config ${{matrix.build_type}} -j$B2_JOBS + ctest --output-on-failure --build-config ${{matrix.build_type}} + + - name: Run CMake subdir tests + run: | + cmake_test_folder="$BOOST_ROOT/libs/$SELF/test/cmake_test" # New unified folder + [ -d "$cmake_test_folder" ] || cmake_test_folder="$BOOST_ROOT/libs/$SELF/test/cmake_subdir_test" + cd "$cmake_test_folder" + mkdir __build_cmake_subdir_test__ && cd __build_cmake_subdir_test__ + extra_args="" + # On Windows DLLs need to be either in PATH or in the same folder as the executable, so put all binaries into the same folder + if [[ "$RUNNER_OS" == "Windows" ]] && [[ "${{matrix.build_shared}}" == "ON" ]]; then + extra_args="-DCMAKE_RUNTIME_OUTPUT_DIRECTORY='$(pwd)/bin'" + fi + cmake -G "${{matrix.generator}}" -DBOOST_CI_INSTALL_TEST=OFF -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.build_shared}} $extra_args .. + cmake --build . --config ${{matrix.build_type}} -j$B2_JOBS + ctest --output-on-failure --build-config ${{matrix.build_type}} + + - name: Install Library + run: | + BCM_INSTALL_PATH=/tmp/boost_install + echo "BCM_INSTALL_PATH=$BCM_INSTALL_PATH" >> $GITHUB_ENV + cd "$BOOST_ROOT" + mkdir __build_cmake_install_test__ && cd __build_cmake_install_test__ + cmake -G "${{matrix.generator}}" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBOOST_INCLUDE_LIBRARIES=$SELF -DBUILD_SHARED_LIBS=${{matrix.build_shared}} -DCMAKE_INSTALL_PREFIX="$BCM_INSTALL_PATH" -DBoost_VERBOSE=ON -DBoost_DEBUG=ON .. + cmake --build . --target install --config ${{matrix.build_type}} -j$B2_JOBS + - name: Run CMake install tests + run: | + cmake_test_folder="$BOOST_ROOT/libs/$SELF/test/cmake_test" # New unified folder + [ -d "$cmake_test_folder" ] || cmake_test_folder="$BOOST_ROOT/libs/$SELF/test/cmake_install_test" + cd "$cmake_test_folder" + mkdir __build_cmake_install_test__ && cd __build_cmake_install_test__ + cmake -G "${{matrix.generator}}" -DBOOST_CI_INSTALL_TEST=ON -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.build_shared}} -DCMAKE_PREFIX_PATH="$BCM_INSTALL_PATH" .. + cmake --build . --config ${{matrix.build_type}} -j$B2_JOBS + if [[ "${{matrix.build_shared}}" == "ON" ]]; then + # Make sure shared libs can be found at runtime + if [ "$RUNNER_OS" == "Windows" ]; then + export PATH="$BCM_INSTALL_PATH/bin:$PATH" + else + export LD_LIBRARY_PATH="$BCM_INSTALL_PATH/lib:$LD_LIBRARY_PATH" + fi + fi + ctest --output-on-failure --build-config ${{matrix.build_type}} + + Create_Boost_Documentation: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Fetch Boost.CI + uses: actions/checkout@v3 + with: + repository: boostorg/boost-ci + ref: master + path: boost-ci-cloned + - name: Get CI scripts folder + run: cp -r boost-ci-cloned/ci . && rm -rf boost-ci-cloned + - name: Setup Boost + run: source ci/github/install.sh + - name: Create documentation + run: | + sudo apt-get install -y doxygen + B2_TARGETS=libs/$SELF/doc ci/build.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 73af8451..2b78282b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,25 +6,36 @@ cmake_minimum_required(VERSION 3.5...3.20) project(boost_locale VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX) +# Using glob here is ok as it is only for headers +file(GLOB_RECURSE headers include/*.hpp) + add_library(boost_locale - src/encoding/codepage.cpp - src/shared/date_time.cpp - src/shared/format.cpp - src/shared/formatting.cpp - src/shared/generator.cpp - src/shared/ids.cpp - src/shared/localization_backend.cpp - src/shared/message.cpp - src/shared/mo_lambda.cpp - src/util/codecvt_converter.cpp - src/util/default_locale.cpp - src/util/info.cpp - src/util/locale_data.cpp + src/boost/locale/encoding/codepage.cpp + src/boost/locale/encoding/conv.hpp + src/boost/locale/encoding/iconv_codepage.ipp + src/boost/locale/encoding/uconv_codepage.ipp + src/boost/locale/encoding/wconv_codepage.ipp + src/boost/locale/shared/date_time.cpp + src/boost/locale/shared/format.cpp + src/boost/locale/shared/formatting.cpp + src/boost/locale/shared/generator.cpp + src/boost/locale/shared/ids.cpp + src/boost/locale/shared/localization_backend.cpp + src/boost/locale/shared/message.cpp + src/boost/locale/shared/mo_lambda.cpp + src/boost/locale/util/codecvt_converter.cpp + src/boost/locale/util/default_locale.cpp + src/boost/locale/util/info.cpp + src/boost/locale/util/locale_data.cpp + src/boost/locale/util/locale_data.hpp + src/boost/locale/util/numeric.hpp + src/boost/locale/util/timezone.hpp + ${headers} ) add_library(Boost::locale ALIAS boost_locale) -target_include_directories(boost_locale PUBLIC include) +target_include_directories(boost_locale PUBLIC include PRIVATE src) target_link_libraries(boost_locale PUBLIC @@ -38,12 +49,12 @@ target_link_libraries(boost_locale PRIVATE Boost::thread Boost::unordered + Boost::predef ) target_compile_definitions(boost_locale PUBLIC BOOST_LOCALE_NO_LIB - # Source files already define BOOST_LOCALE_SOURCE - # PRIVATE BOOST_LOCALE_SOURCE + PRIVATE _CRT_SECURE_NO_WARNINGS ) if(BUILD_SHARED_LIBS) @@ -78,6 +89,9 @@ if(BOOST_LOCALE_ENABLE_ICONV) target_compile_definitions(boost_locale PRIVATE BOOST_LOCALE_WITH_ICONV=1) target_link_libraries(boost_locale PRIVATE Iconv::Iconv) + target_sources(boost_locale PRIVATE + src/boost/locale/util/iconv.hpp + ) endif() if(BOOST_LOCALE_ENABLE_ICU) @@ -88,15 +102,24 @@ if(BOOST_LOCALE_ENABLE_ICU) target_link_libraries(boost_locale PRIVATE ICU::data ICU::i18n ICU::uc) target_sources(boost_locale PRIVATE - src/icu/boundary.cpp - src/icu/codecvt.cpp - src/icu/collator.cpp - src/icu/conversion.cpp - src/icu/date_time.cpp - src/icu/formatter.cpp - src/icu/icu_backend.cpp - src/icu/numeric.cpp - src/icu/time_zone.cpp + src/boost/locale/icu/all_generator.hpp + src/boost/locale/icu/boundary.cpp + src/boost/locale/icu/cdata.hpp + src/boost/locale/icu/codecvt.cpp + src/boost/locale/icu/codecvt.hpp + src/boost/locale/icu/collator.cpp + src/boost/locale/icu/conversion.cpp + src/boost/locale/icu/date_time.cpp + src/boost/locale/icu/formatter.cpp + src/boost/locale/icu/formatter.hpp + src/boost/locale/icu/icu_backend.cpp + src/boost/locale/icu/icu_backend.hpp + src/boost/locale/icu/icu_util.hpp + src/boost/locale/icu/numeric.cpp + src/boost/locale/icu/predefined_formatters.hpp + src/boost/locale/icu/time_zone.cpp + src/boost/locale/icu/time_zone.hpp + src/boost/locale/icu/uconv.hpp ) endif() @@ -104,11 +127,13 @@ endif() if(BOOST_LOCALE_ENABLE_STD) target_sources(boost_locale PRIVATE - src/std/codecvt.cpp - src/std/collate.cpp - src/std/converter.cpp - src/std/numeric.cpp - src/std/std_backend.cpp + src/boost/locale/std/all_generator.hpp + src/boost/locale/std/codecvt.cpp + src/boost/locale/std/collate.cpp + src/boost/locale/std/converter.cpp + src/boost/locale/std/numeric.cpp + src/boost/locale/std/std_backend.cpp + src/boost/locale/std/std_backend.hpp ) else() @@ -120,10 +145,13 @@ endif() if(BOOST_LOCALE_ENABLE_WINAPI) target_sources(boost_locale PRIVATE - src/win32/collate.cpp - src/win32/converter.cpp - src/win32/numeric.cpp - src/win32/win_backend.cpp + src/boost/locale/win32/all_generator.hpp + src/boost/locale/win32/api.hpp + src/boost/locale/win32/collate.cpp + src/boost/locale/win32/converter.cpp + src/boost/locale/win32/numeric.cpp + src/boost/locale/win32/win_backend.cpp + src/boost/locale/win32/win_backend.hpp ) else() @@ -135,7 +163,8 @@ endif() if(BOOST_LOCALE_ENABLE_WINAPI OR (BOOST_LOCALE_ENABLE_STD AND WIN32)) target_sources(boost_locale PRIVATE - src/win32/lcid.cpp + src/boost/locale/win32/lcid.cpp + src/boost/locale/win32/lcid.hpp ) endif() @@ -143,11 +172,14 @@ endif() if(BOOST_LOCALE_ENABLE_POSIX) target_sources(boost_locale PRIVATE - src/posix/collate.cpp - src/posix/converter.cpp - src/posix/numeric.cpp - src/posix/codecvt.cpp - src/posix/posix_backend.cpp + src/boost/locale/posix/all_generator.hpp + src/boost/locale/posix/codecvt.cpp + src/boost/locale/posix/codecvt.hpp + src/boost/locale/posix/collate.cpp + src/boost/locale/posix/converter.cpp + src/boost/locale/posix/numeric.cpp + src/boost/locale/posix/posix_backend.cpp + src/boost/locale/posix/posix_backend.hpp ) else() @@ -159,7 +191,8 @@ endif() if(BOOST_LOCALE_ENABLE_WINAPI OR BOOST_LOCALE_ENABLE_STD OR BOOST_LOCALE_ENABLE_POSIX) target_sources(boost_locale PRIVATE - src/util/gregorian.cpp + src/boost/locale/util/gregorian.cpp + src/boost/locale/util/gregorian.hpp ) endif() @@ -172,10 +205,26 @@ message(STATUS "Boost.Locale: " "winapi ${BOOST_LOCALE_ENABLE_WINAPI}" ) +if(MSVC) + set(BOOST_LOCALE_WARNING_OPTIONS /W4) + if(BOOST_LOCALE_WERROR) + list(APPEND BOOST_LOCALE_WARNING_OPTIONS /WX) + endif() +elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(BOOST_LOCALE_WARNING_OPTIONS -Wall -Wextra -Wno-error=deprecated-declarations) + if(BOOST_LOCALE_WERROR) + list(APPEND BOOST_LOCALE_WARNING_OPTIONS -Werror) + endif() +elseif(NOT DEFINED BOOST_LOCALE_WARNING_OPTIONS) + set(BOOST_LOCALE_WARNING_OPTIONS "") +endif() +target_compile_options(boost_locale PRIVATE ${BOOST_LOCALE_WARNING_OPTIONS}) + # Testing if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt") add_subdirectory(test) + add_subdirectory(examples) endif() diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..36b7cd93 --- /dev/null +++ b/LICENSE @@ -0,0 +1,23 @@ +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 00000000..b73b3dd8 --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# Boost.CI + +Part of the [Boost C++ Libraries](http://github.com/boostorg). + +Boost.Locale is a library that provides high quality localization facilities in a C++ way. +It was originally designed a part of [CppCMS](http://cppcms.sourceforge.net/) - a C++ Web Framework project and then contributed to Boost. + +Boost.Locale gives powerful tools for development of cross platform localized software - the software that talks to users in their language. + +Provided Features: + +- Correct case conversion, case folding and normalization. +- Collation (sorting), including support for 4 Unicode collation levels. +- Date, time, timezone and calendar manipulations, formatting and parsing, including transparent support for calendars other than Gregorian. +- Boundary analysis for characters, words, sentences and line-breaks. +- Number formatting, spelling and parsing. +- Monetary formatting and parsing. +- Powerful message formatting (string translation) including support for plural forms, using GNU catalogs. +- Character set conversion. +- Transparent support for 8-bit character sets like Latin1 +- Support for `char` and `wchar_t` +- Experimental support for C++0x `char16_t` and `char32_t` strings and streams. + +Boost.Locale enhances and unifies the standard library's API the way it becomes useful and convenient for development of cross platform and "cross-culture" software. + +In order to achieve this goal Boost.Locale uses the-state-of-the-art Unicode and Localization library: ICU - International Components for Unicode. + +Boost.Locale creates the natural glue between the C++ locales framework, iostreams, and the powerful ICU library. + +Boost.Locale provides non-ICU based localization support as well. +It is based on the operating system native API or on the standard C++ library support. +Sacrificing some less important features, Boost.Locale becomes less powerful but lighter and easier to deploy and use library. + +### License + +Distributed under the [Boost Software License, Version 1.0](https://www.boost.org/LICENSE_1_0.txt). + +### Properties + +* C++03 + +### Build Status + +Branch | GH Actions | Appveyor | codecov.io | Deps | Docs | Tests | +:-------------: | ---------- | -------- | ---------- | ---- | ---- | ----- | +[`master`](https://github.com/boostorg/locale/tree/master) | [![CI](https://github.com/boostorg/locale/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/boostorg/locale/actions/workflows/ci.yml) | [![Build status](https://ci.appveyor.com/api/projects/status/github/boostorg/locale?branch=master&svg=true)](https://ci.appveyor.com/project/Flamefire/locale/branch/master) | [![codecov](https://codecov.io/gh/boostorg/locale/branch/master/graph/badge.svg)](https://codecov.io/gh/boostorg/locale/branch/master) | [![Deps](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/locale.html) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](https://www.boost.org/doc/libs/master/libs/locale/doc/html/index.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/locale.html) +[`develop`](https://github.com/boostorg/locale/tree/develop) | [![CI](https://github.com/boostorg/locale/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/boostorg/locale/actions/workflows/ci.yml) | [![Build status](https://ci.appveyor.com/api/projects/status/github/boostorg/locale?branch=develop&svg=true)](https://ci.appveyor.com/project/Flamefire/locale/branch/develop) | [![codecov](https://codecov.io/gh/boostorg/locale/branch/develop/graph/badge.svg)](https://codecov.io/gh/boostorg/locale/branch/develop) | [![Deps](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/locale.html) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](https://www.boost.org/doc/libs/develop/libs/locale/doc/html/index.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/locale.html) + +### Directories + +| Name | Purpose | +| ----------- | ------------------------------ | +| `doc` | Documentation | +| `examples` | Examples | +| `include` | Headers | +| `src` | Source files | +| `test` | Unit tests | + +### More information + +* [Ask questions](http://stackoverflow.com/questions/ask?tags=c%2B%2B,boost,boost-locale) +* [Report bugs](https://github.com/boostorg/locale/issues): Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well. +* Submit your patches as pull requests against **develop** branch. Note that by submitting patches you agree to license your modifications under the [Boost Software License, Version 1.0](https://www.boost.org/LICENSE_1_0.txt). +* Discussions about the library are held on the [Boost developers mailing list](http://www.boost.org/community/groups.html#main). Be sure to read the [discussion policy](http://www.boost.org/community/policy.html) before posting and add the `[locale]` tag at the beginning of the subject line. diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 578e722e..450ec87a 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -1,19 +1,22 @@ -# copyright John Maddock 2003, Artyom Beilis 2010 -# Distributed under the Boost Software License, Version 1.0. -# (See accompanying file LICENSE_1_0.txt or copy at -# http://www.boost.org/LICENSE_1_0.txt. +# Copyright 2003 John Maddock +# Copyright 2010 Artyom Beilis +# Copyright 2021 - 2022 Alexander Grund +# +# Distributed under the Boost Software License, Version 1.0. +# https://www.boost.org/LICENSE_1_0.txt. +import configure ; +import feature ; +import os ; +import path ; +import toolset ; +path-constant TOP : .. ; project /boost/locale - : source-location ../src + : source-location $(TOP)/src/boost/locale ; -import configure ; -import os ; -import toolset ; -import project ; -import feature ; # Features feature.feature boost.locale.iconv : on off : optional propagated ; @@ -26,70 +29,83 @@ feature.feature boost.locale.winapi : on off : optional propagated ; ## iconv -obj has_iconv_libc_obj : ../build/has_iconv.cpp ; -exe has_iconv : has_iconv_libc_obj ; +exe has_iconv : $(TOP)/build/has_iconv.cpp ; explicit has_iconv ; ICONV_PATH = [ modules.peek : ICONV_PATH ] ; -lib iconv - : +lib iconv + : : $(ICONV_PATH)/lib shared shared : - : $(ICONV_PATH)/include + : $(ICONV_PATH)/include ; explicit iconv ; -obj has_iconv_libc_ext : ../build/has_iconv.cpp iconv ; -exe has_external_iconv : has_iconv_libc_ext iconv ; +exe has_external_iconv : $(TOP)/build/has_iconv.cpp iconv ; explicit has_external_iconv ; -exe accepts_shared_option : ../build/option.cpp - : -shared-libstdc++ +exe accepts_shared_option : $(TOP)/build/option.cpp + : -shared-libstdc++ -shared-libgcc -shared-libstdc++ -shared-libgcc ; # Xlocale -obj has_xlocale_obj : ../build/has_xlocale.cpp ; -exe has_xlocale : has_xlocale_obj ; + +exe has_xlocale : $(TOP)/build/has_xlocale.cpp ; explicit has_xlocale ; #end xlocale +# Specify the root path to the installed ICU libraries via +# - Environment variable: ICU_PATH +# - `b2 .. -s ICU_PATH=x` +# - In project-config.jam as `path-constant ICU_PATH : x ; -ICU_PATH = [ modules.peek : ICU_PATH ] ; -ICU_LINK = [ modules.peek : ICU_LINK ] ; +local icu-path = [ modules.peek : ICU_PATH ] ; # -sICU_PATH=x or env variable +icu-path ?= $(ICU_PATH) ; # path-constant -if $(ICU_LINK) +if $(icu-path) { - ICU_OPTS = $(ICU_PATH)/include $(ICU_LINK) $(ICU_PATH)/bin shared ; - ICU64_OPTS = $(ICU_PATH)/include $(ICU_LINK) $(ICU_PATH)/bin64 shared ; + icu-path = [ path.make $(icu-path) ] ; # Normalize } -else + +ICU_LINK = [ modules.peek : ICU_LINK ] ; +# Temporary workaround for incompatibility of ICU_LINK with Boost.Regex: +# Use ICU_LINK_LOCALE instead of ICU_LINK. +# Note that ICU_LINK and ICU_LINK_LOCALE will be removed in Boost 1.81 +# in favor of a similar solution to Boost.Regex or a B2 module. +ICU_LINK ?= [ modules.peek : ICU_LINK_LOCALE ] ; + +if $(ICU_LINK) +{ + ICU_OPTS = $(icu-path)/include $(ICU_LINK) $(icu-path)/bin shared ; + ICU64_OPTS = $(icu-path)/include $(ICU_LINK) $(icu-path)/bin64 shared ; +} else { searched-lib icuuc : : icuuc - $(ICU_PATH)/lib - shared + $(icu-path)/lib + shared shared ; searched-lib icuuc : : msvc debug icuucd - $(ICU_PATH)/lib + $(icu-path)/lib shared shared ; searched-lib icuuc : : this_is_an_invalid_library_name ; - searched-lib icudt : : $(ICU_PATH)/lib + searched-lib icudt : : $(icu-path)/lib icudata shared shared ; - searched-lib icudt : : $(ICU_PATH)/lib + searched-lib icudt : : $(icu-path)/lib icudt msvc shared @@ -97,7 +113,7 @@ else searched-lib icudt : : this_is_an_invalid_library_name ; - searched-lib icuin : : $(ICU_PATH)/lib + searched-lib icuin : : $(icu-path)/lib icui18n shared shared ; @@ -105,14 +121,14 @@ else searched-lib icuin : : msvc debug icuind - $(ICU_PATH)/lib + $(icu-path)/lib shared shared ; searched-lib icuin : : msvc release icuin - $(ICU_PATH)/lib + $(icu-path)/lib shared shared ; @@ -120,35 +136,35 @@ else explicit icuuc icudt icuin ; - ICU_OPTS = $(ICU_PATH)/include - icuuc/shared/shared - icudt/shared/shared + ICU_OPTS = $(icu-path)/include + icuuc/shared/shared + icudt/shared/shared icuin/shared/shared - $(ICU_PATH)/bin + $(icu-path)/bin shared ; searched-lib icuuc_64 : : icuuc - $(ICU_PATH)/lib64 - shared + $(icu-path)/lib64 + shared shared ; searched-lib icuuc_64 : : msvc debug icuucd - $(ICU_PATH)/lib64 + $(icu-path)/lib64 shared shared ; searched-lib icuuc_64 : : this_is_an_invalid_library_name ; - searched-lib icudt_64 : : $(ICU_PATH)/lib64 + searched-lib icudt_64 : : $(icu-path)/lib64 icudata shared shared ; - searched-lib icudt_64 : : $(ICU_PATH)/lib64 + searched-lib icudt_64 : : $(icu-path)/lib64 icudt msvc shared @@ -156,7 +172,7 @@ else searched-lib icudt_64 : : this_is_an_invalid_library_name ; - searched-lib icuin_64 : : $(ICU_PATH)/lib64 + searched-lib icuin_64 : : $(icu-path)/lib64 icui18n shared shared ; @@ -164,14 +180,14 @@ else searched-lib icuin_64 : : msvc debug icuind - $(ICU_PATH)/lib64 + $(icu-path)/lib64 shared shared ; searched-lib icuin_64 : : msvc release icuin - $(ICU_PATH)/lib64 + $(icu-path)/lib64 shared shared ; @@ -179,21 +195,17 @@ else explicit icuuc_64 icudt_64 icuin_64 ; - ICU64_OPTS = $(ICU_PATH)/include - icuuc_64/shared/shared - icudt_64/shared/shared + ICU64_OPTS = $(icu-path)/include + icuuc_64/shared/shared + icudt_64/shared/shared icuin_64/shared/shared - $(ICU_PATH)/bin64 + $(icu-path)/bin64 shared ; - - -} -obj has_icu_obj : ../build/has_icu_test.cpp : $(ICU_OPTS) ; -obj has_icu64_obj : ../build/has_icu_test.cpp : $(ICU64_OPTS) ; +} -exe has_icu : has_icu_obj : $(ICU_OPTS) ; -exe has_icu64 : has_icu64_obj : $(ICU64_OPTS) ; +exe has_icu : $(TOP)/build/has_icu_test.cpp : $(ICU_OPTS) ; +exe has_icu64 : $(TOP)/build/has_icu_test.cpp : $(ICU64_OPTS) ; explicit has_icu has_icu64 ; @@ -206,28 +218,25 @@ rule configure-full ( properties * : flags-only ) local result ; local flags-result ; - + local found-iconv ; - + + # The system Iconv on Solaris may have bugs, while the GNU Iconv is fine. + # So enable by default only if not on Solaris. if on in $(properties) - || ! in $(properties:G) - && ! solaris in $(properties) + || ( ! in $(properties:G) && ! solaris in $(properties) ) { # See if iconv is bundled with standard library. if [ configure.builds has_iconv : $(properties) : "iconv (libc)" ] { found-iconv = true ; - } - else + } else if [ configure.builds has_external_iconv : $(properties) : "iconv (separate)" ] { - if [ configure.builds has_external_iconv : $(properties) : "iconv (separate)" ] - { - found-iconv = true ; - result += iconv ; - } + found-iconv = true ; + result += iconv ; } - } - if $(found-iconv) + } + if $(found-iconv) { flags-result += BOOST_LOCALE_WITH_ICONV=1 ; } @@ -240,8 +249,7 @@ rule configure-full ( properties * : flags-only ) { found-icu = true ; flags-result += BOOST_LOCALE_WITH_ICU=1 $(ICU_OPTS) ; - } - else if [ configure.builds has_icu64 : $(properties) : "icu (lib64)" ] + } else if [ configure.builds has_icu64 : $(properties) : "icu (lib64)" ] { found-icu = true ; flags-result += BOOST_LOCALE_WITH_ICU=1 $(ICU64_OPTS) ; @@ -249,7 +257,7 @@ rule configure-full ( properties * : flags-only ) if $(found-icu) { - ICU_SOURCES = + ICU_SOURCES = boundary codecvt collator @@ -260,37 +268,34 @@ rule configure-full ( properties * : flags-only ) numeric time_zone ; - - result += icu/$(ICU_SOURCES).cpp - ../../thread/build//boost_thread + + result += icu/$(ICU_SOURCES).cpp + /boost/thread//boost_thread ; } - } - - if ! $(found-iconv) && ! $(found-icu) && ! windows in $(properties) && ! cygwin in $(properties) + + if ! $(found-iconv) && ! $(found-icu) && ! windows in $(properties) && ! cygwin in $(properties) { ECHO "- Boost.Locale needs either iconv or ICU library to be built." ; result += no ; } - + if ! in $(properties:G) { if sun in $(properties) { properties += off ; - } - else + } else { properties += on ; - } + } } - + if off in $(properties) { flags-result += BOOST_LOCALE_NO_STD_BACKEND=1 ; - } - else + } else { STD_SOURCES = codecvt @@ -301,38 +306,35 @@ rule configure-full ( properties * : flags-only ) ; result += std/$(STD_SOURCES).cpp ; } - + if ! in $(properties:G) { - if windows in $(properties) - || cygwin in $(properties) + if windows in $(properties) || cygwin in $(properties) { properties += on ; - } - else + } else { properties += off ; - } + } } - if windows in $(properties) - && gcc in $(properties) + if windows in $(properties) + && gcc in $(properties) && shared in $(properties) && [ configure.builds accepts_shared_option : $(properties) : "g++ -shared-* supported" ] { - flags-result += -shared-libstdc++ + flags-result += -shared-libstdc++ -shared-libgcc -shared-libstdc++ -shared-libgcc ; } - + if off in $(properties) { flags-result += BOOST_LOCALE_NO_WINAPI_BACKEND=1 ; - } - else + } else { - WINAPI_SOURCES = + WINAPI_SOURCES = collate converter numeric @@ -340,34 +342,32 @@ rule configure-full ( properties * : flags-only ) ; result += win32/$(WINAPI_SOURCES).cpp ; } - + if ( ! off in $(properties) || ! off in $(properties) ) && ( windows in $(properties) || cygwin in $(properties) ) { result += win32/lcid.cpp ; } - + if ! in $(properties:G) { - if linux in $(properties) - || darwin in $(properties) + if linux in $(properties) + || darwin in $(properties) || ( freebsd in $(properties) && [ configure.builds has_xlocale : $(properties) : "xlocale supported" ] ) { properties += on ; - } - else + } else { - properties += off ; - } + properties += off ; + } } - + if off in $(properties) { - flags-result += BOOST_LOCALE_NO_POSIX_BACKEND=1 ; - } - else + flags-result += BOOST_LOCALE_NO_POSIX_BACKEND=1 ; + } else { - POSIX_SOURCES = + POSIX_SOURCES = collate converter numeric @@ -381,15 +381,12 @@ rule configure-full ( properties * : flags-only ) { result += util/gregorian.cpp ; } - - result += ../../system/build//boost_system ; - - if "$(flags-only)" = "flags" + if "$(flags-only)" = "flags" { return $(flags-result) ; - } - else { + } else + { result += $(flags-result) ; return $(result) ; } @@ -399,7 +396,6 @@ rule configure ( properties * ) { local result = [ configure-full $(properties) : "all" ] ; return $(result) ; - } rule configure-flags ( properties * ) @@ -407,39 +403,33 @@ rule configure-flags ( properties * ) local result ; result = [ configure-full $(properties) : "flags" ] ; return $(result) ; - } - -alias build_options : : : : @configure ; alias build_flags : : : : @configure-flags ; -lib boost_locale - : - encoding/codepage.cpp - shared/date_time.cpp - shared/format.cpp - shared/formatting.cpp - shared/generator.cpp - shared/ids.cpp - shared/localization_backend.cpp - shared/message.cpp - shared/mo_lambda.cpp - util/codecvt_converter.cpp - util/default_locale.cpp - util/info.cpp - util/locale_data.cpp +boost-lib locale + : + encoding/codepage.cpp + shared/date_time.cpp + shared/format.cpp + shared/formatting.cpp + shared/generator.cpp + shared/ids.cpp + shared/localization_backend.cpp + shared/message.cpp + shared/mo_lambda.cpp + util/codecvt_converter.cpp + util/default_locale.cpp + util/info.cpp + util/locale_data.cpp : # Don't link explicitly, not required BOOST_THREAD_NO_LIB=1 - shared:BOOST_LOCALE_DYN_LINK=1 + $(TOP)/src multi + windows:_CRT_SECURE_NO_WARNINGS + gcc:"-Wno-long-long -Wno-deprecated-declarations" + clang:"-Wno-long-long -Wno-deprecated-declarations" # Meanwhile remove this @configure ; - -boost-install boost_locale ; - - -# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 - diff --git a/build/has_iconv.cpp b/build/has_iconv.cpp index 7b500580..4fd7544a 100644 --- a/build/has_iconv.cpp +++ b/build/has_iconv.cpp @@ -1,10 +1,9 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + #include int main() diff --git a/build/has_icu_test.cpp b/build/has_icu_test.cpp index 9419b301..344c8eae 100644 --- a/build/has_icu_test.cpp +++ b/build/has_icu_test.cpp @@ -1,13 +1,7 @@ -/* - * - * Copyright (c) 2010 - * John Maddock - * - * Use, modification and distribution are subject to the - * Boost Software License, Version 1.0. (See accompanying file - * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - * - */ +// Copyright (c) 2010 John Maddock +// +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt #include #include diff --git a/build/has_xlocale.cpp b/build/has_xlocale.cpp index 4d788e2b..973ff816 100644 --- a/build/has_xlocale.cpp +++ b/build/has_xlocale.cpp @@ -1,12 +1,11 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + #include int main() { - newlocale(LC_ALL_MASK,"",0); + newlocale(LC_ALL_MASK,"",0); } diff --git a/build/option.cpp b/build/option.cpp index d321a959..b6b008fe 100644 --- a/build/option.cpp +++ b/build/option.cpp @@ -1,10 +1,9 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + int main() { } diff --git a/doc/Doxyfile b/doc/Doxyfile index fd69651f..b757c077 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -128,7 +128,7 @@ FULL_PATH_NAMES = YES # If left blank the directory from which doxygen is run is used as the # path to strip. -STRIP_FROM_PATH = ../../.. ../include +STRIP_FROM_PATH = ../../.. ../include # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells @@ -137,7 +137,7 @@ STRIP_FROM_PATH = ../../.. ../include # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. -STRIP_FROM_INC_PATH = ../../.. ../include +STRIP_FROM_INC_PATH = ../../.. ../include # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful if your file system @@ -895,7 +895,8 @@ HTML_FOOTER = templates/footer.html # the style sheet file to the HTML output directory, so don't put your own # style sheet in the HTML output directory as well, or it will be erased! -HTML_STYLESHEET = +#HTML_STYLESHEET = +HTML_EXTRA_STYLESHEET = style/section-basic.css # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note @@ -904,7 +905,7 @@ HTML_STYLESHEET = # files. In the HTML_STYLESHEET file, use the file name only. Also note that # the files will be copied as-is; there are no commands or markers available. -HTML_EXTRA_FILES = +HTML_EXTRA_FILES = style/header.css style/header_grass.css style/header-bg.png style/header-fg.png style/space.png # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the style sheet and background images diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 new file mode 100644 index 00000000..8d94ec50 --- /dev/null +++ b/doc/Jamfile.v2 @@ -0,0 +1,43 @@ +# Copyright (C) 2022 Alexander Grund +# Distributed under the Boost Software License, Version 1.0 +# https://www.boost.org/LICENSE_1_0.txt + +using doxygen ; +import doxygen ; +import path ; +import os ; + +path-constant here : . ; + +.doxygen = [ doxygen.name ] ; +.doxygen ?= doxygen ; + +local sources = [ path.glob-tree $(here)/../include/boost/locale : *.hpp : ] + [ path.glob $(here) : *.txt ] + [ path.glob $(here)/style : *.css *.png ] + templates/footer.html + ; + +make html : $(here)/Doxyfile : @make-html : $(sources) ; + +if [ os.name ] = NT +{ + RMDIR = rmdir /s /q ; +} +else +{ + RMDIR = rm -rf ; +} + +actions make-html { + cd $(here) + $(RMDIR) html + "$(.doxygen)" +} + +alias reference : html ; + +alias boostdoc ; +explicit boostdoc ; +alias boostrelease : html ; +explicit boostrelease ; diff --git a/doc/appendix.txt b/doc/appendix.txt index 5778fafe..7256a9c1 100644 --- a/doc/appendix.txt +++ b/doc/appendix.txt @@ -1,24 +1,21 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt -// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 filetype=cpp.doxygen /*! \page appendix Appendix -\section appendix_toc Table of Contents +\section appendix_toc Table of Contents - \subpage rationale - \subpage faq - \subpage default_encoding_under_windows -- \subpage running_examples_under_windows -- \subpage gettext_for_windows +- \subpage running_examples_under_windows +- \subpage gettext_for_windows - \subpage glossary -- \subpage tested_compilers_and_paltforms +- \subpage tested_compilers_and_platforms - \subpage status_of_cpp0x_characters_support - \subpage special_thanks diff --git a/doc/boundary_analysys.txt b/doc/boundary_analysys.txt index 66dc6434..ef0eff21 100644 --- a/doc/boundary_analysys.txt +++ b/doc/boundary_analysys.txt @@ -1,12 +1,8 @@ -// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 filetype=cpp.doxygen - -// -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt /*! \page boundary_analysys Boundary analysis @@ -25,11 +21,11 @@ \section boundary_analysys_basics Basics Boost.Locale provides a boundary analysis tool, allowing you to split text into characters, -words, or sentences, and find appropriate places for line breaks. +words, or sentences, and find appropriate places for line breaks. \note This task is not a trivial task. \par -A Unicode code point and a character are not equivalent, for example: +A Unicode code point and a character are not equivalent, for example: Hebrew word Shalom - "שָלוֹם" that consists of 4 characters and 6 code points (4 base letters and 2 diacritical marks) \par Words may not be separated by space characters in some languages like in Japanese or Chinese. @@ -41,7 +37,7 @@ Boost.Locale provides 2 major classes for boundary analysis: - \ref boost::locale::boundary::boundary_point_index - an object that holds an index of boundary points in the text. It allows to iterate over the \ref boost::locale::boundary::boundary_point "boundary_point" objects. -Each of the classes above use an iterator type as template parameter. +Each of the classes above use an iterator type as template parameter. Both of these classes accept in their constructor: - A flag that defines boundary analysis \ref boost::locale::boundary::boundary_type "boundary_type". @@ -85,10 +81,10 @@ using namespace boost::locale::boundary; boost::locale::generator gen; std::string text="To be or not to be, that is the question." // Create mapping of text for token iterator using global locale. -ssegment_index map(word,text.begin(),text.end(),gen("en_US.UTF-8")); +ssegment_index map(word,text.begin(),text.end(),gen("en_US.UTF-8")); // Print all "words" -- chunks of word boundary for(ssegment_index::iterator it=map.begin(),e=map.end();it!=e;++it) - std::cout <<"\""<< * it << "\", "; + std::cout << "\""<< * it << "\", "; std::cout << std::endl; \endcode @@ -102,12 +98,12 @@ This sentence "生きるか死ぬか、それが問題だ。" (rule() & word_none) @@ -185,14 +181,14 @@ Would print \verbatim Segment 生 contains: ideographic characters -Segment きるか contains: kana characters +Segment きるか contains: kana characters Segment 死 contains: ideographic characters -Segment ぬか contains: kana characters -Segment 、 contains: white space or punctuation marks -Segment それが contains: kana characters +Segment ぬか contains: kana characters +Segment 、 contains: white space or punctuation marks +Segment それが contains: kana characters Segment 問題 contains: ideographic characters -Segment だ contains: kana characters -Segment 。 contains: white space or punctuation marks +Segment だ contains: kana characters +Segment 。 contains: white space or punctuation marks \endverbatim One important things that should be noted that each segment is defined @@ -223,9 +219,9 @@ boost::locale::generator gen; using namespace boost::locale::boundary; std::string text= "Hello! How\n" "are you?\n"; -ssegment_index map(sentence,text.begin(),text.end(),gen("en_US.UTF-8")); +ssegment_index map(sentence,text.begin(),text.end(),gen("en_US.UTF-8")); map.rule(sentence_term); -for(ssegment_index::iterator it=map.begin(),e=map.end();it!=e;++it) +for(ssegment_index::iterator it=map.begin(),e=map.end();it!=e;++it) std::cout << "Sentence [" << *it << "]" << std::endl; \endcode @@ -264,8 +260,8 @@ Sometimes it is useful to find a segment that some specific iterator is pointing For example a user had clicked at specific point, we want to select a word on this location. -\ref boost::locale::boundary::segment_index "segment_index" provides -\ref boost::locale::boundary::segment_index::find() "find(base_iterator p)" +\ref boost::locale::boundary::segment_index "segment_index" provides +\ref boost::locale::boundary::segment_index::find() "find(base_iterator p)" member function for this purpose. This function returns the iterator to the segmet such that \a p points to. @@ -287,7 +283,7 @@ Would print: be \endverbatim -\note +\note if the iterator lays inside the segment this segment returned. If the segment does not fit the selection rules, then the segment following requested position @@ -297,19 +293,19 @@ For example: For \ref boost::locale::boundary::word "word" boundary analysis wit - "t|o be or ", would point to "to" - the iterator in the middle of segment "to". - "to |be or ", would point to "be" - the iterator at the beginning of the segment "be" -- "to| be or ", would point to "be" - the iterator does is not point to segment with required rule so next valid segment is selected "be". +- "to| be or ", would point to "be" - the iterator does not point to segment with required rule so next valid segment is selected "be". - "to be or| ", would point to end as not valid segment found. \section boundary_analysys_break Iterating Over Boundary Points \section boundary_analysys_break_basics Basic Iteration -The \ref boost::locale::boundary::boundary_point_index "boundary_point_index" is similar to +The \ref boost::locale::boundary::boundary_point_index "boundary_point_index" is similar to \ref boost::locale::boundary::segment_index "segment_index" in its interface but as a different role. -Instead of returning text chunks (\ref boost::locale::boundary::segment "segment"s, it returns +Instead of returning text chunks (\ref boost::locale::boundary::segment "segment"s), it returns \ref boost::locale::boundary::boundary_point "boundary_point" object that -represents a position in text - a base iterator used that is used for -iteration of the source text C++ characters. +represents a position in text - a base iterator used that is used for +iteration of the source text C++ characters. The \ref boost::locale::boundary::boundary_point "boundary_point" object also provides a \ref boost::locale::boundary::boundary_point::rule() "rule()" member function that defines a rule this boundary was selected according to. @@ -325,7 +321,7 @@ boost::locale::generator gen; // our text sample std::string const text="First sentence. Second sentence! Third one?"; -// Create an index +// Create an index sboundary_point_index map(sentence,text.begin(),text.end(),gen("en_US.UTF-8")); // Count two boundary points @@ -337,8 +333,8 @@ while(p!=e && count < 2) { } if(p!=e) { - std::cout << "First two sentences are: " - << std::string(text.begin(),p->iterator()) + std::cout << "First two sentences are: " + << std::string(text.begin(),p->iterator()) << std::endl; } else { @@ -354,7 +350,7 @@ First two sentences are: First sentence. Second sentence! \section boundary_analysys_break_rules Using Rules -Similarly to the \ref boost::locale::boundary::segment_index "segment_index" the +Similarly to the \ref boost::locale::boundary::segment_index "segment_index" the \ref boost::locale::boundary::boundary_point_index "boundary_point_index" provides a \ref boost::locale::boundary::boundary_point_index::rule(rule_type r) "rule(rule_type mask)" member function to filter boundary points that interest us. @@ -379,7 +375,7 @@ Which is not something that we really expected. As the "Second\n" is considered an independent sentence that was separated by a line separator "Line Feed". -However, we can set set a rule \ref boost::locale::boundary::sentence_term "sentence_term" +However, we can set set a rule \ref boost::locale::boundary::sentence_term "sentence_term" and the iterator would use only boundary points that are created by a sentence terminators like ".!?". @@ -392,7 +388,7 @@ Right after the generation of the index we would get the desired output: \verbatim First two sentences are: First sentence. Second -sentence! +sentence! \endverbatim You can also use \ref boost::locale::boundary::boundary_point::rule() "boundary_point::rule()" member @@ -415,8 +411,8 @@ for(sboundary_point_index::iterator p = map.begin(),e=map.end();p!=e;++p) { else if(p->rule() & sentence_sep) std::cout << "There is a sentence separator: "; if(p->rule()!=0) // print if some rule exists - std::cout << "[" << std::string(text.begin(),p->iterator()) - << "|" << std::string(p->iterator(),text.end()) + std::cout << "[" << std::string(text.begin(),p->iterator()) + << "|" << std::string(p->iterator(),text.end()) << "]\n"; } \endcode @@ -467,13 +463,13 @@ map.rule(word_any); std::string::const_iterator pos = text.begin() + 12; // "no|t"; // Get the search range -sboundary_point_index::iterator +sboundary_point_index::iterator begin =map.begin(), end = map.end(), it = map.find(pos); // find a boundary // go 3 words backward -for(int count = 0;count <3 && it!=begin; count ++) +for(int count = 0;count <3 && it!=begin; count ++) --it; // Save the start @@ -499,5 +495,3 @@ That would print: */ - - diff --git a/doc/building_boost_locale.txt b/doc/building_boost_locale.txt index 37f36842..faf85c50 100644 --- a/doc/building_boost_locale.txt +++ b/doc/building_boost_locale.txt @@ -1,13 +1,8 @@ -// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 filetype=cpp.doxygen - -// -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // - +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt /*! \page building_boost_locale Building The library @@ -131,7 +126,7 @@ You can run unit tests by invoking \c bjam with \c libs/locale/test project para Boost.Locale is built with binary compatibility in mind. Switching localization back ends on or off, or using iconv or not, does not affect binary compatibility. So if a dynamic library was built -with all possible backends, other dynamic libraries compiled with, for example, only the \c std, \c posix +with all possible backends, other dynamic libraries compiled with, for example, only the \c std, \c posix or \c winapi backends would still be binary-compatible with it. However this definitely has an effect on some features. For example, if you @@ -139,5 +134,3 @@ try to use boundary analysis or a calendar facet when the library does not suppo you would get an exception. */ - - diff --git a/doc/changelog.txt b/doc/changelog.txt index 300203b3..d9b1aa94 100644 --- a/doc/changelog.txt +++ b/doc/changelog.txt @@ -1,16 +1,24 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) +// Copyright (c) 2021-2022 Alexander Grund // +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt -// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 filetype=cpp.doxygen /*! \page changelog Changelog -- 1.67.0 +- 1.80.0 + - Deprecated support for C++03 and earlier, C++11 will be required in the next release + - Provide `-sICU_LINK_LOCALE` as a temporary replacement for `-sICU_LINK` which is incompatible with Boost.Regex. + - `-sICU_LINK_LOCALE` and `-sICU_LINK` are deprecated and will be replaced by `ICU_*_NAME` options to be compatible with Boost.Regex + - Fix UB/assertion failure in the ICU `collator` implementation when transforming empty strings + - Fix some issues related to visibility of classes in shared libraries (Unix only) + - Fix compatibility with C++20 mode + - Fix compatibility with `BOOST_USE_WINDOWS_H` + - Fix build failures due to missing includes + - Handle or suppress many warnings which makes the build log cleaner +- 1.67.0 - Added support of unique_ptr interface in addition to C++2003 auto_ptr - in order to support C++2017, now you can use BOOST_LOCALE_HIDE_AUTO_PTR definiton to remove auto_ptr from the interfaces and prevent deprecated watnings - Fixed test problem with ICU >60.1 - Fix of solaris build @@ -21,23 +29,22 @@ - Fixed build agains Boost.Thread v4 - Fixed Year of week instead of year ICU backend formatting - Fixed formatting test for ICU 56.1 and above -- 1.60.0 +- 1.60.0 - Implemented generic codecvt facet and add general purpose utf8_codecvt facet - Added posix locale support for FreeBSD 10.0 and above - Fixed issues 10017 (sun redefinition on SunOS), 11163 (set_default_messages_domain incorrect behavior), 11673 - build issues - - Some warning cleanup + - Some warning cleanup - Fixed tests for latest ICU versions - Added workaround for `libc++` issues - Added new defines `BOOST_LOCALE_ENABLE_CHAR16_T` and `BOOST_LOCALE_ENABLE_CHAR32_T` to enable C++11 `char16_t` and `char32_t` instead of deprecated ones - 1.53.0 - Bug fixes: 7743, 7386, 7734, 7701, 7368, 7762: - - 7743 - security related bug fix, some invalid UTF-8 sequences where accepted as valid + - 7743 - security related bug fix, some invalid UTF-8 sequences where accepted as valid - 7386 - invalid Windows codepage names used - 7734 - fixed missing documentation, caused by a error in Doxygen formatting - 7701 - fixed missing \c std:: in some places - 7368, 7762 - Spelling, grammar, typos - 1.49.0 - - Fixed incorrect use of MultiByteToWideChar in detection of invalid input sequences + - Fixed incorrect use of MultiByteToWideChar in detection of invalid input sequences - 1.48.0 - First Release - */ diff --git a/doc/charset_handling.txt b/doc/charset_handling.txt index 775e06f1..0a7c6b62 100644 --- a/doc/charset_handling.txt +++ b/doc/charset_handling.txt @@ -1,19 +1,16 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt -// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 filetype=cpp.doxygen /*! \page charset_handling Character Set Conversions \section codecvt Convenience Interface -Boost.Locale provides \ref boost::locale::conv::to_utf() "to_utf", \ref boost::locale::conv::from_utf() "from_utf" and -\ref boost::locale::conv::utf_to_utf() "utf_to_utf" functions in +Boost.Locale provides \ref boost::locale::conv::to_utf() "to_utf", \ref boost::locale::conv::from_utf() "from_utf" and +\ref boost::locale::conv::utf_to_utf() "utf_to_utf" functions in the \c boost::locale::conv namespace. They are simple and convenient functions to convert a string to and from UTF-8/16/32 strings and strings using other encodings. @@ -33,16 +30,16 @@ or use std::locale as a parameter to fetch this information from it. It also receives a policy parameter that tells it how to behave if the conversion can't be performed (i.e. an illegal or unsupported character is found). By default this function skips all illegal characters and tries to do the best it -can, however, it is possible ask it to throw -a \ref boost::locale::conv::conversion_error "conversion_error" exception +can, however, it is possible ask it to throw +a \ref boost::locale::conv::conversion_error "conversion_error" exception by passing the \c stop flag to it: \code -std::wstring s=to_utf("\xFF\xFF","UTF-8",stop); +std::wstring s=to_utf("\xFF\xFF","UTF-8",stop); // Throws because this string is illegal in UTF-8 \endcode -\section codecvt_codecvt std::codecvt facet +\section codecvt_codecvt std::codecvt facet Boost.Locale provides stream codepage conversion facets based on the \c std::codecvt facet. This allows conversion between wide-character encodings and 8-bit encodings like UTF-8, ISO-8859 or Shift-JIS. @@ -53,7 +50,7 @@ Most of compilers provide such facets, but: - Under Linux the encodings are supported only if the required locales are generated. For example it may be impossible to create a \c he_IL.CP1255 locale even when the \c he_IL locale is available. -Thus Boost.Locale provides an option to generate code-page conversion facets for use with +Thus Boost.Locale provides an option to generate code-page conversion facets for use with Boost.Iostreams filters or \c std::wfstream. For example: \code @@ -79,7 +76,7 @@ stream: \code #include -#include +#include #include #include @@ -102,7 +99,7 @@ public: int main() -{ +{ // the device that converts wide characters // to narrow typedef io::code_converter converter_device; @@ -112,7 +109,7 @@ int main() consumer cons; // setup out converter to work - // with he_IL.UTF-8 locale + // with he_IL.UTF-8 locale converter_device dev; boost::locale::generator gen; dev.imbue(gen("he_IL.UTF-8")); @@ -121,7 +118,7 @@ int main() stream.open(dev); // Now wide characters that are written // to the stream would be given to - // our consumer as narrow characters + // our consumer as narrow characters // in UTF-8 encoding stream << L"שלום" << std::flush; } @@ -139,13 +136,11 @@ ISO-8859, and Shift-JIS, but not with stateful encodings like UTF-7 or SCSU. \b Recommendation: Prefer the Unicode UTF-8 encoding for \c char based strings and files in your application. -\note +\note -The implementation of codecvt for single byte encodings like ISO-8859-X and for UTF-8 is very efficent +The implementation of codecvt for single byte encodings like ISO-8859-X and for UTF-8 is very efficient and would allow fast conversion of the content, however its performance may be sub-optimal for double-width encodings like Shift-JIS, due to the stateless problem described above. */ - - diff --git a/doc/collation.txt b/doc/collation.txt index 7b0fa4f3..efdab31b 100644 --- a/doc/collation.txt +++ b/doc/collation.txt @@ -1,15 +1,11 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt -// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 filetype=cpp.doxygen /*! -\page collation Collation +\page collation Collation Boost.Locale provides a \ref boost::locale::collator "collator" class, derived from \c std::collate, that adds support for primary, secondary, tertiary, quaternary and identical comparison levels. They can be approximately defined as: @@ -48,5 +44,3 @@ You can also set a specific locale or level when creating and using the \ref boo \endcode */ - - diff --git a/doc/conversions.txt b/doc/conversions.txt index 2bbc6ead..bc4fbf63 100644 --- a/doc/conversions.txt +++ b/doc/conversions.txt @@ -1,16 +1,13 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt -// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 filetype=cpp.doxygen /*! \page conversions Text Conversions -There is a set of functions that perform basic string conversion operations: +There is a set of functions that perform basic string conversion operations: upper, lower and \ref term_title_case "title case" conversions, \ref term_case_folding "case folding" and Unicode \ref term_normalization "normalization". These are \ref boost::locale::to_upper "to_upper" , \ref boost::locale::to_lower "to_lower", \ref boost::locale::to_title "to_title", \ref boost::locale::fold_case "fold_case" and \ref boost::locale::normalize "normalize". @@ -56,8 +53,8 @@ GRÜßEN GRÜSSEN Where a letter "ß" was not converted correctly to double-S in first case because of a limitation of \c std::ctype facet. -This is even more problematic in case of UTF-8 encodings where non US-ASCII are not converted at all. -For example, this code +This is even more problematic in case of UTF-8 encodings where non US-ASCII are not converted at all. +For example, this code \code std::string grussen = "grüßen"; @@ -96,5 +93,3 @@ For more details on normalization forms, read Why should I use Boost.Locale over Boost.DateTime when I need Gregorian calendar only? @@ -201,11 +198,9 @@ a simple table of rules where daylight saving depend only on certain n'th day of The daylight savings time may vary by year, political issues and many other things. Most of the modern operating systems (Linux, *BSD, Mac OS X, OpenVMS) and many important software packages -(ICU, Java, Python) use so called Olson database in order to handle daylight saving time +(ICU, Java, Python) use so called Olson database in order to handle daylight saving time correctly. If you need full time zone database support, then you should use ICU library. */ - - diff --git a/doc/default_encoding_under_windows.txt b/doc/default_encoding_under_windows.txt index 80b445ae..ca48f85a 100644 --- a/doc/default_encoding_under_windows.txt +++ b/doc/default_encoding_under_windows.txt @@ -1,12 +1,9 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt -// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 filetype=cpp.doxygen /*! \page default_encoding_under_windows Default Encoding under Microsoft Windows @@ -44,7 +41,7 @@ int main() // Make boost.filesystem use it boost::filesystem::path::imbue(std::locale()); // Now Works perfectly fine with UTF-8! - boost::filesystem::ofstream hello("שלום.txt"); + boost::filesystem::ofstream hello("שלום.txt"); } \endcode diff --git a/doc/faq.txt b/doc/faq.txt index 845a7e05..6e1af3dd 100644 --- a/doc/faq.txt +++ b/doc/faq.txt @@ -1,12 +1,9 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt -// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 filetype=cpp.doxygen /*! \page faq Frequently Asked Questions diff --git a/doc/formatting_and_parsing.txt b/doc/formatting_and_parsing.txt index fc6da2e3..8d6e36fb 100644 --- a/doc/formatting_and_parsing.txt +++ b/doc/formatting_and_parsing.txt @@ -1,12 +1,9 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt -// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 filetype=cpp.doxygen /*! \page formatting_and_parsing Numbers, Time and Currency formatting and parsing @@ -117,7 +114,7 @@ There is a list of supported \c strftime flags by ICU backend: - \c \%c -- Locale date-time format. \b Note: prefer using \c as::datetime - \c \%d -- Day of Month [01,31] - \c \%e -- Day of Month [1,31] -- \c \%h -- Same as \c \%b +- \c \%h -- Same as \c \%b - \c \%H -- 24 clock hour [00,23] - \c \%I -- 12 clock hour [01,12] - \c \%j -- Day of year [1,366] @@ -125,11 +122,11 @@ There is a list of supported \c strftime flags by ICU backend: - \c \%M -- Minute [00,59] - \c \%n -- New Line - \c \%p -- AM/PM in locale representation -- \c \%r -- Time with AM/PM, same as \c \%I:\%M:\%S \%p -- \c \%R -- Same as \c \%H:\%M +- \c \%r -- Time with AM/PM, same as \c \%I:\%M:\%S \%p +- \c \%R -- Same as \c \%H:\%M - \c \%S -- Second [00,61] - \c \%t -- Tab character -- \c \%T -- Same as \c \%H:\%M:\%S +- \c \%T -- Same as \c \%H:\%M:\%S - \c \%x -- Local date representation. **Note:** prefer using \c as::date - \c \%X -- Local time representation. **Note:** prefer using \c as::time - \c \%y -- Year [00,99] @@ -158,5 +155,3 @@ next time a number is written to the stream, the same formatter would be used un invalid. */ - - diff --git a/doc/gendoc.sh b/doc/gendoc.sh index a4d8a6de..739f2cd9 100755 --- a/doc/gendoc.sh +++ b/doc/gendoc.sh @@ -2,10 +2,7 @@ # # Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) # -# Distributed under the Boost Software License, Version 1.0. (See -# accompanying file LICENSE_1_0.txt or copy at -# http://www.boost.org/LICENSE_1_0.txt) -# - +# Distributed under the Boost Software License, Version 1.0. +# https://www.boost.org/LICENSE_1_0.txt -rm html/* && doxygen +rm html/* && doxygen diff --git a/doc/gettext_for_windows.txt b/doc/gettext_for_windows.txt index fb57408d..df51d846 100644 --- a/doc/gettext_for_windows.txt +++ b/doc/gettext_for_windows.txt @@ -1,13 +1,9 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt -// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 filetype=cpp.doxygen /*! \page gettext_for_windows Using Gettext Tools on Windows @@ -23,7 +19,7 @@ basically several options: Boost.Locale was developed for needs of CppCMS project and thus CppCMS hosts a convince package for Windows users of pre-build, statically liked \c gettext -runtime utilities like \c xgettext, \c msgfmt, etc. +runtime utilities like \c xgettext, \c msgfmt, etc. So you can download a zip file \c gettext-tools-static-XXX.zip from a CppCMS downloads page under boost_locale/gettext_for_windows. @@ -37,7 +33,7 @@ Thus you can always install full MinGW distribution including gettext tools. How a want minimalistic runtime version that allows you to extract messages and create catalogs you need to download several packages manually. -In order to install Gettext via MinGW distributing you need to download, a GCC's runtime, +In order to install Gettext via MinGW distributing you need to download, a GCC's runtime, iconv library and gettext itself. So visit a downloads page of MinGW project @@ -61,9 +57,9 @@ For example, at June 23, 2011 it was: After you download the packages, extract all the files to the same directory using tools like \c 7zip and you'll get all the executables and \c dll's you need under \c bin subdirectory. -\note the version on MinGW site is slightly outdated (0.17.1) while gettext provides currently 0.18.1. +\note the version on MinGW site is slightly outdated (0.17.1) while gettext provides currently 0.18.1. -\section gettext_for_windows_build Building latest version on your own. +\section gettext_for_windows_build Building latest version on your own. You can build your own version of GNU Gettext using MinGW environment, you'll need to have up-to-date gcc compiler and the shell, you'll need to install iconv first and then build a gettext with it. @@ -92,5 +88,3 @@ to use. If you already have Cygwin - just use gettext tools provided with it. */ - - diff --git a/doc/glossary.txt b/doc/glossary.txt index 412a63ea..6e8df214 100644 --- a/doc/glossary.txt +++ b/doc/glossary.txt @@ -1,16 +1,13 @@ // -// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) +// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt -// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 filetype=cpp.doxygen /*! \page glossary Glossary -- \anchor term_bmp Basic Multilingual Plane (BMP) -- a part of +- \anchor term_bmp Basic Multilingual Plane (BMP) -- a part of the Universal Character Set with code points in the range U-0000--U-FFFF. The most commonly used UCS characters lay in this plane, including all Western, Cyrillic, Hebrew, Thai, Arabic and CJK characters. However there are many characters that lay outside the BMP and they are absolutely required for correct support of East Asian languages. @@ -31,7 +28,7 @@ - \b Formatting - representation of various values according to locale preferences. For example, a number 1234.5 (C representation) should be displayed as 1,234.5 in the US locale and 1.234,5 in the Russian locale. The date November 1st, 2005 would be represented as 11/01/2005 in the United States, and 01.11.2005 in Russia. This is an important part of localization. - \n + \n For example: does "You have to bring 134,230 kg of rice on 04/01/2010" means "134 tons of rice on the first of April" or "134 kg 230 g of rice on January 4th"? That is quite different. - \b Gettext - The GNU localization library used for message formatting. Today it is the de-facto standard localization library in the @@ -52,7 +49,7 @@ library. - \b UCS-2 - a fixed-width Unicode encoding, capable of representing only code points in the Basic Multilingual Plane (BMP). It is a legacy encoding and is not recommended for use. -- \b Unicode -- the industry standard that defines the representation and manipulation of text suitable for most languages and countries. +- \b Unicode -- the industry standard that defines the representation and manipulation of text suitable for most languages and countries. It should not be confused with the Universal Character Set, it is a much larger standard that also defines algorithms like bidirectional display order, Arabic shaping, etc. - Universal Character Set (UCS) - an international standard that defines a set of characters for many scripts and their @@ -75,5 +72,3 @@ to "Hello World" */ - - diff --git a/doc/html/annotated.html b/doc/html/annotated.html deleted file mode 100644 index 92a751cc..00000000 --- a/doc/html/annotated.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - -Boost.Locale: Class List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
-
[detail level 12345]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\Nboost
 oNlocaleThis is the main namespace that encloses all localization classes
 |oNasThis namespace includes all manipulators that can be used on IO streams
 |oNboundaryThis namespae contains all operations required for boundary analysis of text
 ||oCboundary_pointThis class represents a boundary point in the text
 ||oCbreak_infoThis structure is used for representing boundary point that follows the offset
 ||oCboundary_indexingThis facet generates an index for boundary analysis for a given text
 ||oCsegment_indexThis class holds an index of segments in the text range and allows to iterate over them
 ||oCboundary_point_indexThis class holds an index of boundary points and allows iterating over them
 ||\CsegmentSegment object that represents a pair of two iterators that define the range where this segment exits and a rule that defines it
 |oNconvNamespace that contains all functions related to character set conversion
 ||oCconversion_errorThe excepton that is thrown in case of conversion error
 ||\Cinvalid_charset_errorThis exception is thrown in case of use of unsupported or invalid character set
 |oNflagsThis namespace holds additional formatting flags that can be set using ios_info
 |oNgnu_gettextThis namespace holds classes that provide GNU Gettext message catalogs support
 ||\Cmessages_infoThis structure holds all information required for creating gnu-gettext message catalogs,
 || \CdomainThis type represents GNU Gettext domain name for the messages
 |oNperiodNamespace that contains various types for manipulation with dates
 ||oNmarksThis namespace holds a enum of various period types like era, year, month, etc.
 ||\Cperiod_typeThis class holds a type that represents certain period of time like year, hour, second and so on
 |oNtime_zoneNamespace that holds functions for operating with global time zone
 |oNutfNamespace that holds basic operations on UTF encoded sequences
 ||\Cutf_traitsUTF Traits class - functions to convert UTF sequences to and from Unicode code points
 |oNutilThis namespace provides various utility function useful for Boost.Locale backends implementations
 ||\Cbase_converterThis class represent a simple stateless converter from UCS-4 and to UCS-4 for each single code point
 |oCcollator_baseBase class that includes collation level flags
 |oCcollatorCollation facet
 |oCcomparatorThis class can be used in STL algorithms and containers for comparison of strings with a level other than primary
 |oCconverter_baseThis class provides base flags for text manipulation. It is used as base for converter facet
 |oCconverterThe facet that implements text manipulation
 |oCdate_time_errorThis error is thrown in case of invalid state that occurred
 |oCdate_time_periodThis class represents a pair of period_type and the integer values that describes its amount. For example 3 days or 4 years
 |oCdate_time_period_setThis class that represents a set of periods,
 |oCcalendarThis class provides an access to general calendar information
 |oCdate_timeThis class represents a date time and allows to perform various operation according to the locale settings
 |oCdate_time_durationThis class represents a period: a pair of two date_time objects
 |oCposix_time
 |oCabstract_calendar
 |oCcalendar_facetFacet that generates calendar for specific locale
 |oCbasic_formatPrintf like class that allows type-safe and locale aware message formatting
 |oCios_infoThis class holds an external data - beyond existing fmtflags that std::ios_base holds
 |oCgeneratorMajor class used for locale generation
 |oCgeneric_codecvt_baseA base class that used to define constants for generic_codecvt
 |oCgeneric_codecvtGeneneric generic codecvt facet, various stateless encodings to UTF-16 and UTF-32 using wchar_t, char32_t and char16_t
 |oCgeneric_codecvt< CharType, CodecvtImpl, 2 >UTF-16 to/from UTF-8 codecvt facet to use with char16_t or wchar_t on Windows
 |oCgeneric_codecvt< CharType, CodecvtImpl, 4 >UTF-32 to/from UTF-8 codecvt facet to use with char32_t or wchar_t on POSIX platforms
 |oCgeneric_codecvt< CharType, CodecvtImpl, 1 >
 |oChold_ptrSmart pointer similar to std::auto_ptr but it is non-copyable and the underlying object has the same constness as the pointer itself (unlike an ordinary pointer)
 |oCinfoFacet that holds general information about locale
 |oClocalization_backendThis class represents a localization backend that can be used for localizing your application
 |oClocalization_backend_managerLocalization backend manager is a class that holds various backend and allows creation of their combination or selection
 |oCmessage_formatThis facet provides message formatting abilities
 |oCbasic_messageThis class represents a message that can be converted to a specific locale message
 |\Cutf8_codecvtGeneneric utf8 codecvt facet, it allows to convert UTF-8 strings to UTF-16 and UTF-32 using wchar_t, char32_t and char16_t
 | \Cstate_type
 \Cshared_ptr
-
-
-
- - - - - - diff --git a/doc/html/annotated.js b/doc/html/annotated.js deleted file mode 100644 index 78cf23e9..00000000 --- a/doc/html/annotated.js +++ /dev/null @@ -1,7 +0,0 @@ -var annotated = -[ - [ "boost", null, [ - [ "locale", "namespaceboost_1_1locale.html", "namespaceboost_1_1locale" ], - [ "shared_ptr", "classboost_1_1shared__ptr.html", null ] - ] ] -]; \ No newline at end of file diff --git a/doc/html/appendix.html b/doc/html/appendix.html deleted file mode 100644 index abc50289..00000000 --- a/doc/html/appendix.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - -Boost.Locale: Appendix - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/appendix.js b/doc/html/appendix.js deleted file mode 100644 index d040a5a8..00000000 --- a/doc/html/appendix.js +++ /dev/null @@ -1,34 +0,0 @@ -var appendix = -[ - [ "Table of Contents", "appendix.html#appendix_toc", null ], - [ "Design Rationale", "rationale.html", [ - [ "Why is it needed?", "rationale.html#rationale_why", null ], - [ "Why use an ICU wrapper instead of ICU?", "rationale.html#why_icu", null ], - [ "Why an ICU wrapper and not an implementation-from-scratch?", "rationale.html#why_icu_wrapper", null ], - [ "Why is the ICU API not exposed to the user?", "rationale.html#why_icu_api_is_hidden", null ], - [ "Why use GNU Gettext catalogs for message formatting?", "rationale.html#why_gnu_gettext", null ], - [ "Why is a plain number used for the representation of a date-time, instead of a Boost.DateTime date or Boost.DateTime ptime?", "rationale.html#why_plain_number", null ], - [ "Why are POSIX locale names used and not something like the BCP-47 IETF language tag?", "rationale.html#why_posix_names", null ], - [ "Why most parts of Boost.Locale work only on linear/contiguous chunks of text", "rationale.html#why_linear_chunks", null ], - [ "Why all Boost.Locale implementation is hidden behind abstract interfaces and does not use template metaprogramming?", "rationale.html#why_abstract_api", null ], - [ "Why Boost.Locale does not provide char16_t/char32_t for non-C++0x platforms.", "rationale.html#why_no_special_character_type", null ] - ] ], - [ "Frequently Asked Questions", "faq.html", null ], - [ "Default Encoding under Microsoft Windows", "default_encoding_under_windows.html", null ], - [ "Running Examples under Microsoft Windows", "running_examples_under_windows.html", null ], - [ "Using Gettext Tools on Windows", "gettext_for_windows.html", [ - [ "Getting gettext utilities from CppCMS project", "gettext_for_windows.html#gettext_for_windows_cppcms", null ], - [ "Getting Gettext via MinGW project", "gettext_for_windows.html#gettext_for_windows_mingw", null ], - [ "Building latest version on your own.", "gettext_for_windows.html#gettext_for_windows_build", null ], - [ "Using Cygwin", "gettext_for_windows.html#gettext_for_windows_cygwin", null ] - ] ], - [ "Glossary", "glossary.html", null ], - [ "Tested Compilers and Platforms", "tested_compilers_and_paltforms.html", [ - [ "Known Issues", "tested_compilers_and_paltforms.html#tested_compilers_and_paltforms_issues", null ] - ] ], - [ "Status of C++11 char16_t/char32_t support", "status_of_cpp0x_characters_support.html", [ - [ "GNU GCC 4.5/C++11 Status", "status_of_cpp0x_characters_support.html#status_of_cpp0x_characters_support_gnu", null ], - [ "Visual Studio 2010 (MSVC10)/C++11 Status", "status_of_cpp0x_characters_support.html#status_of_cpp0x_characters_support_msvc", null ] - ] ], - [ "Special Thanks", "special_thanks.html", null ] -]; \ No newline at end of file diff --git a/doc/html/bc_s.png b/doc/html/bc_s.png deleted file mode 100644 index 224b29aa..00000000 Binary files a/doc/html/bc_s.png and /dev/null differ diff --git a/doc/html/bdwn.png b/doc/html/bdwn.png deleted file mode 100644 index 940a0b95..00000000 Binary files a/doc/html/bdwn.png and /dev/null differ diff --git a/doc/html/boost-small.png b/doc/html/boost-small.png deleted file mode 100644 index 769520a2..00000000 Binary files a/doc/html/boost-small.png and /dev/null differ diff --git a/doc/html/boundary_8cpp-example.html b/doc/html/boundary_8cpp-example.html deleted file mode 100644 index d641b8e0..00000000 --- a/doc/html/boundary_8cpp-example.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - -Boost.Locale: boundary.cpp - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
boundary.cpp
-
-
-

Example of using segment_index

-
//
-
// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
//
-
// Distributed under the Boost Software License, Version 1.0. (See
-
// accompanying file LICENSE_1_0.txt or copy at
-
// http://www.boost.org/LICENSE_1_0.txt)
-
//
-
#include <boost/locale.hpp>
-
#include <iostream>
-
#include <cassert>
-
#include <ctime>
-
-
int main()
-
{
-
using namespace boost::locale;
-
using namespace std;
-
-
generator gen;
-
// Make system default locale global
-
std::locale loc = gen("");
-
locale::global(loc);
-
cout.imbue(loc);
-
-
-
string text="Hello World! あにま! Linux2.6 and Windows7 is word and number. שָלוֹם עוֹלָם!";
-
-
cout<<text<<endl;
-
-
boundary::ssegment_index index(boundary::word,text.begin(),text.end());
- -
-
for(p=index.begin(),e=index.end();p!=e;++p) {
-
cout<<"Part ["<<*p<<"] has ";
-
if(p->rule() & boundary::word_number)
-
cout<<"number(s) ";
-
if(p->rule() & boundary::word_letter)
-
cout<<"letter(s) ";
-
if(p->rule() & boundary::word_kana)
-
cout<<"kana character(s) ";
-
if(p->rule() & boundary::word_ideo)
-
cout<<"ideographic character(s) ";
-
if(p->rule() & boundary::word_none)
-
cout<<"no word characters";
-
cout<<endl;
-
}
-
-
index.map(boundary::character,text.begin(),text.end());
-
-
for(p=index.begin(),e=index.end();p!=e;++p) {
-
cout<<"|" <<*p ;
-
}
-
cout<<"|\n\n";
-
-
index.map(boundary::line,text.begin(),text.end());
-
-
for(p=index.begin(),e=index.end();p!=e;++p) {
-
cout<<"|" <<*p ;
-
}
-
cout<<"|\n\n";
-
-
index.map(boundary::sentence,text.begin(),text.end());
-
-
for(p=index.begin(),e=index.end();p!=e;++p) {
-
cout<<"|" <<*p ;
-
}
-
cout<<"|\n\n";
-
-
}
-
-
// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
-
// boostinspect:noascii
-
-
- - - - - - diff --git a/doc/html/boundary_8hpp_source.html b/doc/html/boundary_8hpp_source.html deleted file mode 100644 index 0bfdeae7..00000000 --- a/doc/html/boundary_8hpp_source.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/boundary.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boundary.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_BOUNDARY_HPP_INCLUDED
-
9 #define BOOST_LOCALE_BOUNDARY_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/boundary/types.hpp>
-
12 #include <boost/locale/boundary/facets.hpp>
-
13 #include <boost/locale/boundary/segment.hpp>
-
14 #include <boost/locale/boundary/boundary_point.hpp>
-
15 #include <boost/locale/boundary/index.hpp>
-
16 
-
17 #endif
-
18 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
-
- - - - - - diff --git a/doc/html/boundary__point_8hpp_source.html b/doc/html/boundary__point_8hpp_source.html deleted file mode 100644 index 4c189c59..00000000 --- a/doc/html/boundary__point_8hpp_source.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/boundary/boundary_point.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boundary_point.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_BOUNDARY_BOUNDARY_POINT_HPP_INCLUDED
-
9 #define BOOST_LOCALE_BOUNDARY_BOUNDARY_POINT_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/boundary/types.hpp>
-
12 
-
13 namespace boost {
-
14 namespace locale {
-
15 namespace boundary {
-
16 
-
20 
-
47  template<typename IteratorType>
- -
49  public:
-
53  typedef IteratorType iterator_type;
-
54 
-
58  boundary_point() : rule_(0) {}
-
59 
- -
64  iterator_(p),
-
65  rule_(r)
-
66  {
-
67  }
- -
72  {
-
73  iterator_ = i;
-
74  }
-
78  void rule(rule_type r)
-
79  {
-
80  rule_ = r;
-
81  }
- -
86  {
-
87  return iterator_;
-
88  }
-
92  rule_type rule() const
-
93  {
-
94  return rule_;
-
95  }
-
99  bool operator==(boundary_point const &other) const
-
100  {
-
101  return iterator_ == other.iterator_ && rule_ = other.rule_;
-
102  }
-
106  bool operator!=(boundary_point const &other) const
-
107  {
-
108  return !(*this==other);
-
109  }
-
113  bool operator==(iterator_type const &other) const
-
114  {
-
115  return iterator_ == other;
-
116  }
-
120  bool operator!=(iterator_type const &other) const
-
121  {
-
122  return iterator_ != other;
-
123  }
-
124 
-
128  operator iterator_type ()const
-
129  {
-
130  return iterator_;
-
131  }
-
132 
-
133  private:
-
134  iterator_type iterator_;
-
135  rule_type rule_;
-
136 
-
137  };
-
141  template<typename BaseIterator>
-
142  bool operator==(BaseIterator const &l,boundary_point<BaseIterator> const &r)
-
143  {
-
144  return r==l;
-
145  }
-
149  template<typename BaseIterator>
-
150  bool operator!=(BaseIterator const &l,boundary_point<BaseIterator> const &r)
-
151  {
-
152  return r!=l;
-
153  }
-
154 
-
156 
- - -
159  #ifdef BOOST_LOCALE_ENABLE_CHAR16_T
- -
161  #endif
-
162  #ifdef BOOST_LOCALE_ENABLE_CHAR32_T
- -
164  #endif
-
165 
- - -
168  #ifdef BOOST_LOCALE_ENABLE_CHAR16_T
- -
170  #endif
-
171  #ifdef BOOST_LOCALE_ENABLE_CHAR32_T
- -
173  #endif
-
174 
-
175 
-
176 } // boundary
-
177 } // locale
-
178 } // boost
-
179 
-
180 
-
181 #endif
-
182 
-
183 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
boundary_point(iterator_type p, rule_type r)
Definition: boundary_point.hpp:63
-
void rule(rule_type r)
Definition: boundary_point.hpp:78
-
boundary_point< wchar_t const * > wcboundary_point
convenience typedef
Definition: boundary_point.hpp:167
-
rule_type rule() const
Definition: boundary_point.hpp:92
-
boundary_point< char16_t const * > u16cboundary_point
convenience typedef
Definition: boundary_point.hpp:169
-
uint32_t rule_type
Flags used with word boundary analysis – the type of the word, line or sentence boundary found...
Definition: types.hpp:51
-
boundary_point< std::string::const_iterator > sboundary_point
convenience typedef
Definition: boundary_point.hpp:157
-
bool operator==(iterator_type const &other) const
Definition: boundary_point.hpp:113
-
bool operator==(boundary_point const &other) const
Definition: boundary_point.hpp:99
-
bool operator==(BaseIterator const &l, boundary_point< BaseIterator > const &r)
Definition: boundary_point.hpp:142
-
boundary_point< std::u32string::const_iterator > u32sboundary_point
convenience typedef
Definition: boundary_point.hpp:163
-
iterator_type iterator() const
Definition: boundary_point.hpp:85
-
boundary_point< std::wstring::const_iterator > wsboundary_point
convenience typedef
Definition: boundary_point.hpp:158
-
bool operator!=(boundary_point const &other) const
Definition: boundary_point.hpp:106
-
boundary_point()
Definition: boundary_point.hpp:58
-
boundary_point< char const * > cboundary_point
convenience typedef
Definition: boundary_point.hpp:166
-
This class represents a boundary point in the text.
Definition: boundary_point.hpp:48
-
void iterator(iterator_type i)
Definition: boundary_point.hpp:71
-
bool operator!=(iterator_type const &other) const
Definition: boundary_point.hpp:120
-
boundary_point< char32_t const * > u32cboundary_point
convenience typedef
Definition: boundary_point.hpp:172
-
IteratorType iterator_type
Definition: boundary_point.hpp:53
-
boundary_point< std::u16string::const_iterator > u16sboundary_point
convenience typedef
Definition: boundary_point.hpp:160
-
bool operator!=(BaseIterator const &l, boundary_point< BaseIterator > const &r)
Definition: boundary_point.hpp:150
-
-
- - - - - - diff --git a/doc/html/boundary_analysys.html b/doc/html/boundary_analysys.html deleted file mode 100644 index 47832d43..00000000 --- a/doc/html/boundary_analysys.html +++ /dev/null @@ -1,371 +0,0 @@ - - - - - - -Boost.Locale: Boundary analysis - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Boundary analysis
-
-
-
-

-Basics

-

Boost.Locale provides a boundary analysis tool, allowing you to split text into characters, words, or sentences, and find appropriate places for line breaks.

-
Note
This task is not a trivial task.
-
A Unicode code point and a character are not equivalent, for example: Hebrew word Shalom - "שָלוֹם" that consists of 4 characters and 6 code points (4 base letters and 2 diacritical marks)
-
Words may not be separated by space characters in some languages like in Japanese or Chinese.
-

Boost.Locale provides 2 major classes for boundary analysis:

- -

Each of the classes above use an iterator type as template parameter. Both of these classes accept in their constructor:

-
    -
  • A flag that defines boundary analysis boundary_type.
  • -
  • The pair of iterators that define the text range that should be analysed
  • -
  • A locale parameter (if not given the global one is used)
  • -
-

For example:

-
namespace ba=boost::locale::boundary;
-
std::string text= ... ;
-
std::locale loc = ... ;
-
ba::segment_index<std::string::const_iterator> map(ba::word,text.begin(),text.end(),loc);
-

Each of them provide a members begin(), end() and find() that allow to iterate over the selected segments or boundaries in the text or find a location of a segment or boundary for given iterator.

-

Convenience a typedefs like ssegment_index or wcboundary_point_index provided as well, where "w", "u16" and "u32" prefixes define a character type wchar_t, char16_t and char32_t and "c" and "s" prefixes define whether std::basic_string<CharType>::const_iterator or CharType const * are used.

-

-Iterating Over Segments

-

-Basic Iteration

-

The text segments analysis is done using segment_index class.

-

It provides a bidirectional iterator that returns segment object. The segment object represents a pair of iterators that define this segment and a rule according to which it was selected. It can be automatically converted to std::basic_string object.

-

To perform boundary analysis, we first create an index object and then iterate over it:

-

For example:

-
using namespace boost::locale::boundary;
- -
std::string text="To be or not to be, that is the question."
-
// Create mapping of text for token iterator using global locale.
-
ssegment_index map(word,text.begin(),text.end(),gen("en_US.UTF-8"));
-
// Print all "words" -- chunks of word boundary
-
for(ssegment_index::iterator it=map.begin(),e=map.end();it!=e;++it)
-
std::cout <<"\""<< * it << "\", ";
-
std::cout << std::endl;
-

Would print:

-
"To", " ", "be", " ", "or", " ", "not", " ", "to", " ", "be", ",", " ", "that", " ", "is", " ", "the", " ", "question", ".",
-

This sentence "生きるか死ぬか、それが問題だ。" (from Tatoeba database) would be split into following segments in ja_JP.UTF-8 (Japanese) locale:

-
"生", "きるか", "死", "ぬか", "、", "それが", "問題", "だ", "。", 
-

The boundary analysis that is done by Boost.Locale is much more complicated then just splitting the text according to white space characters, even thou it is not perfect.

-

-Using Rules

-

The segments selection can be customized using rule() and full_select() member functions.

-

By default segment_index's iterator return each text segment defined by two boundary points regardless the way they were selected. Thus in the example above we could see text segments like "." or " " that were selected as words.

-

Using a rule() member function we can specify a binary mask of rules we want to use for selection of the boundary points using word, line and sentence boundary rules.

-

For example, by calling

-
map.rule(word_any);
-

Before starting the iteration process, specify a selection mask that fetches: numbers, letter, Kana letters and ideographic characters ignoring all non-word related characters like white space or punctuation marks.

-

So the code:

-
using namespace boost::locale::boundary;
-
std::string text="To be or not to be, that is the question."
-
// Create mapping of text for token iterator using global locale.
-
ssegment_index map(word,text.begin(),text.end());
-
// Define a rule
- -
// Print all "words" -- chunks of word boundary
-
for(ssegment_index::iterator it=map.begin(),e=map.end();it!=e;++it)
-
std::cout <<"\""<< * it << "\", ";
-
std::cout << std::endl;
-

Would print:

-
"To", "be", "or", "not", "to", "be", "that", "is", "the", "question",
-

And the for given text="生きるか死ぬか、それが問題だ。" and rule(word_ideo), the example above would print.

-
"生", "死", "問題",
-

You can access specific rules the segments where selected it using segment::rule() member function. Using a bit-mask of rules.

-

For example:

-
-
using namespace boost::locale::boundary;
-
std::string text="生きるか死ぬか、それが問題だ。";
-
ssegment_index map(word,text.begin(),text.end(),gen("ja_JP.UTF-8"));
-
for(ssegment_index::iterator it=map.begin(),e=map.end();it!=e;++it) {
-
std::cout << "Segment " << *it << " contains: ";
-
if(it->rule() & word_none)
-
std::cout << "white space or punctuation marks ";
-
if(it->rule() & word_kana)
-
std::cout << "kana characters ";
-
if(it->rule() & word_ideo)
-
std::cout << "ideographic characters";
-
std::cout<< std::endl;
-
}
-

Would print

-
Segment 生 contains: ideographic characters
-Segment きるか contains: kana characters 
-Segment 死 contains: ideographic characters
-Segment ぬか contains: kana characters 
-Segment 、 contains: white space or punctuation marks 
-Segment それが contains: kana characters 
-Segment 問題 contains: ideographic characters
-Segment だ contains: kana characters 
-Segment 。 contains: white space or punctuation marks 
-

One important things that should be noted that each segment is defined by a pair of boundaries and the rule of its ending point defines if it is selected or not.

-

In some cases it may be not what we actually look like.

-

For example we have a text:

-
Hello! How
-are you?
-

And we want to fetch all sentences from the text.

-

The sentence rules have two options:

-
    -
  • Split the text on the point where sentence terminator like ".!?" detected: sentence_term
  • -
  • Split the text on the point where sentence separator like "line feed" detected: sentence_sep
  • -
-

Naturally to ignore sentence separators we would call segment_index::rule(rule_type v) with sentence_term parameter and then run the iterator.

-
-
using namespace boost::locale::boundary;
-
std::string text= "Hello! How\n"
-
"are you?\n";
-
ssegment_index map(sentence,text.begin(),text.end(),gen("en_US.UTF-8"));
- -
for(ssegment_index::iterator it=map.begin(),e=map.end();it!=e;++it)
-
std::cout << "Sentence [" << *it << "]" << std::endl;
-

However we would get the expected segments:

-
Sentence [Hello! ]
-Sentence [are you?
-]
-

The reason is that "How\n" is still considered a sentence but selected by different rule.

-

This behavior can be changed by setting segment_index::full_select(bool) to true. It would force iterator to join the current segment with all previous segments that may not fit the required rule.

-

So we add this line:

-
map.full_select(true);
-

Right after "map.rule(sentence_term);" and get expected output:

-
Sentence [Hello! ]
-Sentence [How
-are you?
-]
-

-Locating Segments

-

Sometimes it is useful to find a segment that some specific iterator is pointing on.

-

For example a user had clicked at specific point, we want to select a word on this location.

-

segment_index provides find(base_iterator p) member function for this purpose.

-

This function returns the iterator to the segmet such that p points to.

-

For example:

-
text="to be or ";
-
ssegment_index map(word,text.begin(),text.end(),gen("en_US.UTF-8"));
-
ssegment_index::iterator p = map.find(text.begin() + 4);
-
if(p!=map.end())
-
std::cout << *p << std::endl;
-

Would print:

-
be
-
Note
-

if the iterator lays inside the segment this segment returned. If the segment does not fit the selection rules, then the segment following requested position is returned.

-

For example: For word boundary analysis with word_any rule:

-
    -
  • "t|o be or ", would point to "to" - the iterator in the middle of segment "to".
  • -
  • "to |be or ", would point to "be" - the iterator at the beginning of the segment "be"
  • -
  • "to| be or ", would point to "be" - the iterator does is not point to segment with required rule so next valid segment is selected "be".
  • -
  • "to be or| ", would point to end as not valid segment found.
  • -
-

-Iterating Over Boundary Points

-

-Basic Iteration

-

The boundary_point_index is similar to segment_index in its interface but as a different role. Instead of returning text chunks (segments, it returns boundary_point object that represents a position in text - a base iterator used that is used for iteration of the source text C++ characters. The boundary_point object also provides a rule() member function that defines a rule this boundary was selected according to.

-
Note
The beginning and the ending of the text are considered boundary points, so even an empty text consists of at least one boundary point.
-

Lets see an example of selecting first two sentences from a text:

-
using namespace boost::locale::boundary;
- -
-
// our text sample
-
std::string const text="First sentence. Second sentence! Third one?";
-
// Create an index
-
sboundary_point_index map(sentence,text.begin(),text.end(),gen("en_US.UTF-8"));
-
-
// Count two boundary points
-
sboundary_point_index::iterator p = map.begin(),e=map.end();
-
int count = 0;
-
while(p!=e && count < 2) {
-
++count;
-
++p;
-
}
-
-
if(p!=e) {
-
std::cout << "First two sentences are: "
-
<< std::string(text.begin(),p->iterator())
-
<< std::endl;
-
}
-
else {
-
std::cout <<"There are less then two sentences in this "
-
<<"text: " << text << std::endl;
-
}
-

Would print:

-
First two sentences are: First sentence. Second sentence!
-

-Using Rules

-

Similarly to the segment_index the boundary_point_index provides a rule(rule_type mask) member function to filter boundary points that interest us.

-

It allows to set word, line and sentence rules for filtering boundary points.

-

Lets change an example above a little:

-
// our text sample
-
std::string const text= "First sentence. Second\n"
-
"sentence! Third one?";
-

If we run our program as is on the sample above we would get:

-
First two sentences are: First sentence. Second
-

Which is not something that we really expected. As the "Second\n" is considered an independent sentence that was separated by a line separator "Line Feed".

-

However, we can set set a rule sentence_term and the iterator would use only boundary points that are created by a sentence terminators like ".!?".

-

So by adding:

-
map.rule(sentence_term);
-

Right after the generation of the index we would get the desired output:

-
First two sentences are: First sentence. Second
-sentence! 
-

You can also use boundary_point::rule() member function to learn about the reason this boundary point was created by comparing it with an appropriate mask.

-

For example:

-
using namespace boost::locale::boundary;
- -
// our text sample
-
std::string const text= "First sentence. Second\n"
-
"sentence! Third one?";
-
sboundary_point_index map(sentence,text.begin(),text.end(),gen("en_US.UTF-8"));
-
-
for(sboundary_point_index::iterator p = map.begin(),e=map.end();p!=e;++p) {
-
if(p->rule() & sentence_term)
-
std::cout << "There is a sentence terminator: ";
-
else if(p->rule() & sentence_sep)
-
std::cout << "There is a sentence separator: ";
-
if(p->rule()!=0) // print if some rule exists
-
std::cout << "[" << std::string(text.begin(),p->iterator())
-
<< "|" << std::string(p->iterator(),text.end())
-
<< "]\n";
-
}
-

Would give the following output:

-
There is a sentence terminator: [First sentence. |Second
-sentence! Third one?]
-There is a sentence separator: [First sentence. Second
-|sentence! Third one?]
-There is a sentence terminator: [First sentence. Second
-sentence! |Third one?]
-There is a sentence terminator: [First sentence. Second
-sentence! Third one?|]
-

-Locating Boundary Points

-

Sometimes it is useful to find a specific boundary point according to given iterator.

-

boundary_point_index provides a iterator find(base_iterator p) member function.

-

It would return an iterator to a boundary point on p's location or at the location following it if p does not point to appropriate position.

-

For example, for word boundary analysis:

-
    -
  • If a base iterator points to "to |be", then the returned boundary point would be "to |be" (same position)
  • -
  • If a base iterator points to "t|o be", then the returned boundary point would be "to| be" (next valid position)
  • -
-

For example if we want to select 6 words around specific boundary point we can use following code:

-
using namespace boost::locale::boundary;
- -
// our text sample
-
std::string const text= "To be or not to be, that is the question.";
-
-
// Create a mapping
-
sboundary_point_index map(word,text.begin(),text.end(),gen("en_US.UTF-8"));
-
// Ignore wite space
- -
-
// define our arbitraty point
-
std::string::const_iterator pos = text.begin() + 12; // "no|t";
-
-
// Get the search range
- -
begin =map.begin(),
-
end = map.end(),
-
it = map.find(pos); // find a boundary
-
-
// go 3 words backward
-
for(int count = 0;count <3 && it!=begin; count ++)
-
--it;
-
-
// Save the start
-
std::string::const_iterator start = *it;
-
-
// go 6 words forward
-
for(int count = 0;count < 6 && it!=end; count ++)
-
++it;
-
-
// make sure we at valid position
-
if(it==end)
-
--it;
-
-
// print the text
-
std::cout << std::string(start,it->iterator()) << std::endl;
-

That would print:

-
 be or not to be, that
-
-
- - - - - - diff --git a/doc/html/building_boost_locale.html b/doc/html/building_boost_locale.html deleted file mode 100644 index 3aeb549b..00000000 --- a/doc/html/building_boost_locale.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - -Boost.Locale: Building The library - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Building The library
-
-
-
-

-Building Boost.Locale

-

-Dependencies

-
    -
  • ICU library 3.6 or above is strongly recommended
  • -
  • If no ICU library is given, iconv support is required under POSIX platforms.
  • -
-

-Platform Notes

-
    -
  • If you use Boost.Locale on Windows with MinGW/GCC < 4.5 you'll be able to use static version only. Mingw/GCC prior to 4.5 have no support of dynamic runtime linking.
    - Using Boost.Locale DLL's with MinGW gcc also requires dynamic linking with the runtime libraries libstdc++ and libgcc. Some gcc builds use static linking by default so make sure you use correct link options with your compiler when you build your own programs.
  • -
  • The AIX's iconv misses important character sets that Boost.Locale requires, so you need to either use GNU iconv or link with ICU library.
  • -
  • If iconv library is not found on Darwin/Mac OS X builds make sure there is no multiple iconv installations and provide -sICONV_PATH build option to point to correct location of iconv library.
  • -
-

-Building Process

-

Now all you need to do is invoke bjam command:

-
./bjam --with-locale stage
-

Or on Windows

-
.\bjam --with-locale stage
-

If you are using custom ICU build or you are using Microsoft Windows you need to provide a path to location of ICU library using -sICU_PATH option

-

For example:

-
    -
  • If your icu build is placed at /opt/icu46 such that the files are placed like
    - /opt/icu46/include/unicode/uversion.h
    - /opt/icu46/include/unicode/calendar.h
    - ...
    - /opt/icu46/lib/libicudata.so
    - /opt/icu46/lib/libicui18n.so
    - ...
    - then you need to provide an option -sICU_PATH=/opt/icu46
        ./bjam --with-locale -sICU_PATH=/opt/icu46  stage
  • -
  • If your icu build is placed at c:\icu46 such that the files are placed like
    - c:\icu46\include\unicode\uversion.h
    - c:\icu46\include\unicode\calendar.h
    - ...
    - c:\icu46\bin\icudt.dll
    - c:\icu46\bin\icuin.dll
    - ...
    - c:\icu46\lib\icudt.lib
    - c:\icu46\lib\icuin.lib
    - ...
    - then you need to provide an option -sICU_PATH=c:\icu46
        .\bjam --with-locale -sICU_PATH=c:\icu46  stage
  • -
-
Note
Don't forget to put both debug and release versions of ICU libraries in this path when using Microsoft Visual Studio so Boost.Build will link correctly debug and release versions of boost_locale library.
-

-Build Options

-

Boost.Locale supports following options with values off or on

-
    -
  • boost.locale.icu=off disable build of ICU backend even if ICU library exists
  • -
  • boost.locale.iconv=off or boost.locale.iconv=on enable or disable use of iconv library. It is off by default on Windows and Solaris
  • -
  • boost.locale.winapi=off - disable winapi backend, it is on by default on Windows and Cygwin
  • -
  • boost.locale.std=off or boost.locale.winapi=on Disable or enable std backends. std backend is disabled by default when using Sun Studio.
  • -
  • boost.locale.posix=on or boost.locale.posix=off Enable or disable support of POSIX backend, it is on by default on Linux and Mac OS X
  • -
-

Also Boost.Locale supports following options

-
    -
  • -sICU_PATH=/path/to/location/of/icu - the location of custom ICU library
  • -
  • -sICONV_PATH=/path/to/location/of/iconv - the location of custom iconv library
  • -
-

For example:

-
    -
  • Build the library on Windows with ICU backend only:
        .\bjam boost.locale.winapi=off boost.locale.std=off -sICU_PATH=c:\icu46 --with-locale stage
  • -
  • Build the library on Linux with std backend only
        .\bjam boost.locale.posix=off boost.locale.icu=off --with-locale stage
  • -
-

-Running Unit Tests

-

You can run unit tests by invoking bjam with libs/locale/test project parameter

-
./bjam libs/locale/test
-

-Binary Compatibility

-

Boost.Locale is built with binary compatibility in mind. Switching localization back ends on or off, or using iconv or not, does not affect binary compatibility. So if a dynamic library was built with all possible backends, other dynamic libraries compiled with, for example, only the std, posix or winapi backends would still be binary-compatible with it.

-

However this definitely has an effect on some features. For example, if you try to use boundary analysis or a calendar facet when the library does not support the icu backend you would get an exception.

-
-
- - - - - - diff --git a/doc/html/calendar_8cpp-example.html b/doc/html/calendar_8cpp-example.html deleted file mode 100644 index 5da6ad08..00000000 --- a/doc/html/calendar_8cpp-example.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - -Boost.Locale: calendar.cpp - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
calendar.cpp
-
-
-

Example of using date_time functions for generating calendar for current year.

-
//
-
// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
//
-
// Distributed under the Boost Software License, Version 1.0. (See
-
// accompanying file LICENSE_1_0.txt or copy at
-
// http://www.boost.org/LICENSE_1_0.txt)
-
//
-
#include <boost/locale.hpp>
-
#include <iostream>
-
#include <iomanip>
-
#include <ctime>
-
-
int main()
-
{
-
using namespace boost::locale;
-
-
generator gen;
-
std::locale::global(gen(""));
-
std::cout.imbue(std::locale());
-
// Setup environment
-
- -
-
date_time start=now;
-
-
// Set the first day of the first month of this year
-
start.set(period::month(),now.minimum(period::month()));
-
start.set(period::day(),start.minimum(period::day()));
-
-
int current_year = period::year(now);
-
-
-
// Display current year
-
std::cout << format("{1,ftime='%Y'}") % now << std::endl;
-
-
//
-
// Run forward untill current year is the date
-
//
-
for(now=start; period::year(now) == current_year;) {
-
-
// Print heading of month
- -
std::cout << format("{1,ftime='%B'}") % now <<std::endl;
-
else
-
std::cout << format("{1,ftime='%B'} ({1,ftime='%Y-%m-%d',locale=en} - {2,locale=en,ftime='%Y-%m-%d'})")
-
% now
-
% date_time(now,now.maximum(period::day())*period::day()) << std::endl;
-
-
int first = calendar().first_day_of_week();
-
-
// Print weeks days
-
for(int i=0;i<7;i++) {
-
date_time tmp(now,period::day_of_week() * (first + i));
-
std::cout << format("{1,w=8,ftime='%a'} ") % tmp;
-
}
-
std::cout << std::endl;
-
-
int current_month = now / period::month();
-
int skip = now / period::day_of_week_local() - 1;
-
for(int i=0;i<skip*9;i++)
-
std::cout << ' ';
-
for(;now / period::month() == current_month ;now += period::day()) {
-
std::cout << format("{1,w=8,ftime='%e'} ") % now;
-
if(now / period::day_of_week_local() == 7)
-
std::cout << std::endl;
-
}
-
std::cout << std::endl;
-
}
-
-
}
-
// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
-
- - - - - - diff --git a/doc/html/changelog.html b/doc/html/changelog.html deleted file mode 100644 index a40302b2..00000000 --- a/doc/html/changelog.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - -Boost.Locale: Changelog - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Changelog
-
-
-
    -
  • 1.67.0 -
      -
    • Added support of unique_ptr interface in addition to C++2003 auto_ptr - in order to support C++2017, now you can use BOOST_LOCALE_HIDE_AUTO_PTR definiton to remove auto_ptr from the interfaces and prevent deprecated watnings
    • -
    • Fixed test problem with ICU >60.1
    • -
    • Fix of solaris build
    • -
    • Fixed wired FreeBSD/clang issue on optimized build. Probably compiler workaround
    • -
    • Added workaround for failing MSVC tests due to 932 codepage codecvt issue
    • -
    • Fixed bugs 6851, 12572, 12453
    • -
    • Fixed missing throw in case of failure in icu/date_time
    • -
    • Fixed build agains Boost.Thread v4
    • -
    • Fixed Year of week instead of year ICU backend formatting
    • -
    • Fixed formatting test for ICU 56.1 and above
    • -
    -
  • -
  • 1.60.0
      -
    • Implemented generic codecvt facet and add general purpose utf8_codecvt facet
    • -
    • Added posix locale support for FreeBSD 10.0 and above
    • -
    • Fixed issues 10017 (sun redefinition on SunOS), 11163 (set_default_messages_domain incorrect behavior), 11673 - build issues
    • -
    • Some warning cleanup
    • -
    • Fixed tests for latest ICU versions
    • -
    • Added workaround for libc++ issues
    • -
    • Added new defines BOOST_LOCALE_ENABLE_CHAR16_T and BOOST_LOCALE_ENABLE_CHAR32_T to enable C++11 char16_t and char32_t instead of deprecated ones
    • -
    -
  • -
  • 1.53.0 - Bug fixes: 7743, 7386, 7734, 7701, 7368, 7762:
      -
    • 7743 - security related bug fix, some invalid UTF-8 sequences where accepted as valid
    • -
    • 7386 - invalid Windows codepage names used
    • -
    • 7734 - fixed missing documentation, caused by a error in Doxygen formatting
    • -
    • 7701 - fixed missing std:: in some places
    • -
    • 7368, 7762 - Spelling, grammar, typos
    • -
    -
  • -
  • 1.49.0
      -
    • Fixed incorrect use of MultiByteToWideChar in detection of invalid input sequences
    • -
    -
  • -
  • 1.48.0 - First Release
  • -
-
-
- - - - - - diff --git a/doc/html/charset_handling.html b/doc/html/charset_handling.html deleted file mode 100644 index 547d45c7..00000000 --- a/doc/html/charset_handling.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - -Boost.Locale: Character Set Conversions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Character Set Conversions
-
-
-

-Convenience Interface

-

Boost.Locale provides to_utf, from_utf and utf_to_utf functions in the boost::locale::conv namespace. They are simple and convenient functions to convert a string to and from UTF-8/16/32 strings and strings using other encodings.

-

For example:

-
std::string utf8_string = to_utf<char>(latin1_string,"Latin1");
-
std::wstring wide_string = to_utf<wchar_t>(latin1_string,"Latin1");
-
std::string latin1_string = from_utf(wide_string,"Latin1");
-
std::string utf8_string2 = utf_to_utf<char>(wide_string);
-

This function may use an explicit encoding name like "Latin1" or "ISO-8859-8", or use std::locale as a parameter to fetch this information from it. It also receives a policy parameter that tells it how to behave if the conversion can't be performed (i.e. an illegal or unsupported character is found). By default this function skips all illegal characters and tries to do the best it can, however, it is possible ask it to throw a conversion_error exception by passing the stop flag to it:

-
std::wstring s=to_utf<wchar_t>("\xFF\xFF","UTF-8",stop);
-
// Throws because this string is illegal in UTF-8
-

-std::codecvt facet

-

Boost.Locale provides stream codepage conversion facets based on the std::codecvt facet. This allows conversion between wide-character encodings and 8-bit encodings like UTF-8, ISO-8859 or Shift-JIS.

-

Most of compilers provide such facets, but:

-
    -
  • Under Windows MSVC does not support UTF-8 encodings at all.
  • -
  • Under Linux the encodings are supported only if the required locales are generated. For example it may be impossible to create a he_IL.CP1255 locale even when the he_IL locale is available.
  • -
-

Thus Boost.Locale provides an option to generate code-page conversion facets for use with Boost.Iostreams filters or std::wfstream. For example:

-
std::locale loc= generator().generate("he_IL.UTF-8");
-
std::wofstream file.
-
file.imbue(loc);
-
file.open("hello.txt");
-
file << L"שלום!" << endl;
-

Would create a file hello.txt encoded as UTF-8 with "שלום!" (shalom) in it.

-

-Integration with Boost.Iostreams

-

You can use the std::codecvt facet directly, but this is quite tricky and requires accurate buffer and error management.

-

You can use the boost::iostreams::code_converter class for stream-oriented conversions between the wide-character set and narrow locale character set.

-

This is a sample program that converts wide to narrow characters for an arbitrary stream:

-
#include <boost/iostreams/stream.hpp>
-
#include <boost/iostreams/categories.hpp>
-
#include <boost/iostreams/code_converter.hpp>
-
-
#include <boost/locale.hpp>
-
#include <iostream>
-
-
namespace io = boost::iostreams;
-
-
// Device that consumes the converted text,
-
// In our case it just writes to standard output
-
class consumer {
-
public:
-
typedef char char_type;
-
typedef io::sink_tag category;
-
std::streamsize write(const char* s, std::streamsize n)
-
{
-
std::cout.write(s,n);
-
return n;
-
}
-
};
-
-
-
int main()
-
{
-
// the device that converts wide characters
-
// to narrow
-
typedef io::code_converter<consumer> converter_device;
-
// the stream that uses this device
-
typedef io::stream<converter_device> converter_stream;
-
-
-
consumer cons;
-
// setup out converter to work
-
// with he_IL.UTF-8 locale
-
converter_device dev;
- -
dev.imbue(gen("he_IL.UTF-8"));
-
dev.open(cons);
-
converter_stream stream;
-
stream.open(dev);
-
// Now wide characters that are written
-
// to the stream would be given to
-
// our consumer as narrow characters
-
// in UTF-8 encoding
-
stream << L"שלום" << std::flush;
-
}
-

-Limitations of std::codecvt

-

The Standard does not provide any information about std::mbstate_t that could be used to save intermediate code-page conversion states. It leaves the definition up to the compiler implementation, making it impossible to reimplement std::codecvt<wchar_t,char,mbstate_t> for stateful encodings. Thus, Boost.Locale's codecvt facet implementation may be used with stateless encodings like UTF-8, ISO-8859, and Shift-JIS, but not with stateful encodings like UTF-7 or SCSU.

-

Recommendation: Prefer the Unicode UTF-8 encoding for char based strings and files in your application.

-
Note
-

The implementation of codecvt for single byte encodings like ISO-8859-X and for UTF-8 is very efficent and would allow fast conversion of the content, however its performance may be sub-optimal for double-width encodings like Shift-JIS, due to the stateless problem described above.

-
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1abstract__calendar-members.html b/doc/html/classboost_1_1locale_1_1abstract__calendar-members.html deleted file mode 100644 index 56f554a3..00000000 --- a/doc/html/classboost_1_1locale_1_1abstract__calendar-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::abstract_calendar Member List
-
-
- -

This is the complete list of members for boost::locale::abstract_calendar, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
absolute_maximum enum valueboost::locale::abstract_calendar
absolute_minimum enum valueboost::locale::abstract_calendar
actual_maximum enum valueboost::locale::abstract_calendar
actual_minimum enum valueboost::locale::abstract_calendar
adjust_value(period::marks::period_mark p, update_type u, int difference)=0boost::locale::abstract_calendarpure virtual
calendar_option_type enum nameboost::locale::abstract_calendar
clone() const =0boost::locale::abstract_calendarpure virtual
current enum valueboost::locale::abstract_calendar
difference(abstract_calendar const *other, period::marks::period_mark p) const =0boost::locale::abstract_calendarpure virtual
get_option(calendar_option_type opt) const =0boost::locale::abstract_calendarpure virtual
get_time() const =0boost::locale::abstract_calendarpure virtual
get_timezone() const =0boost::locale::abstract_calendarpure virtual
get_value(period::marks::period_mark p, value_type v) const =0boost::locale::abstract_calendarpure virtual
greatest_minimum enum valueboost::locale::abstract_calendar
is_dst enum valueboost::locale::abstract_calendar
is_gregorian enum valueboost::locale::abstract_calendar
least_maximum enum valueboost::locale::abstract_calendar
move enum valueboost::locale::abstract_calendar
normalize()=0boost::locale::abstract_calendarpure virtual
roll enum valueboost::locale::abstract_calendar
same(abstract_calendar const *other) const =0boost::locale::abstract_calendarpure virtual
set_option(calendar_option_type opt, int v)=0boost::locale::abstract_calendarpure virtual
set_time(posix_time const &p)=0boost::locale::abstract_calendarpure virtual
set_timezone(std::string const &tz)=0boost::locale::abstract_calendarpure virtual
set_value(period::marks::period_mark p, int value)=0boost::locale::abstract_calendarpure virtual
update_type enum nameboost::locale::abstract_calendar
value_type enum nameboost::locale::abstract_calendar
~abstract_calendar() (defined in boost::locale::abstract_calendar)boost::locale::abstract_calendarinlinevirtual
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1abstract__calendar.html b/doc/html/classboost_1_1locale_1_1abstract__calendar.html deleted file mode 100644 index fd36e7b0..00000000 --- a/doc/html/classboost_1_1locale_1_1abstract__calendar.html +++ /dev/null @@ -1,607 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::abstract_calendar Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::abstract_calendar Class Referenceabstract
-
-
- -

#include <boost/locale/date_time_facet.hpp>

- - - - - - - - -

-Public Types

enum  value_type {
-  absolute_minimum, -actual_minimum, -greatest_minimum, -current, -
-  least_maximum, -actual_maximum, -absolute_maximum -
- }
 
enum  update_type { move, -roll - }
 
enum  calendar_option_type { is_gregorian, -is_dst - }
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual abstract_calendarclone () const =0
 
virtual void set_value (period::marks::period_mark p, int value)=0
 
virtual void normalize ()=0
 
virtual int get_value (period::marks::period_mark p, value_type v) const =0
 
virtual void set_time (posix_time const &p)=0
 
virtual posix_time get_time () const =0
 
virtual void set_option (calendar_option_type opt, int v)=0
 
virtual int get_option (calendar_option_type opt) const =0
 
virtual void adjust_value (period::marks::period_mark p, update_type u, int difference)=0
 
virtual int difference (abstract_calendar const *other, period::marks::period_mark p) const =0
 
virtual void set_timezone (std::string const &tz)=0
 
virtual std::string get_timezone () const =0
 
virtual bool same (abstract_calendar const *other) const =0
 
-

Detailed Description

-

This class defines generic calendar class, it is used by date_time and calendar objects internally. It is less useful for end users, but it is build for localization backend implementation

-

Member Enumeration Documentation

- -
-
-

Information about calendar

- - - -
Enumerator
is_gregorian  -

Check if the calendar is Gregorian.

-
is_dst  -

Check if the current time is in daylight time savings.

-
- -
-
- -
-
-

A way to update the value

- - - -
Enumerator
move  -

Change the value up or down effecting others for example 1990-12-31 + 1 day = 1991-01-01.

-
roll  -

Change the value up or down not effecting others for example 1990-12-31 + 1 day = 1990-12-01.

-
- -
-
- -
-
-

Type that defines how to fetch the value

- - - - - - - - -
Enumerator
absolute_minimum  -

Absolute possible minimum for the value, for example for day is 1.

-
actual_minimum  -

Actual minimal value for this period.

-
greatest_minimum  -

Maximal minimum value that can be for this period.

-
current  -

Current value of this period.

-
least_maximum  -

The last maximal value for this period, For example for Gregorian calendar day it is 28

-
actual_maximum  -

Actual maximum, for it can be 28, 29, 30, 31 for day according to current month.

-
absolute_maximum  -

Maximal value, for Gregorian day it would be 31.

-
- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
virtual void boost::locale::abstract_calendar::adjust_value (period::marks::period_mark p,
update_type u,
int difference 
)
-
-pure virtual
-
-

Adjust period's p value by difference items using a update_type u. Note: not all values are adjustable

- -
-
- -
-
- - - - - -
- - - - - - - -
virtual abstract_calendar* boost::locale::abstract_calendar::clone () const
-
-pure virtual
-
-

Make a polymorphic copy of the calendar

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual int boost::locale::abstract_calendar::difference (abstract_calendar const * other,
period::marks::period_mark p 
) const
-
-pure virtual
-
-

Calculate the difference between this calendar and other in p units

- -
-
- -
-
- - - - - -
- - - - - - - - -
virtual int boost::locale::abstract_calendar::get_option (calendar_option_type opt) const
-
-pure virtual
-
-

Get option for calendar, currently only check if it is Gregorian calendar

- -
-
- -
-
- - - - - -
- - - - - - - -
virtual posix_time boost::locale::abstract_calendar::get_time () const
-
-pure virtual
-
-

Get current time point

- -
-
- -
-
- - - - - -
- - - - - - - -
virtual std::string boost::locale::abstract_calendar::get_timezone () const
-
-pure virtual
-
-

Get current time zone, empty - system one

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual int boost::locale::abstract_calendar::get_value (period::marks::period_mark p,
value_type v 
) const
-
-pure virtual
-
-

Get specific value for period p according to a value_type v

- -
-
- -
-
- - - - - -
- - - - - - - -
virtual void boost::locale::abstract_calendar::normalize ()
-
-pure virtual
-
-

Recalculate all periods after setting them, should be called after use of set_value() function.

- -
-
- -
-
- - - - - -
- - - - - - - - -
virtual bool boost::locale::abstract_calendar::same (abstract_calendar const * other) const
-
-pure virtual
-
-

Check of two calendars have same rules

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual void boost::locale::abstract_calendar::set_option (calendar_option_type opt,
int v 
)
-
-pure virtual
-
-

Set option for calendar, for future use

- -
-
- -
-
- - - - - -
- - - - - - - - -
virtual void boost::locale::abstract_calendar::set_time (posix_time const & p)
-
-pure virtual
-
-

Set current time point

- -
-
- -
-
- - - - - -
- - - - - - - - -
virtual void boost::locale::abstract_calendar::set_timezone (std::string const & tz)
-
-pure virtual
-
-

Set time zone, empty - use system

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual void boost::locale::abstract_calendar::set_value (period::marks::period_mark p,
int value 
)
-
-pure virtual
-
-

Set specific value for period p, note not all values are settable.

-

After call of set_value you may want to call normalize() function to make sure vall periods are updated, if you set sereral fields that are part of single date/time representation you should call set_value several times and then call normalize().

-

If normalize() is not called after set_value, the behavior is undefined

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1abstract__calendar.js b/doc/html/classboost_1_1locale_1_1abstract__calendar.js deleted file mode 100644 index c841fb61..00000000 --- a/doc/html/classboost_1_1locale_1_1abstract__calendar.js +++ /dev/null @@ -1,34 +0,0 @@ -var classboost_1_1locale_1_1abstract__calendar = -[ - [ "calendar_option_type", "classboost_1_1locale_1_1abstract__calendar.html#a5f1927f4c71fafa4712265e6b68958b5", [ - [ "is_gregorian", "classboost_1_1locale_1_1abstract__calendar.html#a5f1927f4c71fafa4712265e6b68958b5add910815d1ad0e97275b781223e869a9", null ], - [ "is_dst", "classboost_1_1locale_1_1abstract__calendar.html#a5f1927f4c71fafa4712265e6b68958b5a69f0c20e321e3b914883869466122c61", null ] - ] ], - [ "update_type", "classboost_1_1locale_1_1abstract__calendar.html#a92cf9485b91d60b70ef00e183bdf4e95", [ - [ "move", "classboost_1_1locale_1_1abstract__calendar.html#a92cf9485b91d60b70ef00e183bdf4e95aac5f9cb6e12a121b47b51434a3655c81", null ], - [ "roll", "classboost_1_1locale_1_1abstract__calendar.html#a92cf9485b91d60b70ef00e183bdf4e95a704e0e917603c2a88de22f3426a3e20b", null ] - ] ], - [ "value_type", "classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5", [ - [ "absolute_minimum", "classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a28694319e58f559df9ca41b22f03427e", null ], - [ "actual_minimum", "classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a5aa2c2d439c6e801e3bc48a35972932b", null ], - [ "greatest_minimum", "classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a75e80e0a10af4b2b8eb2fcab72e4b200", null ], - [ "current", "classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a83d87ff10ff6107dfd0405f1e8757ef8", null ], - [ "least_maximum", "classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a388661725182373d2f92b709034f85c9", null ], - [ "actual_maximum", "classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a3d2648e95466623ba20502281e0208af", null ], - [ "absolute_maximum", "classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5ab5d1af0b2698fee942a1486dfcc6552b", null ] - ] ], - [ "~abstract_calendar", "classboost_1_1locale_1_1abstract__calendar.html#a1fa3963b78eecfe4d0f22f655bedb9c2", null ], - [ "adjust_value", "classboost_1_1locale_1_1abstract__calendar.html#afb8e3a4d2ad93274ec119dc3dd0b103a", null ], - [ "clone", "classboost_1_1locale_1_1abstract__calendar.html#a73bc2d023be4c6ac6a6f441f74ded2f9", null ], - [ "difference", "classboost_1_1locale_1_1abstract__calendar.html#a7bd4c26f5a4260f6d9c91c615efc4b46", null ], - [ "get_option", "classboost_1_1locale_1_1abstract__calendar.html#a0c034dd6f135b7d9b6faad08d49715a8", null ], - [ "get_time", "classboost_1_1locale_1_1abstract__calendar.html#a8900097c0b687393b053bc0420070815", null ], - [ "get_timezone", "classboost_1_1locale_1_1abstract__calendar.html#a51f4b91d0dc2f9afa3920a771307d92f", null ], - [ "get_value", "classboost_1_1locale_1_1abstract__calendar.html#a7eacfa5d8f37dfc839d0239c2fcdf64e", null ], - [ "normalize", "classboost_1_1locale_1_1abstract__calendar.html#aa06fef77acaa6104e3cd2bc80ccc76d9", null ], - [ "same", "classboost_1_1locale_1_1abstract__calendar.html#aa20ae19bca185cc0fa4ab69d7f3c5883", null ], - [ "set_option", "classboost_1_1locale_1_1abstract__calendar.html#a9265206013005d9ac30cf723a7ffe032", null ], - [ "set_time", "classboost_1_1locale_1_1abstract__calendar.html#acb01268c84f27a8a736b715ab9e9557a", null ], - [ "set_timezone", "classboost_1_1locale_1_1abstract__calendar.html#aa17f0fd2e88d3da8fe7b12e98ad2d6c3", null ], - [ "set_value", "classboost_1_1locale_1_1abstract__calendar.html#a15067ccf90a19e640051a30a6d3a2a7f", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1basic__format-members.html b/doc/html/classboost_1_1locale_1_1basic__format-members.html deleted file mode 100644 index b75a28ec..00000000 --- a/doc/html/classboost_1_1locale_1_1basic__format-members.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::basic_format< CharType > Member List
-
- -
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1basic__format.html b/doc/html/classboost_1_1locale_1_1basic__format.html deleted file mode 100644 index f722dede..00000000 --- a/doc/html/classboost_1_1locale_1_1basic__format.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::basic_format< CharType > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::basic_format< CharType > Class Template Reference
-
-
- -

a printf like class that allows type-safe and locale aware message formatting - More...

- -

#include <boost/locale/format.hpp>

- - - - - - - - - - - - - -

-Public Types

-typedef CharType char_type
 Underlying character type.
 
typedef basic_message< char_typemessage_type
 
-typedef std::basic_string
-< CharType > 
string_type
 string type for this type of character
 
-typedef std::basic_ostream
-< CharType > 
stream_type
 output stream type for this type of character
 
- - - - - - - - - - - - -

-Public Member Functions

 basic_format (string_type format_string)
 
 basic_format (message_type const &trans)
 
template<typename Formattible >
basic_formatoperator% (Formattible const &object)
 
string_type str (std::locale const &loc=std::locale()) const
 
void write (stream_type &out) const
 
-

Detailed Description

-

template<typename CharType>
-class boost::locale::basic_format< CharType >

- -

a printf like class that allows type-safe and locale aware message formatting

-

This class creates a formatted message similar to printf or boost::format and receives formatted entries via operator %.

-

For example

-
cout << format("Hello {1}, you are {2} years old") % name % age << endl;
-

Formatting is enclosed between curly brackets { } and defined by a comma separated list of flags in the format key[=value] value may also be text included between single quotes ' that is used for special purposes where inclusion of non-ASCII text is allowed

-

Including of literal { and } is possible by specifying double brackets {{ and }} accordingly.

-

For example:

-
cout << format("The height of water at {1,time} is {2,num=fixed,precision=3}") % time % height;
-

The special key – a number without a value defines the position of an input parameter. List of keys:

-
    -
  • [0-9]+ – digits, the index of a formatted parameter – mandatory key.
  • -
  • num or number – format a number. Optional values are:
      -
    • hex – display hexadecimal number
    • -
    • oct – display in octal format
    • -
    • sci or scientific – display in scientific format
    • -
    • fix or fixed – display in fixed format
    • -
    -For example number=sci
  • -
  • cur or currency – format currency. Optional values are:
      -
    • iso – display using ISO currency symbol.
    • -
    • nat or national – display using national currency symbol.
    • -
    -
  • -
  • per or percent – format percent value.
  • -
  • date, time , datetime or dt – format date, time or date and time. Optional values are:
      -
    • s or short – display in short format
    • -
    • m or medium – display in medium format.
    • -
    • l or long – display in long format.
    • -
    • f or full – display in full format.
    • -
    -
  • -
  • ftime with string (quoted) parameter – display as with strftime see, as::ftime manipulator
  • -
  • spell or spellout – spell the number.
  • -
  • ord or ordinal – format ordinal number (1st, 2nd... etc)
  • -
  • left or < – align to left.
  • -
  • right or > – align to right.
  • -
  • width or w – set field width (requires parameter).
  • -
  • precision or p – set precision (requires parameter).
  • -
  • locale – with parameter – switch locale for current operation. This command generates locale with formatting facets giving more fine grained control of formatting. For example:
    cout << format("Today {1,date} ({1,date,locale=he_IL.UTF-8@calendar=hebrew,date} Hebrew Date)") % date;
    -
  • -
  • timezone or tz – the name of the timezone to display the time in. For example:
    -
    cout << format("Time is: Local {1,time}, ({1,time,tz=EET} Eastern European Time)") % date;
    -
  • -
  • local - display the time in local time
  • -
  • gmt - display the time in UTC time scale
    cout << format("Local time is: {1,time,local}, universal time is {1,time,gmt}") % time;
    -
  • -
-

Invalid formatting strings are slightly ignored. This would prevent from translator to crash the program in unexpected location.

-

Member Typedef Documentation

- -
-
-
-template<typename CharType >
- - - - -
typedef basic_message<char_type> boost::locale::basic_format< CharType >::message_type
-
-

The translation message type

- -
-
-

Constructor & Destructor Documentation

- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - -
boost::locale::basic_format< CharType >::basic_format (string_type format_string)
-
-inline
-
-

Create a format class for format_string

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - -
boost::locale::basic_format< CharType >::basic_format (message_type const & trans)
-
-inline
-
-

Create a format class using message trans. The message if translated first according to the rules of target locale and then interpreted as format string

- -
-
-

Member Function Documentation

- -
-
-
-template<typename CharType >
-
-template<typename Formattible >
- - - - - -
- - - - - - - - -
basic_format& boost::locale::basic_format< CharType >::operator% (Formattible const & object)
-
-inline
-
-

Add new parameter to format list. The object should be a type with defined expression out << object where out is std::basic_ostream.

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - -
string_type boost::locale::basic_format< CharType >::str (std::locale const & loc = std::locale()) const
-
-inline
-
-

Format a string using a locale loc

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - -
void boost::locale::basic_format< CharType >::write (stream_typeout) const
-
-inline
-
-

write a formatted string to output stream out using out's locale

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1basic__format.js b/doc/html/classboost_1_1locale_1_1basic__format.js deleted file mode 100644 index 0865116a..00000000 --- a/doc/html/classboost_1_1locale_1_1basic__format.js +++ /dev/null @@ -1,12 +0,0 @@ -var classboost_1_1locale_1_1basic__format = -[ - [ "char_type", "classboost_1_1locale_1_1basic__format.html#a45c16f2e69842b8d223d240bbd6e210a", null ], - [ "message_type", "classboost_1_1locale_1_1basic__format.html#a75213e5cc9d113f6b25e72542a4841f5", null ], - [ "stream_type", "classboost_1_1locale_1_1basic__format.html#a6aba7e54f0065f2697d13ff8a859309a", null ], - [ "string_type", "classboost_1_1locale_1_1basic__format.html#a0e1263d23f67aa38b4d857031fccf973", null ], - [ "basic_format", "classboost_1_1locale_1_1basic__format.html#a4c885ae60a5b867863b79acb75feff9e", null ], - [ "basic_format", "classboost_1_1locale_1_1basic__format.html#a155e8e60061da7461bbcc958d600c190", null ], - [ "operator%", "classboost_1_1locale_1_1basic__format.html#a24de7f69a5d95fd6181d888f07fc6770", null ], - [ "str", "classboost_1_1locale_1_1basic__format.html#a6bc65d7993e3ab6ad51809ef8fb65400", null ], - [ "write", "classboost_1_1locale_1_1basic__format.html#a457c9228d13e80da3c807a51aa5ef6cd", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1basic__message-members.html b/doc/html/classboost_1_1locale_1_1basic__message-members.html deleted file mode 100644 index 0bf97ae3..00000000 --- a/doc/html/classboost_1_1locale_1_1basic__message-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::basic_message< CharType > Member List
-
-
- -

This is the complete list of members for boost::locale::basic_message< CharType >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - -
basic_message()boost::locale::basic_message< CharType >inline
basic_message(char_type const *id)boost::locale::basic_message< CharType >inlineexplicit
basic_message(char_type const *single, char_type const *plural, int n)boost::locale::basic_message< CharType >inlineexplicit
basic_message(char_type const *context, char_type const *id)boost::locale::basic_message< CharType >inlineexplicit
basic_message(char_type const *context, char_type const *single, char_type const *plural, int n)boost::locale::basic_message< CharType >inlineexplicit
basic_message(string_type const &id)boost::locale::basic_message< CharType >inlineexplicit
basic_message(string_type const &single, string_type const &plural, int number)boost::locale::basic_message< CharType >inlineexplicit
basic_message(string_type const &context, string_type const &id)boost::locale::basic_message< CharType >inlineexplicit
basic_message(string_type const &context, string_type const &single, string_type const &plural, int number)boost::locale::basic_message< CharType >inlineexplicit
basic_message(basic_message const &other)boost::locale::basic_message< CharType >inline
char_type typedefboost::locale::basic_message< CharType >
facet_type typedefboost::locale::basic_message< CharType >
operator string_type() const boost::locale::basic_message< CharType >inline
operator=(basic_message const &other)boost::locale::basic_message< CharType >inline
str() const boost::locale::basic_message< CharType >inline
str(std::locale const &locale) const boost::locale::basic_message< CharType >inline
str(std::locale const &locale, std::string const &domain_id) const boost::locale::basic_message< CharType >inline
str(std::string const &domain_id) const boost::locale::basic_message< CharType >inline
str(std::locale const &loc, int id) const boost::locale::basic_message< CharType >inline
string_type typedefboost::locale::basic_message< CharType >
swap(basic_message &other)boost::locale::basic_message< CharType >inline
write(std::basic_ostream< char_type > &out) const boost::locale::basic_message< CharType >inline
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1basic__message.html b/doc/html/classboost_1_1locale_1_1basic__message.html deleted file mode 100644 index 295e2c79..00000000 --- a/doc/html/classboost_1_1locale_1_1basic__message.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::basic_message< CharType > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::basic_message< CharType > Class Template Reference
-
-
- -

This class represents a message that can be converted to a specific locale message. - More...

- -

#include <boost/locale/message.hpp>

- - - - - - - - - - - -

-Public Types

-typedef CharType char_type
 The character this message object is used with.
 
-typedef std::basic_string
-< char_type
string_type
 The string type this object can be used with.
 
-typedef message_format< char_typefacet_type
 The type of the facet the messages are fetched with.
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 basic_message ()
 
 basic_message (char_type const *id)
 
 basic_message (char_type const *single, char_type const *plural, int n)
 
 basic_message (char_type const *context, char_type const *id)
 
 basic_message (char_type const *context, char_type const *single, char_type const *plural, int n)
 
 basic_message (string_type const &id)
 
 basic_message (string_type const &single, string_type const &plural, int number)
 
 basic_message (string_type const &context, string_type const &id)
 
 basic_message (string_type const &context, string_type const &single, string_type const &plural, int number)
 
 basic_message (basic_message const &other)
 
basic_message const & operator= (basic_message const &other)
 
void swap (basic_message &other)
 
 operator string_type () const
 
string_type str () const
 
string_type str (std::locale const &locale) const
 
string_type str (std::locale const &locale, std::string const &domain_id) const
 
string_type str (std::string const &domain_id) const
 
string_type str (std::locale const &loc, int id) const
 
void write (std::basic_ostream< char_type > &out) const
 
-

Detailed Description

-

template<typename CharType>
-class boost::locale::basic_message< CharType >

- -

This class represents a message that can be converted to a specific locale message.

-

It holds the original ASCII string that is queried in the dictionary when converting to the output string. The created string may be UTF-8, UTF-16, UTF-32 or other 8-bit encoded string according to the target character type and locale encoding.

-

The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1basic__message.js b/doc/html/classboost_1_1locale_1_1basic__message.js deleted file mode 100644 index 8fd75a21..00000000 --- a/doc/html/classboost_1_1locale_1_1basic__message.js +++ /dev/null @@ -1,25 +0,0 @@ -var classboost_1_1locale_1_1basic__message = -[ - [ "char_type", "group__message.html#gaa5d8dcf9d7aa01abbe73c841299345db", null ], - [ "facet_type", "group__message.html#gaa63527cb368d0bcd4cb0809138c927df", null ], - [ "string_type", "group__message.html#ga529423e08fc9a8ca9ceef5c56181c6d3", null ], - [ "basic_message", "group__message.html#ga33bdf7fbb164a96a8685b5747afc2b45", null ], - [ "basic_message", "group__message.html#gae32d7f89d5f268e8d6bae662d8008bae", null ], - [ "basic_message", "group__message.html#ga40bf56415a235f13ee666d51f645f280", null ], - [ "basic_message", "group__message.html#ga4d78f8f45467984d7244e2ddbb9e0f6e", null ], - [ "basic_message", "group__message.html#gabf9afe77f0254397389289c386bf8a73", null ], - [ "basic_message", "group__message.html#gabbb4365d621a33442ae34ac7c17a9d74", null ], - [ "basic_message", "group__message.html#ga380f3a258b3b28929bbf01f4e622e71a", null ], - [ "basic_message", "group__message.html#ga8c2fab962e10a46ea85f0188d08e499d", null ], - [ "basic_message", "group__message.html#gaf8ba10b7b1d45e6c78b84d77e8175d5d", null ], - [ "basic_message", "group__message.html#gae6ed9dded4ab78ff28e994b48c766c84", null ], - [ "operator string_type", "group__message.html#ga8da81038939b85ca248cba50f1deacf1", null ], - [ "operator=", "group__message.html#gae0e786e45ef32cf73efd8495cae45aed", null ], - [ "str", "group__message.html#ga11c5f400e03e0b16b9a60bd3fae3f168", null ], - [ "str", "group__message.html#ga26c6489f8269096f835abfb268498fdd", null ], - [ "str", "group__message.html#gaa907a1d3f43fe59cea938e1606f004ee", null ], - [ "str", "group__message.html#ga2d2ca0fe119e4ce4766fd3d42b549314", null ], - [ "str", "group__message.html#gaa51c0f65363d8d1cee83bb07fe45ced5", null ], - [ "swap", "group__message.html#gac204b563c7c9bd86e5555f129350f0e3", null ], - [ "write", "group__message.html#ga4dd81f4d40c4e8871bb1bf02bbc8e968", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__indexing-members.html b/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__indexing-members.html deleted file mode 100644 index b7a693d1..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__indexing-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::boundary::boundary_indexing< CharType > Member List
-
-
- -

This is the complete list of members for boost::locale::boundary::boundary_indexing< CharType >, including all inherited members.

- - - - -
boundary_indexing(size_t refs=0)boost::locale::boundary::boundary_indexing< CharType >inline
idboost::locale::boundary::boundary_indexing< CharType >static
map(boundary_type t, Char const *begin, Char const *end) const =0boost::locale::boundary::boundary_indexing< CharType >pure virtual
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__indexing.html b/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__indexing.html deleted file mode 100644 index 79165186..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__indexing.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::boundary::boundary_indexing< CharType > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::boundary::boundary_indexing< CharType > Class Template Referenceabstract
-
-
- -

This facet generates an index for boundary analysis for a given text. - More...

- -

#include <boost/locale/boundary/facets.hpp>

-
-Inheritance diagram for boost::locale::boundary::boundary_indexing< CharType >:
-
-
- - - -
- - - - - - -

-Public Member Functions

 boundary_indexing (size_t refs=0)
 
virtual index_type map (boundary_type t, Char const *begin, Char const *end) const =0
 
- - - -

-Static Public Attributes

static std::locale::id id
 
-

Detailed Description

-

template<typename CharType>
-class boost::locale::boundary::boundary_indexing< CharType >

- -

This facet generates an index for boundary analysis for a given text.

-

It is specialized for 4 types of characters char_t, wchar_t, char16_t and char32_t

-

Constructor & Destructor Documentation

- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - -
boost::locale::boundary::boundary_indexing< CharType >::boundary_indexing (size_t refs = 0)
-
-inline
-
-

Default constructor typical for facets

- -
-
-

Member Function Documentation

- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
virtual index_type boost::locale::boundary::boundary_indexing< CharType >::map (boundary_type t,
Char const * begin,
Char const * end 
) const
-
-pure virtual
-
-

Create index for boundary type t for text in range [begin,end)

-

The returned value is an index of type index_type. Note that this index is never empty, even if the range [begin,end) is empty it consists of at least one boundary point with the offset 0.

- -
-
-

Member Data Documentation

- -
-
-
-template<typename CharType >
- - - - - -
- - - - -
std::locale::id boost::locale::boundary::boundary_indexing< CharType >::id
-
-static
-
-

Identification of this facet

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__indexing.js b/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__indexing.js deleted file mode 100644 index c6976135..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__indexing.js +++ /dev/null @@ -1,6 +0,0 @@ -var classboost_1_1locale_1_1boundary_1_1boundary__indexing = -[ - [ "boundary_indexing", "classboost_1_1locale_1_1boundary_1_1boundary__indexing.html#a0e4c06efec1f1fca78bec34988aec881", null ], - [ "map", "classboost_1_1locale_1_1boundary_1_1boundary__indexing.html#ac971f4219181ee587844d2c74cca7ef4", null ], - [ "id", "classboost_1_1locale_1_1boundary_1_1boundary__indexing.html#aa7050fa0d55227034c80f811bc9ca97c", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__indexing.png b/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__indexing.png deleted file mode 100644 index 23fdc8b5..00000000 Binary files a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__indexing.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point-members.html b/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point-members.html deleted file mode 100644 index 062bd9f6..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point-members.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point.html b/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point.html deleted file mode 100644 index 5709640a..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point.html +++ /dev/null @@ -1,467 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::boundary::boundary_point< IteratorType > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::boundary::boundary_point< IteratorType > Class Template Reference
-
-
- -

This class represents a boundary point in the text. - More...

- -

#include <boost/locale/boundary/boundary_point.hpp>

- - - - -

-Public Types

typedef IteratorType iterator_type
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 boundary_point ()
 
 boundary_point (iterator_type p, rule_type r)
 
void iterator (iterator_type i)
 
void rule (rule_type r)
 
iterator_type iterator () const
 
rule_type rule () const
 
bool operator== (boundary_point const &other) const
 
bool operator!= (boundary_point const &other) const
 
bool operator== (iterator_type const &other) const
 
bool operator!= (iterator_type const &other) const
 
 operator iterator_type () const
 
-

Detailed Description

-

template<typename IteratorType>
-class boost::locale::boundary::boundary_point< IteratorType >

- -

This class represents a boundary point in the text.

-

It represents a pair - an iterator and a rule that defines this point.

-

This type of object is dereference by the iterators of boundary_point_index. Using a rule() member function you can get the reason why this specific boundary point was selected.

-

For example, When you use a sentence boundary analysis, the (rule() & sentence_term) != 0 means that this boundary point was selected because a sentence terminator (like .?!) was spotted and the (rule() & sentence_sep)!=0 means that a separator like line feed or carriage return was observed.

-
Note
-
    -
  • The beginning of analyzed range is always considered a boundary point and its rule is always 0.
  • -
  • when using a word boundary analysis the returned rule relates to a chunk of text preceding this point.
  • -
-
See Also
- -

Member Typedef Documentation

- -
-
-
-template<typename IteratorType>
- - - - -
typedef IteratorType boost::locale::boundary::boundary_point< IteratorType >::iterator_type
-
-

The type of the base iterator that iterates the original text

- -
-
-

Constructor & Destructor Documentation

- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - -
boost::locale::boundary::boundary_point< IteratorType >::boundary_point ()
-
-inline
-
-

Empty default constructor

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - - - - - - - - - - - - -
boost::locale::boundary::boundary_point< IteratorType >::boundary_point (iterator_type p,
rule_type r 
)
-
-inline
-
-

Create a new boundary_point using iterator and a rule r

- -
-
-

Member Function Documentation

- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - - -
void boost::locale::boundary::boundary_point< IteratorType >::iterator (iterator_type i)
-
-inline
-
-

Set an new iterator value i

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - -
iterator_type boost::locale::boundary::boundary_point< IteratorType >::iterator () const
-
-inline
-
-

Fetch an iterator

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - -
boost::locale::boundary::boundary_point< IteratorType >::operator iterator_type () const
-
-inline
-
-

Automatic cast to the iterator it represents

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - - -
bool boost::locale::boundary::boundary_point< IteratorType >::operator!= (boundary_point< IteratorType > const & other) const
-
-inline
-
-

Check if two boundary points are different

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - - -
bool boost::locale::boundary::boundary_point< IteratorType >::operator!= (iterator_type const & other) const
-
-inline
-
-

Check if the boundary point points to different location from an iterator other

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - - -
bool boost::locale::boundary::boundary_point< IteratorType >::operator== (boundary_point< IteratorType > const & other) const
-
-inline
-
-

Check if two boundary points are the same

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - - -
bool boost::locale::boundary::boundary_point< IteratorType >::operator== (iterator_type const & other) const
-
-inline
-
-

Check if the boundary point points to same location as an iterator other

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - - -
void boost::locale::boundary::boundary_point< IteratorType >::rule (rule_type r)
-
-inline
-
-

Set an new rule value r

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - -
rule_type boost::locale::boundary::boundary_point< IteratorType >::rule () const
-
-inline
-
-

Fetch a rule

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point.js b/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point.js deleted file mode 100644 index 1b38d2e6..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point.js +++ /dev/null @@ -1,15 +0,0 @@ -var classboost_1_1locale_1_1boundary_1_1boundary__point = -[ - [ "iterator_type", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#af3c3a74a9a79690ff44f38d267b3b694", null ], - [ "boundary_point", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#aabbbee60c2c97ffd95210206a86c9298", null ], - [ "boundary_point", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a653a1c0d7480006ff647a656c74521df", null ], - [ "iterator", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a5ea18137618a1a84ff0b75c3b166c495", null ], - [ "iterator", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#af279d5382e1b28c2ce82035c1929ea66", null ], - [ "operator iterator_type", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#aa2dc88b4d02151aea939a01b7fc88730", null ], - [ "operator!=", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a4347b22dd7edb8af49d1316a6f86d0c2", null ], - [ "operator!=", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a4cd03f39d75bb054be9a0ae23189fa7a", null ], - [ "operator==", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a058ffbcbd43fc41a40a4a1cf5be987f2", null ], - [ "operator==", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a87a96a1745184ff7495db87943aca424", null ], - [ "rule", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a757b28e11c66f9871d3f51fe93a51bdb", null ], - [ "rule", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a75e2f04f0f7c1065470f722d1f2e004b", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point__index-members.html b/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point__index-members.html deleted file mode 100644 index 2d13806e..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point__index-members.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::boundary::boundary_point_index< BaseIterator > Member List
-
-
- -

This is the complete list of members for boost::locale::boundary::boundary_point_index< BaseIterator >, including all inherited members.

- - - - - - - - - - - - - - - - - -
base_iterator typedefboost::locale::boundary::boundary_point_index< BaseIterator >
begin() const boost::locale::boundary::boundary_point_index< BaseIterator >inline
boundary_point_index()boost::locale::boundary::boundary_point_index< BaseIterator >inline
boundary_point_index(boundary_type type, base_iterator begin, base_iterator end, rule_type mask, std::locale const &loc=std::locale())boost::locale::boundary::boundary_point_index< BaseIterator >inline
boundary_point_index(boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())boost::locale::boundary::boundary_point_index< BaseIterator >inline
boundary_point_index(segment_index< base_iterator > const &other)boost::locale::boundary::boundary_point_index< BaseIterator >
const_iterator typedefboost::locale::boundary::boundary_point_index< BaseIterator >
end() const boost::locale::boundary::boundary_point_index< BaseIterator >inline
find(base_iterator p) const boost::locale::boundary::boundary_point_index< BaseIterator >inline
iterator typedefboost::locale::boundary::boundary_point_index< BaseIterator >
map(boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())boost::locale::boundary::boundary_point_index< BaseIterator >inline
operator=(segment_index< base_iterator > const &other)boost::locale::boundary::boundary_point_index< BaseIterator >
rule() const boost::locale::boundary::boundary_point_index< BaseIterator >inline
rule(rule_type v)boost::locale::boundary::boundary_point_index< BaseIterator >inline
segment_index< base_iterator > (defined in boost::locale::boundary::boundary_point_index< BaseIterator >)boost::locale::boundary::boundary_point_index< BaseIterator >friend
value_type typedefboost::locale::boundary::boundary_point_index< BaseIterator >
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point__index.html b/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point__index.html deleted file mode 100644 index 9f5077d6..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point__index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::boundary::boundary_point_index< BaseIterator > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::boundary::boundary_point_index< BaseIterator > Class Template Reference
-
-
- -

This class holds an index of boundary points and allows iterating over them. - More...

- -

#include <boost/locale/boundary/index.hpp>

- - - - - - - - - - -

-Public Types

typedef BaseIterator base_iterator
 
typedef unspecified_iterator_type iterator
 
typedef unspecified_iterator_type const_iterator
 
typedef boundary_point
-< base_iterator
value_type
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 boundary_point_index ()
 
 boundary_point_index (boundary_type type, base_iterator begin, base_iterator end, rule_type mask, std::locale const &loc=std::locale())
 
 boundary_point_index (boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())
 
 boundary_point_index (segment_index< base_iterator > const &other)
 
boundary_point_index const & operator= (segment_index< base_iterator > const &other)
 
void map (boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())
 
iterator begin () const
 
iterator end () const
 
iterator find (base_iterator p) const
 
rule_type rule () const
 
void rule (rule_type v)
 
- - - -

-Friends

-class segment_index< base_iterator >
 
-

Detailed Description

-

template<typename BaseIterator>
-class boost::locale::boundary::boundary_point_index< BaseIterator >

- -

This class holds an index of boundary points and allows iterating over them.

-

This class is provides begin() and end() member functions that return bidirectional iterators to the boundary_point objects.

-

It provides an option that affects selecting boundary points according to different rules: using rule(rule_type mask) member function. It allows to set a mask that select only specific types of boundary points like sentence_term.

-

For example for a sentence boundary analysis of a text "Hello! How\nare you?" when the default rule is used the boundary points would be:

-
    -
  • "|Hello! How\nare you?"
  • -
  • "Hello! |How\nare you?"
  • -
  • "Hello! How\n|are you?"
  • -
  • "Hello! How\nare you?|"
  • -
-

However if rule() is set to sentence_term then the selected boundary points would be:

-
    -
  • "|Hello! How\nare you?"
  • -
  • "Hello! |How\nare you?"
  • -
  • "Hello! How\nare you?|"
  • -
-

Such that a boundary point defined by a line feed character would be ignored.

-

This class allows to find a boundary_point according to the given iterator in range using find() member function.

-
Note
    -
  • Even an empty text range [x,x) considered to have a one boundary point x.
  • -
  • a and b points of the range [a,b) are always considered boundary points regardless the rules used.
  • -
  • Changing any of the option rule() or course re-indexing the text invalidates existing iterators and they can't be used any more.
  • -
  • boundary_point_index can be created from segment_index or other boundary_point_index that was created with same boundary_type. This is very fast operation as they shared same index and it does not require its regeneration.
  • -
-
-
See Also
- -

The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point__index.js b/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point__index.js deleted file mode 100644 index 57e52cea..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1boundary__point__index.js +++ /dev/null @@ -1,19 +0,0 @@ -var classboost_1_1locale_1_1boundary_1_1boundary__point__index = -[ - [ "base_iterator", "group__boundary.html#gab3189e2eaf4386cdf37598e0ba16cfd5", null ], - [ "const_iterator", "group__boundary.html#gac9ce9158eb2fb030c1baf93376203d16", null ], - [ "iterator", "group__boundary.html#ga1af6e72b3c384edcebc0cf319fe97efe", null ], - [ "value_type", "group__boundary.html#ga7f7328a860cf485a4bd8f17658c291e1", null ], - [ "boundary_point_index", "group__boundary.html#gaba6993dd50ad8cf2db8921e5cf668a69", null ], - [ "boundary_point_index", "group__boundary.html#gacc189288792012cfdb21c07fddbadc4f", null ], - [ "boundary_point_index", "group__boundary.html#ga9b926379fa2fcc7f87dc067953049d69", null ], - [ "boundary_point_index", "group__boundary.html#gac48665ff53789c6ee44a423963b6550d", null ], - [ "begin", "group__boundary.html#ga56f42a32f0378b6e157671f9e17bd66f", null ], - [ "end", "group__boundary.html#gaf3d66d578e32a63b3f0ffbb59740667b", null ], - [ "find", "group__boundary.html#ga0bb71a287afca990e85b17246568492d", null ], - [ "map", "group__boundary.html#ga6b4b5d5cf80b55302a88e7b36c812418", null ], - [ "operator=", "group__boundary.html#ga83d57b993b00686b2cac711667c6a931", null ], - [ "rule", "group__boundary.html#ga1d214029f1a780b7bf6e3f23a3004c03", null ], - [ "rule", "group__boundary.html#ga56e63913f51109e05a24a7136472a975", null ], - [ "segment_index< base_iterator >", "group__boundary.html#gaa8ba2e18ec3780af8f001ba85e40b9e2", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1segment-members.html b/doc/html/classboost_1_1locale_1_1boundary_1_1segment-members.html deleted file mode 100644 index a391e2a8..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1segment-members.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::boundary::segment< IteratorType > Member List
-
-
- -

This is the complete list of members for boost::locale::boundary::segment< IteratorType >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - -
begin(iterator const &v)boost::locale::boundary::segment< IteratorType >inline
begin() const boost::locale::boundary::segment< IteratorType >inline
char_type typedefboost::locale::boundary::segment< IteratorType >
const_iterator typedefboost::locale::boundary::segment< IteratorType >
difference_type typedefboost::locale::boundary::segment< IteratorType >
empty() const boost::locale::boundary::segment< IteratorType >inline
end(iterator const &v)boost::locale::boundary::segment< IteratorType >inline
end() const boost::locale::boundary::segment< IteratorType >inline
iterator typedefboost::locale::boundary::segment< IteratorType >
length() const boost::locale::boundary::segment< IteratorType >inline
operator std::basic_string< char_type, T, A >() const boost::locale::boundary::segment< IteratorType >inline
operator!=(segment const &other)boost::locale::boundary::segment< IteratorType >inline
operator==(segment const &other)boost::locale::boundary::segment< IteratorType >inline
rule() const boost::locale::boundary::segment< IteratorType >inline
rule(rule_type r)boost::locale::boundary::segment< IteratorType >inline
segment()boost::locale::boundary::segment< IteratorType >inline
segment(iterator b, iterator e, rule_type r)boost::locale::boundary::segment< IteratorType >inline
str() const boost::locale::boundary::segment< IteratorType >inline
string_type typedefboost::locale::boundary::segment< IteratorType >
value_type typedefboost::locale::boundary::segment< IteratorType >
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1segment.html b/doc/html/classboost_1_1locale_1_1boundary_1_1segment.html deleted file mode 100644 index f4d1a5e2..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1segment.html +++ /dev/null @@ -1,600 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::boundary::segment< IteratorType > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::boundary::segment< IteratorType > Class Template Reference
-
-
- -

a segment object that represents a pair of two iterators that define the range where this segment exits and a rule that defines it. - More...

- -

#include <boost/locale/boundary/segment.hpp>

-
-Inheritance diagram for boost::locale::boundary::segment< IteratorType >:
-
-
- - - -
- - - - - - - - - - - - - - -

-Public Types

typedef std::iterator_traits
-< IteratorType >::value_type 
char_type
 
typedef std::basic_string
-< char_type
string_type
 
typedef char_type value_type
 
typedef IteratorType iterator
 
typedef IteratorType const_iterator
 
typedef std::iterator_traits
-< IteratorType >
-::difference_type 
difference_type
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 segment ()
 
 segment (iterator b, iterator e, rule_type r)
 
void begin (iterator const &v)
 
void end (iterator const &v)
 
IteratorType begin () const
 
IteratorType end () const
 
template<class T , class A >
 operator std::basic_string< char_type, T, A > () const
 
string_type str () const
 
size_t length () const
 
bool empty () const
 
rule_type rule () const
 
void rule (rule_type r)
 
-bool operator== (segment const &other)
 Compare two segments.
 
-bool operator!= (segment const &other)
 Compare two segments.
 
-

Detailed Description

-

template<typename IteratorType>
-class boost::locale::boundary::segment< IteratorType >

- -

a segment object that represents a pair of two iterators that define the range where this segment exits and a rule that defines it.

-

This type of object is dereferenced by the iterators of segment_index. Using a rule() member function you can get a specific rule this segment was selected with. For example, when you use word boundary analysis, you can check if the specific word contains Kana letters by checking (rule() & word_kana)!=0 For a sentence analysis you can check if the sentence is selected because a sentence terminator is found (sentence_term) or there is a line break (sentence_sep).

-

This object can be automatically converted to std::basic_string with the same type of character. It is also valid range that has begin() and end() member functions returning iterators on the location of the segment.

-
See Also
- -

Member Typedef Documentation

- -
-
-
-template<typename IteratorType>
- - - - -
typedef std::iterator_traits<IteratorType>::value_type boost::locale::boundary::segment< IteratorType >::char_type
-
-

The type of the underlying character

- -
-
- -
-
-
-template<typename IteratorType>
- - - - -
typedef IteratorType boost::locale::boundary::segment< IteratorType >::const_iterator
-
-

The iterator that allows to iterate the range

- -
-
- -
-
-
-template<typename IteratorType>
- - - - -
typedef std::iterator_traits<IteratorType>::difference_type boost::locale::boundary::segment< IteratorType >::difference_type
-
-

The type that represent a difference between two iterators

- -
-
- -
-
-
-template<typename IteratorType>
- - - - -
typedef IteratorType boost::locale::boundary::segment< IteratorType >::iterator
-
-

The iterator that allows to iterate the range

- -
-
- -
-
-
-template<typename IteratorType>
- - - - -
typedef std::basic_string<char_type> boost::locale::boundary::segment< IteratorType >::string_type
-
-

The type of the string it is converted to

- -
-
- -
-
-
-template<typename IteratorType>
- - - - -
typedef char_type boost::locale::boundary::segment< IteratorType >::value_type
-
-

The value that iterators return - the character itself

- -
-
-

Constructor & Destructor Documentation

- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - -
boost::locale::boundary::segment< IteratorType >::segment ()
-
-inline
-
-

Default constructor

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
boost::locale::boundary::segment< IteratorType >::segment (iterator b,
iterator e,
rule_type r 
)
-
-inline
-
-

Create a segment using two iterators and a rule that represents this point

- -
-
-

Member Function Documentation

- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - - -
void boost::locale::boundary::segment< IteratorType >::begin (iterator const & v)
-
-inline
-
-

Set the start of the range

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - -
IteratorType boost::locale::boundary::segment< IteratorType >::begin () const
-
-inline
-
-

Get the start of the range

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - -
bool boost::locale::boundary::segment< IteratorType >::empty () const
-
-inline
-
-

Check if the segment is empty

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - - -
void boost::locale::boundary::segment< IteratorType >::end (iterator const & v)
-
-inline
-
-

Set the end of the range

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - -
IteratorType boost::locale::boundary::segment< IteratorType >::end () const
-
-inline
-
-

Set the end of the range

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - -
size_t boost::locale::boundary::segment< IteratorType >::length () const
-
-inline
-
-

Get the length of the text chunk

- -
-
- -
-
-
-template<typename IteratorType>
-
-template<class T , class A >
- - - - - -
- - - - - - - -
boost::locale::boundary::segment< IteratorType >::operator std::basic_string< char_type, T, A > () const
-
-inline
-
-

Convert the range to a string automatically

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - -
rule_type boost::locale::boundary::segment< IteratorType >::rule () const
-
-inline
-
-

Get the rule that is used for selection of this segment.

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - - -
void boost::locale::boundary::segment< IteratorType >::rule (rule_type r)
-
-inline
-
-

Set a rule that is used for segment selection

- -
-
- -
-
-
-template<typename IteratorType>
- - - - - -
- - - - - - - -
string_type boost::locale::boundary::segment< IteratorType >::str () const
-
-inline
-
-

Create a string from the range explicitly

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1segment.js b/doc/html/classboost_1_1locale_1_1boundary_1_1segment.js deleted file mode 100644 index 17bf21d9..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1segment.js +++ /dev/null @@ -1,23 +0,0 @@ -var classboost_1_1locale_1_1boundary_1_1segment = -[ - [ "char_type", "classboost_1_1locale_1_1boundary_1_1segment.html#ad3785355ea817c087bf428315a332169", null ], - [ "const_iterator", "classboost_1_1locale_1_1boundary_1_1segment.html#aa24dcd83aefe4925bfc11b0285e2517a", null ], - [ "difference_type", "classboost_1_1locale_1_1boundary_1_1segment.html#a79ee4d48248ffbc23f84a33355ca3b62", null ], - [ "iterator", "classboost_1_1locale_1_1boundary_1_1segment.html#a31960fd7b416715d012b686bc1f2c205", null ], - [ "string_type", "classboost_1_1locale_1_1boundary_1_1segment.html#a795d3328ac4d1692294f172c8480da47", null ], - [ "value_type", "classboost_1_1locale_1_1boundary_1_1segment.html#ab7ba55015262b4fb85bb531882a32ead", null ], - [ "segment", "classboost_1_1locale_1_1boundary_1_1segment.html#a4e785bc97dba9e8e25f18b43957723e5", null ], - [ "segment", "classboost_1_1locale_1_1boundary_1_1segment.html#aea72505bb4940b21bb00a3660fefb7b7", null ], - [ "begin", "classboost_1_1locale_1_1boundary_1_1segment.html#a5428ff79bc05b78989f56519b58a6d9c", null ], - [ "begin", "classboost_1_1locale_1_1boundary_1_1segment.html#a445da30d993880a1bd6d998e78755a44", null ], - [ "empty", "classboost_1_1locale_1_1boundary_1_1segment.html#a84022afa120893d0716fc446816eb83f", null ], - [ "end", "classboost_1_1locale_1_1boundary_1_1segment.html#aaedd7bb4760bae3dcdb165b330806261", null ], - [ "end", "classboost_1_1locale_1_1boundary_1_1segment.html#a7e36b7f1c88ad1f5756ba6e501454bc4", null ], - [ "length", "classboost_1_1locale_1_1boundary_1_1segment.html#a45edfde079b2afe36c55043c7a00b438", null ], - [ "operator std::basic_string< char_type, T, A >", "classboost_1_1locale_1_1boundary_1_1segment.html#a5230094b346bd26dc83529b47ca97153", null ], - [ "operator!=", "classboost_1_1locale_1_1boundary_1_1segment.html#a2e38c575af16843a3aa140a4332646a3", null ], - [ "operator==", "classboost_1_1locale_1_1boundary_1_1segment.html#a9a30e70d41591b25c8c77961bff00057", null ], - [ "rule", "classboost_1_1locale_1_1boundary_1_1segment.html#a5b36a522d7013306617dbcccc9919343", null ], - [ "rule", "classboost_1_1locale_1_1boundary_1_1segment.html#a962c26b7e2024767ad25f2be080fd53a", null ], - [ "str", "classboost_1_1locale_1_1boundary_1_1segment.html#ac139eae8c07ed82ba8343fedfa76c2bf", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1segment.png b/doc/html/classboost_1_1locale_1_1boundary_1_1segment.png deleted file mode 100644 index a590ecbc..00000000 Binary files a/doc/html/classboost_1_1locale_1_1boundary_1_1segment.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1segment__index-members.html b/doc/html/classboost_1_1locale_1_1boundary_1_1segment__index-members.html deleted file mode 100644 index c5cf9065..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1segment__index-members.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::boundary::segment_index< BaseIterator > Member List
-
-
- -

This is the complete list of members for boost::locale::boundary::segment_index< BaseIterator >, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
base_iterator typedefboost::locale::boundary::segment_index< BaseIterator >
begin() const boost::locale::boundary::segment_index< BaseIterator >inline
boundary_point_index< base_iterator > (defined in boost::locale::boundary::segment_index< BaseIterator >)boost::locale::boundary::segment_index< BaseIterator >friend
const_iterator typedefboost::locale::boundary::segment_index< BaseIterator >
end() const boost::locale::boundary::segment_index< BaseIterator >inline
find(base_iterator p) const boost::locale::boundary::segment_index< BaseIterator >inline
full_select() const boost::locale::boundary::segment_index< BaseIterator >inline
full_select(bool v)boost::locale::boundary::segment_index< BaseIterator >inline
iterator typedefboost::locale::boundary::segment_index< BaseIterator >
map(boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())boost::locale::boundary::segment_index< BaseIterator >inline
operator=(boundary_point_index< base_iterator > const &)boost::locale::boundary::segment_index< BaseIterator >
rule() const boost::locale::boundary::segment_index< BaseIterator >inline
rule(rule_type v)boost::locale::boundary::segment_index< BaseIterator >inline
segment_index()boost::locale::boundary::segment_index< BaseIterator >inline
segment_index(boundary_type type, base_iterator begin, base_iterator end, rule_type mask, std::locale const &loc=std::locale())boost::locale::boundary::segment_index< BaseIterator >inline
segment_index(boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())boost::locale::boundary::segment_index< BaseIterator >inline
segment_index(boundary_point_index< base_iterator > const &)boost::locale::boundary::segment_index< BaseIterator >
value_type typedefboost::locale::boundary::segment_index< BaseIterator >
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1segment__index.html b/doc/html/classboost_1_1locale_1_1boundary_1_1segment__index.html deleted file mode 100644 index 63714d78..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1segment__index.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::boundary::segment_index< BaseIterator > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::boundary::segment_index< BaseIterator > Class Template Reference
-
-
- -

This class holds an index of segments in the text range and allows to iterate over them. - More...

- -

#include <boost/locale/boundary/index.hpp>

- - - - - - - - - - -

-Public Types

typedef BaseIterator base_iterator
 
typedef unspecified_iterator_type iterator
 
typedef unspecified_iterator_type const_iterator
 
typedef segment< base_iteratorvalue_type
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 segment_index ()
 
 segment_index (boundary_type type, base_iterator begin, base_iterator end, rule_type mask, std::locale const &loc=std::locale())
 
 segment_index (boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())
 
 segment_index (boundary_point_index< base_iterator > const &)
 
segment_index const & operator= (boundary_point_index< base_iterator > const &)
 
void map (boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())
 
iterator begin () const
 
iterator end () const
 
iterator find (base_iterator p) const
 
rule_type rule () const
 
void rule (rule_type v)
 
bool full_select () const
 
void full_select (bool v)
 
- - - -

-Friends

-class boundary_point_index< base_iterator >
 
-

Detailed Description

-

template<typename BaseIterator>
-class boost::locale::boundary::segment_index< BaseIterator >

- -

This class holds an index of segments in the text range and allows to iterate over them.

-

This class is provides begin() and end() member functions that return bidirectional iterators to the segment objects.

-

It provides two options on way of selecting segments:

-
    -
  • rule(rule_type mask) - a mask that allows to select only specific types of segments according to various masks as word_any.
    - The default is to select any types of boundaries.
    - For example: using word boundary analysis, when the provided mask is word_kana then the iterators would iterate only over the words containing Kana letters and word_any would select all types of words excluding ranges that consist of white space and punctuation marks. So iterating over the text "to be or not to be?" with word_any rule would return segments "to", "be", "or", "not", "to", "be", instead of default "to", " ", "be", " ", "or", " ", "not", " ", "to", " ", "be", "?".
  • -
  • full_select(bool how) - a flag that defines the way a range is selected if the rule of the previous boundary point does not fit the selected rule.
    - For example: We want to fetch all sentences from the following text: "Hello! How\nare you?".
    - This text contains three boundary points separating it to sentences by different rules:
      -
    • The exclamation mark "!" ends the sentence "Hello!"
    • -
    • The line feed that splits the sentence "How\nare you?" into two parts.
    • -
    • The question mark that ends the second sentence.
      - If you would only change the rule() to sentence_term then the segment_index would provide two sentences "Hello!" and "are you?" as only them actually terminated with required terminator "!" or "?". But changing full_select() to true, the selected segment would include all the text up to previous valid boundary point and would return two expected sentences: "Hello!" and "How\nare you?".
    • -
    -
  • -
-

This class allows to find a segment according to the given iterator in range using find() member function.

-
Note
- -
See Also
- -
Examples:
boundary.cpp, and wboundary.cpp.
-

The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1boundary_1_1segment__index.js b/doc/html/classboost_1_1locale_1_1boundary_1_1segment__index.js deleted file mode 100644 index 6a2f9478..00000000 --- a/doc/html/classboost_1_1locale_1_1boundary_1_1segment__index.js +++ /dev/null @@ -1,21 +0,0 @@ -var classboost_1_1locale_1_1boundary_1_1segment__index = -[ - [ "base_iterator", "group__boundary.html#ga06f2faacb9d196ebc659ad5382ea2ca5", null ], - [ "const_iterator", "group__boundary.html#ga5f8e61b5babc3f0fa95f5fb8acae3724", null ], - [ "iterator", "group__boundary.html#gaf7a775e77dbbca3495e11d646df96fd2", null ], - [ "value_type", "group__boundary.html#ga067c663d18faee08adb3355701ae72ba", null ], - [ "segment_index", "group__boundary.html#ga2c354f4cc03677b58c97038cd84dc465", null ], - [ "segment_index", "group__boundary.html#ga06ddc335e95479ec51e9b16d0f829bb3", null ], - [ "segment_index", "group__boundary.html#ga46a5f584d5a1a43ad4bc0fff07183fcc", null ], - [ "segment_index", "group__boundary.html#ga8187f58177fc89ef2f8f818a37111363", null ], - [ "begin", "group__boundary.html#gaf74ff9c86c177efa8f74856277d659af", null ], - [ "end", "group__boundary.html#ga8757062d2446b35675b585651c5fea9f", null ], - [ "find", "group__boundary.html#ga2480236106971797460187777f2a4411", null ], - [ "full_select", "group__boundary.html#gace7faa10d536c85df0f2d5cac85f2bbc", null ], - [ "full_select", "group__boundary.html#ga205fd51daa439a18527675e663a0802f", null ], - [ "map", "group__boundary.html#gafa2a756b10d3522743204b45b794bb3e", null ], - [ "operator=", "group__boundary.html#gae7941dc874ca05d2ef2a03f781c5b78a", null ], - [ "rule", "group__boundary.html#ga72b4ceb5bacec0eded2601c43a4d671a", null ], - [ "rule", "group__boundary.html#gad19735180401edb15acbdbbeb21e5a73", null ], - [ "boundary_point_index< base_iterator >", "group__boundary.html#ga960209e8a9453221641eda6bd8c4989b", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1calendar-members.html b/doc/html/classboost_1_1locale_1_1calendar-members.html deleted file mode 100644 index c970433c..00000000 --- a/doc/html/classboost_1_1locale_1_1calendar-members.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::calendar Member List
-
-
- -

This is the complete list of members for boost::locale::calendar, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
calendar(std::ios_base &ios)boost::locale::calendar
calendar(std::locale const &l, std::string const &zone)boost::locale::calendar
calendar(std::locale const &l)boost::locale::calendar
calendar(std::string const &zone)boost::locale::calendar
calendar()boost::locale::calendar
calendar(calendar const &other)boost::locale::calendar
date_time (defined in boost::locale::calendar)boost::locale::calendarfriend
first_day_of_week() const boost::locale::calendar
get_locale() const boost::locale::calendar
get_time_zone() const boost::locale::calendar
greatest_minimum(period::period_type f) const boost::locale::calendar
is_gregorian() const boost::locale::calendar
least_maximum(period::period_type f) const boost::locale::calendar
maximum(period::period_type f) const boost::locale::calendar
minimum(period::period_type f) const boost::locale::calendar
operator!=(calendar const &other) const boost::locale::calendar
operator=(calendar const &other)boost::locale::calendar
operator==(calendar const &other) const boost::locale::calendar
~calendar() (defined in boost::locale::calendar)boost::locale::calendar
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1calendar.html b/doc/html/classboost_1_1locale_1_1calendar.html deleted file mode 100644 index 66175b37..00000000 --- a/doc/html/classboost_1_1locale_1_1calendar.html +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::calendar Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
- -
- -

this class provides an access to general calendar information. - More...

- -

#include <boost/locale/date_time.hpp>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 calendar (std::ios_base &ios)
 
 calendar (std::locale const &l, std::string const &zone)
 
 calendar (std::locale const &l)
 
 calendar (std::string const &zone)
 
 calendar ()
 
 calendar (calendar const &other)
 
calendar const & operator= (calendar const &other)
 
int minimum (period::period_type f) const
 
int greatest_minimum (period::period_type f) const
 
int maximum (period::period_type f) const
 
int least_maximum (period::period_type f) const
 
-int first_day_of_week () const
 Get first day of week for specific calendar, for example for US it is 1 - Sunday for France it is 2 - Monday.
 
std::locale get_locale () const
 
std::string get_time_zone () const
 
bool is_gregorian () const
 
bool operator== (calendar const &other) const
 
bool operator!= (calendar const &other) const
 
- - - -

-Friends

-class date_time
 
-

Detailed Description

-

this class provides an access to general calendar information.

-

This information is not connected to specific date but generic to locale, and timezone. It is used in obtaining general information about calendar and is essential for creation of date_time objects.

-
Examples:
calendar.cpp.
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - -
boost::locale::calendar::calendar (std::ios_base & ios)
-
-

Create calendar taking locale and timezone information from ios_base instance.

-
Note
throws std::bad_cast if ios does not have a locale with installed calendar_facet facet installed
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
boost::locale::calendar::calendar (std::locale const & l,
std::string const & zone 
)
-
-

Create calendar with locale l and time_zone zone

-
Note
throws std::bad_cast if loc does not have calendar_facet facet installed
- -
-
- -
-
- - - - - - - - -
boost::locale::calendar::calendar (std::locale const & l)
-
-

Create calendar with locale l and default timezone

-
Note
throws std::bad_cast if loc does not have calendar_facet facet installed
- -
-
- -
-
- - - - - - - - -
boost::locale::calendar::calendar (std::string const & zone)
-
-

Create calendar with default locale and timezone zone

-
Note
throws std::bad_cast if global locale does not have calendar_facet facet installed
- -
-
- -
-
- - - - - - - -
boost::locale::calendar::calendar ()
-
-

Create calendar with default locale and timezone

-
Note
throws std::bad_cast if global locale does not have calendar_facet facet installed
- -
-
- -
-
- - - - - - - - -
boost::locale::calendar::calendar (calendar const & other)
-
-

copy calendar

- -
-
-

Member Function Documentation

- -
-
- - - - - - - -
std::locale boost::locale::calendar::get_locale () const
-
-

get calendar's locale

- -
-
- -
-
- - - - - - - -
std::string boost::locale::calendar::get_time_zone () const
-
-

get calendar's time zone

- -
-
- -
-
- - - - - - - - -
int boost::locale::calendar::greatest_minimum (period::period_type f) const
-
-

Get greatest possible minimum value for period f, For example for period::day it is 1, but may be different for other calendars.

- -
-
- -
-
- - - - - - - -
bool boost::locale::calendar::is_gregorian () const
-
-

Check if the calendar is Gregorian

-
Examples:
calendar.cpp.
-
-
-
- -
-
- - - - - - - - -
int boost::locale::calendar::least_maximum (period::period_type f) const
-
-

Get least maximum value for period f, For example for Gregorian calendar's maximum period::day it is 28.

- -
-
- -
-
- - - - - - - - -
int boost::locale::calendar::maximum (period::period_type f) const
-
-

Get maximum value for period f, For example for Gregorian calendar's maximum period::day it is 31.

- -
-
- -
-
- - - - - - - - -
int boost::locale::calendar::minimum (period::period_type f) const
-
-

Get minimum value for period f, For example for period::day it is 1.

- -
-
- -
-
- - - - - - - - -
bool boost::locale::calendar::operator!= (calendar const & other) const
-
-

Opposite of ==

- -
-
- -
-
- - - - - - - - -
calendar const& boost::locale::calendar::operator= (calendar const & other)
-
-

assign calendar

- -
-
- -
-
- - - - - - - - -
bool boost::locale::calendar::operator== (calendar const & other) const
-
-

Compare calendars for equivalence: i.e. calendar types, time zones etc.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1calendar.js b/doc/html/classboost_1_1locale_1_1calendar.js deleted file mode 100644 index f2adafaf..00000000 --- a/doc/html/classboost_1_1locale_1_1calendar.js +++ /dev/null @@ -1,22 +0,0 @@ -var classboost_1_1locale_1_1calendar = -[ - [ "calendar", "classboost_1_1locale_1_1calendar.html#a889746f73b03bb21f5c8459cbe9b293d", null ], - [ "calendar", "classboost_1_1locale_1_1calendar.html#aece160bf9ded6145ac5a066448085bae", null ], - [ "calendar", "classboost_1_1locale_1_1calendar.html#ad9f47a96941c041996da64384bc5879d", null ], - [ "calendar", "classboost_1_1locale_1_1calendar.html#af9538c3aab4b8eaf7229ed2d9af18328", null ], - [ "calendar", "classboost_1_1locale_1_1calendar.html#a56c55c24fbbb29fac5a18c44d3a27beb", null ], - [ "~calendar", "classboost_1_1locale_1_1calendar.html#a378ecd62f6cc64928ab308b180c98b21", null ], - [ "calendar", "classboost_1_1locale_1_1calendar.html#ad33ad15b5b032ba5234ebe5959159668", null ], - [ "first_day_of_week", "classboost_1_1locale_1_1calendar.html#a8144b98a316798476040348483fe2a6e", null ], - [ "get_locale", "classboost_1_1locale_1_1calendar.html#aaf669f493ef0226aefbb6d13db8c27d1", null ], - [ "get_time_zone", "classboost_1_1locale_1_1calendar.html#af4063debebd6cc08cf25171ce5ee220e", null ], - [ "greatest_minimum", "classboost_1_1locale_1_1calendar.html#a3c2475ee3ebb107e47701cf732532f9f", null ], - [ "is_gregorian", "classboost_1_1locale_1_1calendar.html#a657ece3d3d59b8fc3c817bc05227620b", null ], - [ "least_maximum", "classboost_1_1locale_1_1calendar.html#a4c708d889ef92487982d918a78be5eda", null ], - [ "maximum", "classboost_1_1locale_1_1calendar.html#abd88cbf4c3b9f072430f9e7d9ab2d744", null ], - [ "minimum", "classboost_1_1locale_1_1calendar.html#a6670c7319dcaec257819b7a802d2c5f7", null ], - [ "operator!=", "classboost_1_1locale_1_1calendar.html#ab0d93fe1d3bfb7b66f8ef631ede93236", null ], - [ "operator=", "classboost_1_1locale_1_1calendar.html#a7125a6c3f3d629f871ddb0f3c2f5a181", null ], - [ "operator==", "classboost_1_1locale_1_1calendar.html#a8939fba5987659b3153cb18eea9af969", null ], - [ "date_time", "classboost_1_1locale_1_1calendar.html#a7c627d823bfb1186af76ed36016cbb31", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1calendar__facet-members.html b/doc/html/classboost_1_1locale_1_1calendar__facet-members.html deleted file mode 100644 index dbd8eda7..00000000 --- a/doc/html/classboost_1_1locale_1_1calendar__facet-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::calendar_facet Member List
-
-
- -

This is the complete list of members for boost::locale::calendar_facet, including all inherited members.

- - - - -
calendar_facet(size_t refs=0)boost::locale::calendar_facetinline
create_calendar() const =0boost::locale::calendar_facetpure virtual
idboost::locale::calendar_facetstatic
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1calendar__facet.html b/doc/html/classboost_1_1locale_1_1calendar__facet.html deleted file mode 100644 index 9ad2b825..00000000 --- a/doc/html/classboost_1_1locale_1_1calendar__facet.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::calendar_facet Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::calendar_facet Class Referenceabstract
-
-
- -

the facet that generates calendar for specific locale - More...

- -

#include <boost/locale/date_time_facet.hpp>

-
-Inheritance diagram for boost::locale::calendar_facet:
-
-
- - - -
- - - - - - -

-Public Member Functions

 calendar_facet (size_t refs=0)
 
virtual abstract_calendarcreate_calendar () const =0
 
- - - -

-Static Public Attributes

static std::locale::id id
 
-

Detailed Description

-

the facet that generates calendar for specific locale

-

Constructor & Destructor Documentation

- -
-
- - - - - -
- - - - - - - - -
boost::locale::calendar_facet::calendar_facet (size_t refs = 0)
-
-inline
-
-

Basic constructor

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
virtual abstract_calendar* boost::locale::calendar_facet::create_calendar () const
-
-pure virtual
-
-

Create a new calendar that points to current point of time.

- -
-
-

Member Data Documentation

- -
-
- - - - - -
- - - - -
std::locale::id boost::locale::calendar_facet::id
-
-static
-
-

Locale id (needed to work with std::locale)

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1calendar__facet.js b/doc/html/classboost_1_1locale_1_1calendar__facet.js deleted file mode 100644 index e440d757..00000000 --- a/doc/html/classboost_1_1locale_1_1calendar__facet.js +++ /dev/null @@ -1,6 +0,0 @@ -var classboost_1_1locale_1_1calendar__facet = -[ - [ "calendar_facet", "classboost_1_1locale_1_1calendar__facet.html#a04e5d7baa3bb0f362b0c2faac0c5d376", null ], - [ "create_calendar", "classboost_1_1locale_1_1calendar__facet.html#a6db1915db3ad99ea65334dddaa7dcc28", null ], - [ "id", "classboost_1_1locale_1_1calendar__facet.html#a88dc563112346949302fd95df833089c", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1calendar__facet.png b/doc/html/classboost_1_1locale_1_1calendar__facet.png deleted file mode 100644 index 4b2d99fd..00000000 Binary files a/doc/html/classboost_1_1locale_1_1calendar__facet.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1collator-members.html b/doc/html/classboost_1_1locale_1_1collator-members.html deleted file mode 100644 index 5d53c2d0..00000000 --- a/doc/html/classboost_1_1locale_1_1collator-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::collator< CharType > Member List
-
-
- -

This is the complete list of members for boost::locale::collator< CharType >, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - -
char_type typedefboost::locale::collator< CharType >
collator(size_t refs=0)boost::locale::collator< CharType >inlineprotected
compare(level_type level, char_type const *b1, char_type const *e1, char_type const *b2, char_type const *e2) const boost::locale::collator< CharType >inline
compare(level_type level, string_type const &l, string_type const &r) const boost::locale::collator< CharType >inline
do_compare(char_type const *b1, char_type const *e1, char_type const *b2, char_type const *e2) const boost::locale::collator< CharType >inlineprotectedvirtual
do_compare(level_type level, char_type const *b1, char_type const *e1, char_type const *b2, char_type const *e2) const =0boost::locale::collator< CharType >protectedpure virtual
do_hash(char_type const *b, char_type const *e) const boost::locale::collator< CharType >inlineprotectedvirtual
do_hash(level_type level, char_type const *b, char_type const *e) const =0boost::locale::collator< CharType >protectedpure virtual
do_transform(char_type const *b, char_type const *e) const boost::locale::collator< CharType >inlineprotectedvirtual
do_transform(level_type level, char_type const *b, char_type const *e) const =0boost::locale::collator< CharType >protectedpure virtual
hash(level_type level, char_type const *b, char_type const *e) const boost::locale::collator< CharType >inline
hash(level_type level, string_type const &s) const boost::locale::collator< CharType >inline
identical enum valueboost::locale::collator_base
level_type enum nameboost::locale::collator_base
primary enum valueboost::locale::collator_base
quaternary enum valueboost::locale::collator_base
secondary enum valueboost::locale::collator_base
string_type typedefboost::locale::collator< CharType >
tertiary enum valueboost::locale::collator_base
transform(level_type level, char_type const *b, char_type const *e) const boost::locale::collator< CharType >inline
transform(level_type level, string_type const &s) const boost::locale::collator< CharType >inline
~collator() (defined in boost::locale::collator< CharType >)boost::locale::collator< CharType >inlineprotectedvirtual
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1collator.html b/doc/html/classboost_1_1locale_1_1collator.html deleted file mode 100644 index b2f92f44..00000000 --- a/doc/html/classboost_1_1locale_1_1collator.html +++ /dev/null @@ -1,756 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::collator< CharType > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::collator< CharType > Class Template Referenceabstract
-
-
- -

Collation facet. - More...

- -

#include <boost/locale/collator.hpp>

-
-Inheritance diagram for boost::locale::collator< CharType >:
-
-
- - -boost::locale::collator_base - -
- - - - - - - - - -

-Public Types

typedef CharType char_type
 
typedef std::basic_string
-< CharType > 
string_type
 
- Public Types inherited from boost::locale::collator_base
enum  level_type {
-  primary = 0, -secondary = 1, -tertiary = 2, -quaternary = 3, -
-  identical = 4 -
- }
 
- - - - - - - - - - - - - -

-Public Member Functions

int compare (level_type level, char_type const *b1, char_type const *e1, char_type const *b2, char_type const *e2) const
 
string_type transform (level_type level, char_type const *b, char_type const *e) const
 
long hash (level_type level, char_type const *b, char_type const *e) const
 
int compare (level_type level, string_type const &l, string_type const &r) const
 
long hash (level_type level, string_type const &s) const
 
string_type transform (level_type level, string_type const &s) const
 
- - - - - - - - - - - - - - - -

-Protected Member Functions

 collator (size_t refs=0)
 
virtual int do_compare (char_type const *b1, char_type const *e1, char_type const *b2, char_type const *e2) const
 
virtual string_type do_transform (char_type const *b, char_type const *e) const
 
virtual long do_hash (char_type const *b, char_type const *e) const
 
virtual int do_compare (level_type level, char_type const *b1, char_type const *e1, char_type const *b2, char_type const *e2) const =0
 
virtual string_type do_transform (level_type level, char_type const *b, char_type const *e) const =0
 
virtual long do_hash (level_type level, char_type const *b, char_type const *e) const =0
 
-

Detailed Description

-

template<typename CharType>
-class boost::locale::collator< CharType >

- -

Collation facet.

-

It reimplements standard C++ std::collate, allowing usage of std::locale for direct string comparison

-

Member Typedef Documentation

- -
-
-
-template<typename CharType >
- - - - -
typedef CharType boost::locale::collator< CharType >::char_type
-
-

Type of the underlying character

- -
-
- -
-
-
-template<typename CharType >
- - - - -
typedef std::basic_string<CharType> boost::locale::collator< CharType >::string_type
-
-

Type of string used with this facet

- -
-
-

Constructor & Destructor Documentation

- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - -
boost::locale::collator< CharType >::collator (size_t refs = 0)
-
-inlineprotected
-
-

constructor of the collator object

- -
-
-

Member Function Documentation

- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int boost::locale::collator< CharType >::compare (level_type level,
char_type const * b1,
char_type const * e1,
char_type const * b2,
char_type const * e2 
) const
-
-inline
-
-

Compare two strings in rage [b1,e1), [b2,e2) according using a collation level level. Calls do_compare

-

Returns -1 if the first of the two strings sorts before the seconds, returns 1 if sorts after and 0 if they considered equal.

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
int boost::locale::collator< CharType >::compare (level_type level,
string_type const & l,
string_type const & r 
) const
-
-inline
-
-

Compare two strings l and r using collation level level

-

Returns -1 if the first of the two strings sorts before the seconds, returns 1 if sorts after and 0 if they considered equal.

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
virtual int boost::locale::collator< CharType >::do_compare (char_type const * b1,
char_type const * e1,
char_type const * b2,
char_type const * e2 
) const
-
-inlineprotectedvirtual
-
-

This function is used to override default collation function that does not take in account collation level. Uses primary level

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
virtual int boost::locale::collator< CharType >::do_compare (level_type level,
char_type const * b1,
char_type const * e1,
char_type const * b2,
char_type const * e2 
) const
-
-protectedpure virtual
-
-

Actual function that performs comparison between the strings. For details see compare member function. Can be overridden.

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual long boost::locale::collator< CharType >::do_hash (char_type const * b,
char_type const * e 
) const
-
-inlineprotectedvirtual
-
-

This function is used to override default collation function that does not take in account collation level. Uses primary level

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
virtual long boost::locale::collator< CharType >::do_hash (level_type level,
char_type const * b,
char_type const * e 
) const
-
-protectedpure virtual
-
-

Actual function that calculates hash. For details see hash member function. Can be overridden.

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual string_type boost::locale::collator< CharType >::do_transform (char_type const * b,
char_type const * e 
) const
-
-inlineprotectedvirtual
-
-

This function is used to override default collation function that does not take in account collation level. Uses primary level

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
virtual string_type boost::locale::collator< CharType >::do_transform (level_type level,
char_type const * b,
char_type const * e 
) const
-
-protectedpure virtual
-
-

Actual function that performs transformation. For details see transform member function. Can be overridden.

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
long boost::locale::collator< CharType >::hash (level_type level,
char_type const * b,
char_type const * e 
) const
-
-inline
-
-

Calculate a hash of a text in range [b,e). The value can be used for collation sensitive string comparison.

-

If compare(level,b1,e1,b2,e2) == 0 then hash(level,b1,e1) == hash(level,b2,e2)

-

Calls do_hash

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - -
long boost::locale::collator< CharType >::hash (level_type level,
string_type const & s 
) const
-
-inline
-
-

Calculate a hash that can be used for collation sensitive string comparison of a string s

-

If compare(level,s1,s2) == 0 then hash(level,s1) == hash(level,s2)

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
string_type boost::locale::collator< CharType >::transform (level_type level,
char_type const * b,
char_type const * e 
) const
-
-inline
-
-

Create a binary string that can be compared to other in order to get collation order. The string is created for text in range [b,e). It is useful for collation of multiple strings for text.

-

The transformation follows these rules:

-
compare(level,b1,e1,b2,e2) == sign( transform(level,b1,e1).compare(transform(level,b2,e2)) );
-

Calls do_transform

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - -
string_type boost::locale::collator< CharType >::transform (level_type level,
string_type const & s 
) const
-
-inline
-
-

Create a binary string from string s, that can be compared to other, useful for collation of multiple strings.

-

The transformation follows these rules:

-
compare(level,s1,s2) == sign( transform(level,s1).compare(transform(level,s2)) );
-
-
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1collator.js b/doc/html/classboost_1_1locale_1_1collator.js deleted file mode 100644 index 0b473039..00000000 --- a/doc/html/classboost_1_1locale_1_1collator.js +++ /dev/null @@ -1,19 +0,0 @@ -var classboost_1_1locale_1_1collator = -[ - [ "char_type", "classboost_1_1locale_1_1collator.html#a2b74a0b9a613a4a4337632bf34644c6f", null ], - [ "string_type", "classboost_1_1locale_1_1collator.html#a106a3fe9e068530013c428661758733d", null ], - [ "collator", "classboost_1_1locale_1_1collator.html#a25a8b21a756756e850a7488a54610053", null ], - [ "~collator", "classboost_1_1locale_1_1collator.html#a290227d0745b79033f6ec24b5b989527", null ], - [ "compare", "classboost_1_1locale_1_1collator.html#ab90dc7bb909a71d3cd9a5e8d7b2eb80e", null ], - [ "compare", "classboost_1_1locale_1_1collator.html#a9ccdfec693cdc5a71b5adc1f083881bf", null ], - [ "do_compare", "classboost_1_1locale_1_1collator.html#ada3a683bed35789e081b710a8e9a9a07", null ], - [ "do_compare", "classboost_1_1locale_1_1collator.html#a5d04cf6c4ab84cf3eac20be402ac6bf9", null ], - [ "do_hash", "classboost_1_1locale_1_1collator.html#aa093cd4ed0b4be4a5e38f0f04a56ac0b", null ], - [ "do_hash", "classboost_1_1locale_1_1collator.html#a7748d5a6ef0d4dd149096b080938d4c4", null ], - [ "do_transform", "classboost_1_1locale_1_1collator.html#a84b5cb6ff01cf1a1330e1556a2c674d5", null ], - [ "do_transform", "classboost_1_1locale_1_1collator.html#a0ee27b7bc751b7a7fda4de1b0d896d57", null ], - [ "hash", "classboost_1_1locale_1_1collator.html#a89752e2023643f972b6cc8024340d5d4", null ], - [ "hash", "classboost_1_1locale_1_1collator.html#a76000f6cf10bfe63dd7fd10652de3f5b", null ], - [ "transform", "classboost_1_1locale_1_1collator.html#a8dc6443fb193616332ca50f207a9b189", null ], - [ "transform", "classboost_1_1locale_1_1collator.html#aa9976b4fa0fba6c5d1a1dea9b5ef02ca", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1collator.png b/doc/html/classboost_1_1locale_1_1collator.png deleted file mode 100644 index d9208253..00000000 Binary files a/doc/html/classboost_1_1locale_1_1collator.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1collator__base-members.html b/doc/html/classboost_1_1locale_1_1collator__base-members.html deleted file mode 100644 index 7da159ff..00000000 --- a/doc/html/classboost_1_1locale_1_1collator__base-members.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::collator_base Member List
-
- -
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1collator__base.html b/doc/html/classboost_1_1locale_1_1collator__base.html deleted file mode 100644 index 56d9c057..00000000 --- a/doc/html/classboost_1_1locale_1_1collator__base.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::collator_base Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::collator_base Class Reference
-
-
- -

a base class that includes collation level flags - More...

- -

#include <boost/locale/collator.hpp>

-
-Inheritance diagram for boost::locale::collator_base:
-
-
- - -boost::locale::collator< CharType > - -
- - - - -

-Public Types

enum  level_type {
-  primary = 0, -secondary = 1, -tertiary = 2, -quaternary = 3, -
-  identical = 4 -
- }
 
-

Detailed Description

-

a base class that includes collation level flags

-

Member Enumeration Documentation

- -
-
-

Unicode collation level types

- - - - - - -
Enumerator
primary  -

1st collation level: base letters

-
secondary  -

2nd collation level: letters and accents

-
tertiary  -

3rd collation level: letters, accents and case

-
quaternary  -

4th collation level: letters, accents, case and punctuation

-
identical  -

identical collation level: include code-point comparison

-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1collator__base.js b/doc/html/classboost_1_1locale_1_1collator__base.js deleted file mode 100644 index 6bb54438..00000000 --- a/doc/html/classboost_1_1locale_1_1collator__base.js +++ /dev/null @@ -1,10 +0,0 @@ -var classboost_1_1locale_1_1collator__base = -[ - [ "level_type", "classboost_1_1locale_1_1collator__base.html#a73c12de809733273304fef7f0af28b22", [ - [ "primary", "classboost_1_1locale_1_1collator__base.html#a73c12de809733273304fef7f0af28b22ae57e842f398a27ee490208f5af39675b", null ], - [ "secondary", "classboost_1_1locale_1_1collator__base.html#a73c12de809733273304fef7f0af28b22ad8e103443d69f03f00ac4b68a7181866", null ], - [ "tertiary", "classboost_1_1locale_1_1collator__base.html#a73c12de809733273304fef7f0af28b22a3a852752e9663b7b3340c435d0cfe36a", null ], - [ "quaternary", "classboost_1_1locale_1_1collator__base.html#a73c12de809733273304fef7f0af28b22a22ca1875fd63667fbb018df16b0aedba", null ], - [ "identical", "classboost_1_1locale_1_1collator__base.html#a73c12de809733273304fef7f0af28b22a3c209055ff840e311581ab43013026f2", null ] - ] ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1collator__base.png b/doc/html/classboost_1_1locale_1_1collator__base.png deleted file mode 100644 index bdcb7824..00000000 Binary files a/doc/html/classboost_1_1locale_1_1collator__base.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1conv_1_1conversion__error-members.html b/doc/html/classboost_1_1locale_1_1conv_1_1conversion__error-members.html deleted file mode 100644 index 457edb89..00000000 --- a/doc/html/classboost_1_1locale_1_1conv_1_1conversion__error-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::conv::conversion_error Member List
-
-
- -

This is the complete list of members for boost::locale::conv::conversion_error, including all inherited members.

- - -
conversion_error() (defined in boost::locale::conv::conversion_error)boost::locale::conv::conversion_errorinline
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1conv_1_1conversion__error.html b/doc/html/classboost_1_1locale_1_1conv_1_1conversion__error.html deleted file mode 100644 index a62891d4..00000000 --- a/doc/html/classboost_1_1locale_1_1conv_1_1conversion__error.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::conv::conversion_error Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::conv::conversion_error Class Reference
-
-
- -

The excepton that is thrown in case of conversion error. - More...

- -

#include <boost/locale/encoding_errors.hpp>

-
-Inheritance diagram for boost::locale::conv::conversion_error:
-
-
- - - -
-

Detailed Description

-

The excepton that is thrown in case of conversion error.

-

The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1conv_1_1conversion__error.js b/doc/html/classboost_1_1locale_1_1conv_1_1conversion__error.js deleted file mode 100644 index 4ff91be3..00000000 --- a/doc/html/classboost_1_1locale_1_1conv_1_1conversion__error.js +++ /dev/null @@ -1,4 +0,0 @@ -var classboost_1_1locale_1_1conv_1_1conversion__error = -[ - [ "conversion_error", "classboost_1_1locale_1_1conv_1_1conversion__error.html#aba6b713c35f3538d9e130d3c6cd32d49", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1conv_1_1conversion__error.png b/doc/html/classboost_1_1locale_1_1conv_1_1conversion__error.png deleted file mode 100644 index 388dcb06..00000000 Binary files a/doc/html/classboost_1_1locale_1_1conv_1_1conversion__error.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1conv_1_1invalid__charset__error-members.html b/doc/html/classboost_1_1locale_1_1conv_1_1invalid__charset__error-members.html deleted file mode 100644 index 098806d5..00000000 --- a/doc/html/classboost_1_1locale_1_1conv_1_1invalid__charset__error-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::conv::invalid_charset_error Member List
-
-
- -

This is the complete list of members for boost::locale::conv::invalid_charset_error, including all inherited members.

- - -
invalid_charset_error(std::string charset)boost::locale::conv::invalid_charset_errorinline
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1conv_1_1invalid__charset__error.html b/doc/html/classboost_1_1locale_1_1conv_1_1invalid__charset__error.html deleted file mode 100644 index da303591..00000000 --- a/doc/html/classboost_1_1locale_1_1conv_1_1invalid__charset__error.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::conv::invalid_charset_error Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::conv::invalid_charset_error Class Reference
-
-
- -

This exception is thrown in case of use of unsupported or invalid character set. - More...

- -

#include <boost/locale/encoding_errors.hpp>

-
-Inheritance diagram for boost::locale::conv::invalid_charset_error:
-
-
- - - -
- - - - - -

-Public Member Functions

invalid_charset_error (std::string charset)
 Create an error for charset charset.
 
-

Detailed Description

-

This exception is thrown in case of use of unsupported or invalid character set.

-

The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1conv_1_1invalid__charset__error.js b/doc/html/classboost_1_1locale_1_1conv_1_1invalid__charset__error.js deleted file mode 100644 index 4de543bc..00000000 --- a/doc/html/classboost_1_1locale_1_1conv_1_1invalid__charset__error.js +++ /dev/null @@ -1,4 +0,0 @@ -var classboost_1_1locale_1_1conv_1_1invalid__charset__error = -[ - [ "invalid_charset_error", "classboost_1_1locale_1_1conv_1_1invalid__charset__error.html#ae951e3a99a115a60cc87d4d258764681", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1conv_1_1invalid__charset__error.png b/doc/html/classboost_1_1locale_1_1conv_1_1invalid__charset__error.png deleted file mode 100644 index a3fd427d..00000000 Binary files a/doc/html/classboost_1_1locale_1_1conv_1_1invalid__charset__error.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1converter-members.html b/doc/html/classboost_1_1locale_1_1converter-members.html deleted file mode 100644 index 1d4385e4..00000000 --- a/doc/html/classboost_1_1locale_1_1converter-members.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::converter< CharType > Member List
-
-
- -

This is the complete list of members for boost::locale::converter< CharType >, including all inherited members.

- - - - - - - - - - -
case_folding enum valueboost::locale::converter_base
conversion_type enum nameboost::locale::converter_base
convert(conversion_type how, Char const *begin, Char const *end, int flags=0) const =0boost::locale::converter< CharType >pure virtual
converter(size_t refs=0)boost::locale::converter< CharType >inline
idboost::locale::converter< CharType >static
lower_case enum valueboost::locale::converter_base
normalization enum valueboost::locale::converter_base
title_case enum valueboost::locale::converter_base
upper_case enum valueboost::locale::converter_base
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1converter.html b/doc/html/classboost_1_1locale_1_1converter.html deleted file mode 100644 index 2341def3..00000000 --- a/doc/html/classboost_1_1locale_1_1converter.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::converter< CharType > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::converter< CharType > Class Template Referenceabstract
-
-
- -

The facet that implements text manipulation. - More...

- -

#include <boost/locale/conversion.hpp>

-
-Inheritance diagram for boost::locale::converter< CharType >:
-
-
- - -boost::locale::converter_base - -
- - - - - - - -

-Public Member Functions

converter (size_t refs=0)
 Standard constructor.
 
virtual std::basic_string< Char > convert (conversion_type how, Char const *begin, Char const *end, int flags=0) const =0
 
- - - - -

-Static Public Attributes

-static std::locale::id id
 Locale identification.
 
- - - - -

-Additional Inherited Members

- Public Types inherited from boost::locale::converter_base
enum  conversion_type {
-  normalization, -upper_case, -lower_case, -case_folding, -
-  title_case -
- }
 
-

Detailed Description

-

template<typename CharType>
-class boost::locale::converter< CharType >

- -

The facet that implements text manipulation.

-

It is used to performs text conversion operations defined by conversion_type. It is specialized for four types of characters char, wchar_t, char16_t, char32_t

-

Member Function Documentation

- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
virtual std::basic_string<Char> boost::locale::converter< CharType >::convert (conversion_type how,
Char const * begin,
Char const * end,
int flags = 0 
) const
-
-pure virtual
-
-

Convert text in range [begin, end) according to conversion method how. Parameter flags is used for specification of normalization method like nfd, nfc etc.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1converter.js b/doc/html/classboost_1_1locale_1_1converter.js deleted file mode 100644 index 85d8bda5..00000000 --- a/doc/html/classboost_1_1locale_1_1converter.js +++ /dev/null @@ -1,6 +0,0 @@ -var classboost_1_1locale_1_1converter = -[ - [ "converter", "classboost_1_1locale_1_1converter.html#aa9bd91f48f4ce7b6c270c5281c8b0313", null ], - [ "convert", "classboost_1_1locale_1_1converter.html#a85ce9bf935c59b2fdd196ed40a6a5f85", null ], - [ "id", "classboost_1_1locale_1_1converter.html#ae18f930e621fbe9848d08a91138f37e1", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1converter.png b/doc/html/classboost_1_1locale_1_1converter.png deleted file mode 100644 index 3167b2d7..00000000 Binary files a/doc/html/classboost_1_1locale_1_1converter.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1converter__base-members.html b/doc/html/classboost_1_1locale_1_1converter__base-members.html deleted file mode 100644 index ac7185a6..00000000 --- a/doc/html/classboost_1_1locale_1_1converter__base-members.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::converter_base Member List
-
- -
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1converter__base.html b/doc/html/classboost_1_1locale_1_1converter__base.html deleted file mode 100644 index 0bfcbaf9..00000000 --- a/doc/html/classboost_1_1locale_1_1converter__base.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::converter_base Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::converter_base Class Reference
-
-
- -

This class provides base flags for text manipulation. It is used as base for converter facet. - More...

- -

#include <boost/locale/conversion.hpp>

-
-Inheritance diagram for boost::locale::converter_base:
-
-
- - -boost::locale::converter< CharType > - -
- - - - -

-Public Types

enum  conversion_type {
-  normalization, -upper_case, -lower_case, -case_folding, -
-  title_case -
- }
 
-

Detailed Description

-

This class provides base flags for text manipulation. It is used as base for converter facet.

-

Member Enumeration Documentation

- -
-
-

The flag used for facet - the type of operation to perform

- - - - - - -
Enumerator
normalization  -

Apply Unicode normalization on the text.

-
upper_case  -

Convert text to upper case.

-
lower_case  -

Convert text to lower case.

-
case_folding  -

Fold case in the text.

-
title_case  -

Convert text to title case.

-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1converter__base.js b/doc/html/classboost_1_1locale_1_1converter__base.js deleted file mode 100644 index 1fc3121f..00000000 --- a/doc/html/classboost_1_1locale_1_1converter__base.js +++ /dev/null @@ -1,10 +0,0 @@ -var classboost_1_1locale_1_1converter__base = -[ - [ "conversion_type", "classboost_1_1locale_1_1converter__base.html#a726bc2bbcbb6f1e550cca14163fb669b", [ - [ "normalization", "classboost_1_1locale_1_1converter__base.html#a726bc2bbcbb6f1e550cca14163fb669bae20bf7eface68062a0b9f2396833354a", null ], - [ "upper_case", "classboost_1_1locale_1_1converter__base.html#a726bc2bbcbb6f1e550cca14163fb669ba0fee54e09732910ab30856d0e34c8ad2", null ], - [ "lower_case", "classboost_1_1locale_1_1converter__base.html#a726bc2bbcbb6f1e550cca14163fb669ba2c5c38c6bc6ca01fb9e573c148ba8ebe", null ], - [ "case_folding", "classboost_1_1locale_1_1converter__base.html#a726bc2bbcbb6f1e550cca14163fb669ba91936aed5b7c3a82b4d2c2354ead03d3", null ], - [ "title_case", "classboost_1_1locale_1_1converter__base.html#a726bc2bbcbb6f1e550cca14163fb669bac136b257286085de7bd7eb4a7876dfa7", null ] - ] ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1converter__base.png b/doc/html/classboost_1_1locale_1_1converter__base.png deleted file mode 100644 index 4dd2d686..00000000 Binary files a/doc/html/classboost_1_1locale_1_1converter__base.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1date__time-members.html b/doc/html/classboost_1_1locale_1_1date__time-members.html deleted file mode 100644 index b0b7d46a..00000000 --- a/doc/html/classboost_1_1locale_1_1date__time-members.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::date_time Member List
-
-
- -

This is the complete list of members for boost::locale::date_time, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
date_time()boost::locale::date_time
date_time(date_time const &other)boost::locale::date_time
date_time(date_time const &other, date_time_period_set const &set)boost::locale::date_time
date_time(double time)boost::locale::date_time
date_time(double time, calendar const &cal)boost::locale::date_time
date_time(calendar const &cal)boost::locale::date_time
date_time(date_time_period_set const &set)boost::locale::date_time
date_time(date_time_period_set const &set, calendar const &cal)boost::locale::date_time
difference(date_time const &other, period::period_type f) const boost::locale::date_time
get(period::period_type f) const boost::locale::date_time
is_in_daylight_saving_time() const boost::locale::date_time
maximum(period::period_type f) const boost::locale::date_time
minimum(period::period_type f) const boost::locale::date_time
operator!=(date_time const &other) const boost::locale::date_time
operator+(period::period_type f) const boost::locale::date_timeinline
operator+(date_time_period const &v) const boost::locale::date_time
operator+(date_time_period_set const &v) const boost::locale::date_time
operator+=(period::period_type f)boost::locale::date_timeinline
operator+=(date_time_period const &v)boost::locale::date_time
operator+=(date_time_period_set const &v)boost::locale::date_time
operator-(period::period_type f) const boost::locale::date_timeinline
operator-(date_time_period const &v) const boost::locale::date_time
operator-(date_time_period_set const &v) const boost::locale::date_time
operator-=(period::period_type f)boost::locale::date_timeinline
operator-=(date_time_period const &v)boost::locale::date_time
operator-=(date_time_period_set const &v)boost::locale::date_time
operator/(period::period_type f) const boost::locale::date_timeinline
operator<(date_time const &other) const boost::locale::date_time
operator<<(period::period_type f) const boost::locale::date_timeinline
operator<<(date_time_period const &v) const boost::locale::date_time
operator<<(date_time_period_set const &v) const boost::locale::date_time
operator<<=(period::period_type f)boost::locale::date_timeinline
operator<<=(date_time_period const &v)boost::locale::date_time
operator<<=(date_time_period_set const &v)boost::locale::date_time
operator<=(date_time const &other) const boost::locale::date_time
operator=(date_time const &other)boost::locale::date_time
operator=(date_time_period_set const &f)boost::locale::date_time
operator==(date_time const &other) const boost::locale::date_time
operator>(date_time const &other) const boost::locale::date_time
operator>=(date_time const &other) const boost::locale::date_time
operator>>(period::period_type f) const boost::locale::date_timeinline
operator>>(date_time_period const &v) const boost::locale::date_time
operator>>(date_time_period_set const &v) const boost::locale::date_time
operator>>=(period::period_type f)boost::locale::date_timeinline
operator>>=(date_time_period const &v)boost::locale::date_time
operator>>=(date_time_period_set const &v)boost::locale::date_time
set(period::period_type f, int v)boost::locale::date_time
swap(date_time &other)boost::locale::date_time
time() const boost::locale::date_time
time(double v)boost::locale::date_time
~date_time() (defined in boost::locale::date_time)boost::locale::date_time
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1date__time.html b/doc/html/classboost_1_1locale_1_1date__time.html deleted file mode 100644 index b35d151c..00000000 --- a/doc/html/classboost_1_1locale_1_1date__time.html +++ /dev/null @@ -1,1190 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::date_time Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
- -
- -

this class represents a date time and allows to perform various operation according to the locale settings. - More...

- -

#include <boost/locale/date_time.hpp>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 date_time ()
 
 date_time (date_time const &other)
 
 date_time (date_time const &other, date_time_period_set const &set)
 
date_time const & operator= (date_time const &other)
 
 date_time (double time)
 
 date_time (double time, calendar const &cal)
 
 date_time (calendar const &cal)
 
 date_time (date_time_period_set const &set)
 
 date_time (date_time_period_set const &set, calendar const &cal)
 
date_time const & operator= (date_time_period_set const &f)
 
void set (period::period_type f, int v)
 
int get (period::period_type f) const
 
int operator/ (period::period_type f) const
 
date_time operator+ (period::period_type f) const
 
date_time operator- (period::period_type f) const
 
date_time const & operator+= (period::period_type f)
 
date_time const & operator-= (period::period_type f)
 
date_time operator<< (period::period_type f) const
 
date_time operator>> (period::period_type f) const
 
date_time const & operator<<= (period::period_type f)
 
date_time const & operator>>= (period::period_type f)
 
date_time operator+ (date_time_period const &v) const
 
date_time operator- (date_time_period const &v) const
 
date_time const & operator+= (date_time_period const &v)
 
date_time const & operator-= (date_time_period const &v)
 
date_time operator<< (date_time_period const &v) const
 
date_time operator>> (date_time_period const &v) const
 
date_time const & operator<<= (date_time_period const &v)
 
date_time const & operator>>= (date_time_period const &v)
 
date_time operator+ (date_time_period_set const &v) const
 
date_time operator- (date_time_period_set const &v) const
 
date_time const & operator+= (date_time_period_set const &v)
 
date_time const & operator-= (date_time_period_set const &v)
 
date_time operator<< (date_time_period_set const &v) const
 
date_time operator>> (date_time_period_set const &v) const
 
date_time const & operator<<= (date_time_period_set const &v)
 
date_time const & operator>>= (date_time_period_set const &v)
 
double time () const
 
void time (double v)
 
bool operator== (date_time const &other) const
 
bool operator!= (date_time const &other) const
 
bool operator< (date_time const &other) const
 
bool operator> (date_time const &other) const
 
bool operator<= (date_time const &other) const
 
bool operator>= (date_time const &other) const
 
void swap (date_time &other)
 
int difference (date_time const &other, period::period_type f) const
 
int minimum (period::period_type f) const
 
int maximum (period::period_type f) const
 
bool is_in_daylight_saving_time () const
 
-

Detailed Description

-

this class represents a date time and allows to perform various operation according to the locale settings.

-

This class allows to manipulate various aspects of dates and times easily using arithmetic operations with periods.

-

General arithmetic functions:

- -

You can also assign specific periods using assignment operator like: some_time = year * 1995 that sets the year to 1995.

-
Examples:
calendar.cpp.
-

Constructor & Destructor Documentation

- -
-
- - - - - - - -
boost::locale::date_time::date_time ()
-
-

Dafault constructor, uses default calendar initialized date_time object to current time.

-
Note
throws std::bad_cast if the global locale does not have calendar_facet facet installed
- -
-
- -
-
- - - - - - - - -
boost::locale::date_time::date_time (date_time const & other)
-
-

copy date_time

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
boost::locale::date_time::date_time (date_time const & other,
date_time_period_set const & set 
)
-
-

copy date_time and change some fields according to the set

- -
-
- -
-
- - - - - - - - -
boost::locale::date_time::date_time (double time)
-
-

Create a date_time object using POSIX time time and default calendar

-
Note
throws std::bad_cast if the global locale does not have calendar_facet facet installed
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
boost::locale::date_time::date_time (double time,
calendar const & cal 
)
-
-

Create a date_time object using POSIX time time and calendar cal

- -
-
- -
-
- - - - - - - - -
boost::locale::date_time::date_time (calendar const & cal)
-
-

Create a date_time object using calendar cal and initializes it to current time.

- -
-
- -
-
- - - - - - - - -
boost::locale::date_time::date_time (date_time_period_set const & set)
-
-

Create a date_time object using default calendar and define values given in set

-
Note
throws std::bad_cast if the global locale does not have calendar_facet facet installed
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
boost::locale::date_time::date_time (date_time_period_set const & set,
calendar const & cal 
)
-
-

Create a date_time object using calendar cal and define values given in set

- -
-
-

Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
int boost::locale::date_time::difference (date_time const & other,
period::period_type f 
) const
-
-

calculate the distance from this date_time to other in terms of perios f

- -
-
- -
-
- - - - - - - - -
int boost::locale::date_time::get (period::period_type f) const
-
-

get specific period f value

- -
-
- -
-
- - - - - - - -
bool boost::locale::date_time::is_in_daylight_saving_time () const
-
-

Check if *this time point is in daylight saving time

- -
-
- -
-
- - - - - - - - -
int boost::locale::date_time::maximum (period::period_type f) const
-
-

Get minimal possible value for *this time point for a period f. For example in February maximum(day) may be 28 or 29, in January maximum(day)==31

- -
-
- -
-
- - - - - - - - -
int boost::locale::date_time::minimum (period::period_type f) const
-
-

Get minimal possible value for *this time point for a period f.

- -
-
- -
-
- - - - - - - - -
bool boost::locale::date_time::operator!= (date_time const & other) const
-
-

compare date_time in the timeline (ignores difference in calendar, timezone etc)

- -
-
- -
-
- - - - - -
- - - - - - - - -
date_time boost::locale::date_time::operator+ (period::period_type f) const
-
-inline
-
-

add single period f to the current date_time

- -
-
- -
-
- - - - - - - - -
date_time boost::locale::date_time::operator+ (date_time_period const & v) const
-
-

add date_time_period to the current date_time

- -
-
- -
-
- - - - - - - - -
date_time boost::locale::date_time::operator+ (date_time_period_set const & v) const
-
-

add date_time_period_set v to the current date_time

- -
-
- -
-
- - - - - -
- - - - - - - - -
date_time const& boost::locale::date_time::operator+= (period::period_type f)
-
-inline
-
-

add single period f to the current date_time

- -
-
- -
-
- - - - - - - - -
date_time const& boost::locale::date_time::operator+= (date_time_period const & v)
-
-

add date_time_period to the current date_time

- -
-
- -
-
- - - - - - - - -
date_time const& boost::locale::date_time::operator+= (date_time_period_set const & v)
-
-

add date_time_period_set v to the current date_time

- -
-
- -
-
- - - - - -
- - - - - - - - -
date_time boost::locale::date_time::operator- (period::period_type f) const
-
-inline
-
-

subtract single period f from the current date_time

- -
-
- -
-
- - - - - - - - -
date_time boost::locale::date_time::operator- (date_time_period const & v) const
-
-

subtract date_time_period from the current date_time

- -
-
- -
-
- - - - - - - - -
date_time boost::locale::date_time::operator- (date_time_period_set const & v) const
-
-

subtract date_time_period_set v from the current date_time

- -
-
- -
-
- - - - - -
- - - - - - - - -
date_time const& boost::locale::date_time::operator-= (period::period_type f)
-
-inline
-
-

subtract single period f from the current date_time

- -
-
- -
-
- - - - - - - - -
date_time const& boost::locale::date_time::operator-= (date_time_period const & v)
-
-

subtract date_time_period from the current date_time

- -
-
- -
-
- - - - - - - - -
date_time const& boost::locale::date_time::operator-= (date_time_period_set const & v)
-
-

subtract date_time_period_set v from the current date_time

- -
-
- -
-
- - - - - -
- - - - - - - - -
int boost::locale::date_time::operator/ (period::period_type f) const
-
-inline
-
-

syntactic sugar for get(f)

- -
-
- -
-
- - - - - - - - -
bool boost::locale::date_time::operator< (date_time const & other) const
-
-

compare date_time in the timeline (ignores difference in calendar, timezone etc)

- -
-
- -
-
- - - - - -
- - - - - - - - -
date_time boost::locale::date_time::operator<< (period::period_type f) const
-
-inline
-
-

roll forward a date by single period f.

- -
-
- -
-
- - - - - - - - -
date_time boost::locale::date_time::operator<< (date_time_period const & v) const
-
-

roll current date_time forward by date_time_period v

- -
-
- -
-
- - - - - - - - -
date_time boost::locale::date_time::operator<< (date_time_period_set const & v) const
-
-

roll current date_time forward by date_time_period_set v

- -
-
- -
-
- - - - - -
- - - - - - - - -
date_time const& boost::locale::date_time::operator<<= (period::period_type f)
-
-inline
-
-

roll forward a date by single period f.

- -
-
- -
-
- - - - - - - - -
date_time const& boost::locale::date_time::operator<<= (date_time_period const & v)
-
-

roll current date_time forward by date_time_period v

- -
-
- -
-
- - - - - - - - -
date_time const& boost::locale::date_time::operator<<= (date_time_period_set const & v)
-
-

roll current date_time forward by date_time_period_set v

- -
-
- -
-
- - - - - - - - -
bool boost::locale::date_time::operator<= (date_time const & other) const
-
-

compare date_time in the timeline (ignores difference in calendar, timezone etc)

- -
-
- -
-
- - - - - - - - -
date_time const& boost::locale::date_time::operator= (date_time const & other)
-
-

assign the date_time

- -
-
- -
-
- - - - - - - - -
date_time const& boost::locale::date_time::operator= (date_time_period_set const & f)
-
-

assign values to various periods in set f

- -
-
- -
-
- - - - - - - - -
bool boost::locale::date_time::operator== (date_time const & other) const
-
-

compare date_time in the timeline (ignores difference in calendar, timezone etc)

- -
-
- -
-
- - - - - - - - -
bool boost::locale::date_time::operator> (date_time const & other) const
-
-

compare date_time in the timeline (ignores difference in calendar, timezone etc)

- -
-
- -
-
- - - - - - - - -
bool boost::locale::date_time::operator>= (date_time const & other) const
-
-

compare date_time in the timeline (ignores difference in calendar, timezone etc)

- -
-
- -
-
- - - - - -
- - - - - - - - -
date_time boost::locale::date_time::operator>> (period::period_type f) const
-
-inline
-
-

roll backward a date by single period f.

- -
-
- -
-
- - - - - - - - -
date_time boost::locale::date_time::operator>> (date_time_period const & v) const
-
-

roll current date_time backward by date_time_period v

- -
-
- -
-
- - - - - - - - -
date_time boost::locale::date_time::operator>> (date_time_period_set const & v) const
-
-

roll current date_time backward by date_time_period_set v

- -
-
- -
-
- - - - - -
- - - - - - - - -
date_time const& boost::locale::date_time::operator>>= (period::period_type f)
-
-inline
-
-

roll backward a date by single period f.

- -
-
- -
-
- - - - - - - - -
date_time const& boost::locale::date_time::operator>>= (date_time_period const & v)
-
-

roll current date_time backward by date_time_period v

- -
-
- -
-
- - - - - - - - -
date_time const& boost::locale::date_time::operator>>= (date_time_period_set const & v)
-
-

roll current date_time backward by date_time_period_set v

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void boost::locale::date_time::set (period::period_type f,
int v 
)
-
-

set specific period f value to v

-
Examples:
calendar.cpp.
-
-
-
- -
-
- - - - - - - - -
void boost::locale::date_time::swap (date_timeother)
-
-

swaps two dates - efficient, does not throw

- -
-
- -
-
- - - - - - - -
double boost::locale::date_time::time () const
-
-

Get POSIX time

-

The POSIX time is number of seconds since January 1st, 1970 00:00 UTC, ignoring leap seconds.

- -
-
- -
-
- - - - - - - - -
void boost::locale::date_time::time (double v)
-
-

set POSIX time

-

The POSIX time is number of seconds since January 1st, 1970 00:00 UTC, ignoring leap seconds. This time can be fetched from Operating system clock using C function time, gettimeofday and others.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1date__time.js b/doc/html/classboost_1_1locale_1_1date__time.js deleted file mode 100644 index cbe45595..00000000 --- a/doc/html/classboost_1_1locale_1_1date__time.js +++ /dev/null @@ -1,54 +0,0 @@ -var classboost_1_1locale_1_1date__time = -[ - [ "date_time", "classboost_1_1locale_1_1date__time.html#ae7a3b74e7512ddc4d618eb1f51c3d2b0", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#a7d98e552f2ff8a421a5c226102ba0138", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#a45008e76b980e7487e3d61b8372d67ae", null ], - [ "~date_time", "classboost_1_1locale_1_1date__time.html#a4865b1ef879fa0bfeecad3289370852f", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#addfee06ea6efa5fdca252191176b5756", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#ab806af3aee6d70057d1f8e6fbfd09216", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#ada52e84093a2775db6e0b3c399b0b9cf", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#abfa9db762ab227427778d8fc3c2bf73d", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#a871745debde77a28f5fbc6e2b2a5f869", null ], - [ "difference", "classboost_1_1locale_1_1date__time.html#a36df44f891d2a39ca16f57e568b67a3d", null ], - [ "get", "classboost_1_1locale_1_1date__time.html#af6436a546d3b944238f9fa952e5e18bd", null ], - [ "is_in_daylight_saving_time", "classboost_1_1locale_1_1date__time.html#a047e6e010df55fee166dcb3c9e7d3b95", null ], - [ "maximum", "classboost_1_1locale_1_1date__time.html#adb258ce11408b62bc0f14a60a05f0752", null ], - [ "minimum", "classboost_1_1locale_1_1date__time.html#a3363a0c562300095432a17e472d2e52d", null ], - [ "operator!=", "classboost_1_1locale_1_1date__time.html#a289953d80af568f86ddf533c0b161663", null ], - [ "operator+", "classboost_1_1locale_1_1date__time.html#a0df3596add1804b1f64d363fea181fe2", null ], - [ "operator+", "classboost_1_1locale_1_1date__time.html#a4e23796608a8ef0cbd5338f21d220a73", null ], - [ "operator+", "classboost_1_1locale_1_1date__time.html#aa362fdfe044d1c56c4fe939bd3d406bc", null ], - [ "operator+=", "classboost_1_1locale_1_1date__time.html#ab3117067df65d1c33e89ab375f03d27c", null ], - [ "operator+=", "classboost_1_1locale_1_1date__time.html#a7116785ff9f8b5f403e10a24b9b4477d", null ], - [ "operator+=", "classboost_1_1locale_1_1date__time.html#a1e5c7d2a8fed92d1e71f3dda2548b637", null ], - [ "operator-", "classboost_1_1locale_1_1date__time.html#ac870c0fcba5814cd91bb9c63823e280a", null ], - [ "operator-", "classboost_1_1locale_1_1date__time.html#af83662eb6a5d2298cda9159f5277a563", null ], - [ "operator-", "classboost_1_1locale_1_1date__time.html#a464e16b35656568b21f34cb8b3e2c81a", null ], - [ "operator-=", "classboost_1_1locale_1_1date__time.html#a38468aff1a820dc1c41a2a8280120848", null ], - [ "operator-=", "classboost_1_1locale_1_1date__time.html#a6780aae474f33f0a64e7b457789d7524", null ], - [ "operator-=", "classboost_1_1locale_1_1date__time.html#ae03dfadaf23e2ff93ae3d456dd3eb05f", null ], - [ "operator/", "classboost_1_1locale_1_1date__time.html#ac2a3a8f6fdba552b19e478bb6757523e", null ], - [ "operator<", "classboost_1_1locale_1_1date__time.html#a7b27ad955eade1013a43336e2a17adec", null ], - [ "operator<<", "classboost_1_1locale_1_1date__time.html#a22d2b503e2d58c7e2983b89c69ed13bd", null ], - [ "operator<<", "classboost_1_1locale_1_1date__time.html#afc9286cc1d2ad907200a3d9ba5d91c00", null ], - [ "operator<<", "classboost_1_1locale_1_1date__time.html#a2fb78903ee3c27d320798a72bb29a0b0", null ], - [ "operator<<=", "classboost_1_1locale_1_1date__time.html#ae71279d6e8dcc984fe3703b61d545416", null ], - [ "operator<<=", "classboost_1_1locale_1_1date__time.html#aa95d61963c07fb1e39d01d099a4c281a", null ], - [ "operator<<=", "classboost_1_1locale_1_1date__time.html#a048c4e2a1967351e84006177c14ef5e2", null ], - [ "operator<=", "classboost_1_1locale_1_1date__time.html#a76c5b0bbc01bd561c25cb83f26e5f535", null ], - [ "operator=", "classboost_1_1locale_1_1date__time.html#abe5d459e7552ca13b127c682e0d9caab", null ], - [ "operator=", "classboost_1_1locale_1_1date__time.html#a2f7ccfb9e28fa3bb172be9f0446caafd", null ], - [ "operator==", "classboost_1_1locale_1_1date__time.html#a4f11ded4c5383cc3fcd3684d0aa43892", null ], - [ "operator>", "classboost_1_1locale_1_1date__time.html#a1907c677ae9b7d0736705df8ad58b3aa", null ], - [ "operator>=", "classboost_1_1locale_1_1date__time.html#a4d807fa280bbe8d88efbc9a05f4a2d7c", null ], - [ "operator>>", "classboost_1_1locale_1_1date__time.html#a3a53ba943cb5140bafbfbda3d44b4083", null ], - [ "operator>>", "classboost_1_1locale_1_1date__time.html#a50f73791a4a5b4b4a32483030d20e324", null ], - [ "operator>>", "classboost_1_1locale_1_1date__time.html#ad7132f1fb92d1703925b4d3d054c0c19", null ], - [ "operator>>=", "classboost_1_1locale_1_1date__time.html#a178faa979338310b9a92370a3618fa0e", null ], - [ "operator>>=", "classboost_1_1locale_1_1date__time.html#a4605cf04447095908cba7a1cba700b9e", null ], - [ "operator>>=", "classboost_1_1locale_1_1date__time.html#a797242365127dae7142f0a950c4e4e78", null ], - [ "set", "classboost_1_1locale_1_1date__time.html#a4c0ed3be4d5d3bb44014a2ea12927ff8", null ], - [ "swap", "classboost_1_1locale_1_1date__time.html#a704626c84b012080f5e0b73db3d080fb", null ], - [ "time", "classboost_1_1locale_1_1date__time.html#a17aa2b54462ebcf1860f8e4db9f7868e", null ], - [ "time", "classboost_1_1locale_1_1date__time.html#a71bc51cd2ef635dfb0da6c0b740dcb5f", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1date__time__duration-members.html b/doc/html/classboost_1_1locale_1_1date__time__duration-members.html deleted file mode 100644 index c5a90ac9..00000000 --- a/doc/html/classboost_1_1locale_1_1date__time__duration-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::date_time_duration Member List
-
-
- -

This is the complete list of members for boost::locale::date_time_duration, including all inherited members.

- - - - - - -
date_time_duration(date_time const &first, date_time const &second)boost::locale::date_time_durationinline
end() const boost::locale::date_time_durationinline
get(period::period_type f) const boost::locale::date_time_durationinline
operator/(period::period_type f) const boost::locale::date_time_durationinline
start() const boost::locale::date_time_durationinline
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1date__time__duration.html b/doc/html/classboost_1_1locale_1_1date__time__duration.html deleted file mode 100644 index 8bd8f4a3..00000000 --- a/doc/html/classboost_1_1locale_1_1date__time__duration.html +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::date_time_duration Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::date_time_duration Class Reference
-
-
- -

This class represents a period: a pair of two date_time objects. - More...

- -

#include <boost/locale/date_time.hpp>

- - - - - - - - - - - - -

-Public Member Functions

 date_time_duration (date_time const &first, date_time const &second)
 
int get (period::period_type f) const
 
int operator/ (period::period_type f) const
 
date_time const & start () const
 
date_time const & end () const
 
-

Detailed Description

-

This class represents a period: a pair of two date_time objects.

-

It is generally used as syntactic sugar to calculate difference between two dates.

-

Note: it stores references to the original objects, so it is not recommended to be used outside of the equation you calculate the difference in.

-

Constructor & Destructor Documentation

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
boost::locale::date_time_duration::date_time_duration (date_time const & first,
date_time const & second 
)
-
-inline
-
-

Create an object were first represents earlier point on time line and second is later point.

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
date_time const& boost::locale::date_time_duration::end () const
-
-inline
-
-

Get ending point

- -
-
- -
-
- - - - - -
- - - - - - - - -
int boost::locale::date_time_duration::get (period::period_type f) const
-
-inline
-
-

find a difference in terms of period_type f

- -
-
- -
-
- - - - - -
- - - - - - - - -
int boost::locale::date_time_duration::operator/ (period::period_type f) const
-
-inline
-
-

Syntactic sugar for get(f)

- -
-
- -
-
- - - - - -
- - - - - - - -
date_time const& boost::locale::date_time_duration::start () const
-
-inline
-
-

Get starting point

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1date__time__duration.js b/doc/html/classboost_1_1locale_1_1date__time__duration.js deleted file mode 100644 index 862a9fcf..00000000 --- a/doc/html/classboost_1_1locale_1_1date__time__duration.js +++ /dev/null @@ -1,8 +0,0 @@ -var classboost_1_1locale_1_1date__time__duration = -[ - [ "date_time_duration", "classboost_1_1locale_1_1date__time__duration.html#ac4b0d49c998032003553e8faf0e5f2cb", null ], - [ "end", "classboost_1_1locale_1_1date__time__duration.html#a100bac2003f4e07ea498e10d0dd1f6b1", null ], - [ "get", "classboost_1_1locale_1_1date__time__duration.html#a5d1b702c281d205e1dafbb15ce85b447", null ], - [ "operator/", "classboost_1_1locale_1_1date__time__duration.html#ac1a04091cc80b98f6faf7e5e73ce5f35", null ], - [ "start", "classboost_1_1locale_1_1date__time__duration.html#afc2f075595d1774c866250d192b9db31", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1date__time__error-members.html b/doc/html/classboost_1_1locale_1_1date__time__error-members.html deleted file mode 100644 index f625dabd..00000000 --- a/doc/html/classboost_1_1locale_1_1date__time__error-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::date_time_error Member List
-
-
- -

This is the complete list of members for boost::locale::date_time_error, including all inherited members.

- - -
date_time_error(std::string const &e)boost::locale::date_time_errorinline
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1date__time__error.html b/doc/html/classboost_1_1locale_1_1date__time__error.html deleted file mode 100644 index 005143bf..00000000 --- a/doc/html/classboost_1_1locale_1_1date__time__error.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::date_time_error Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::date_time_error Class Reference
-
-
- -

This error is thrown in case of invalid state that occurred. - More...

- -

#include <boost/locale/date_time.hpp>

-
-Inheritance diagram for boost::locale::date_time_error:
-
-
- - - -
- - - - -

-Public Member Functions

 date_time_error (std::string const &e)
 
-

Detailed Description

-

This error is thrown in case of invalid state that occurred.

-

Constructor & Destructor Documentation

- -
-
- - - - - -
- - - - - - - - -
boost::locale::date_time_error::date_time_error (std::string const & e)
-
-inline
-
-

Constructor of date_time_error class

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1date__time__error.js b/doc/html/classboost_1_1locale_1_1date__time__error.js deleted file mode 100644 index 56b3a961..00000000 --- a/doc/html/classboost_1_1locale_1_1date__time__error.js +++ /dev/null @@ -1,4 +0,0 @@ -var classboost_1_1locale_1_1date__time__error = -[ - [ "date_time_error", "classboost_1_1locale_1_1date__time__error.html#abbd57421fc4617b23ecb33c398152dc8", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1date__time__error.png b/doc/html/classboost_1_1locale_1_1date__time__error.png deleted file mode 100644 index cb17e3f4..00000000 Binary files a/doc/html/classboost_1_1locale_1_1date__time__error.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1date__time__period__set-members.html b/doc/html/classboost_1_1locale_1_1date__time__period__set-members.html deleted file mode 100644 index 76f36b0d..00000000 --- a/doc/html/classboost_1_1locale_1_1date__time__period__set-members.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::date_time_period_set Member List
-
-
- -

This is the complete list of members for boost::locale::date_time_period_set, including all inherited members.

- - - - - - - -
add(date_time_period f)boost::locale::date_time_period_setinline
date_time_period_set()boost::locale::date_time_period_setinline
date_time_period_set(period::period_type f)boost::locale::date_time_period_setinline
date_time_period_set(date_time_period const &fl)boost::locale::date_time_period_setinline
operator[](size_t n) const boost::locale::date_time_period_setinline
size() const boost::locale::date_time_period_setinline
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1date__time__period__set.html b/doc/html/classboost_1_1locale_1_1date__time__period__set.html deleted file mode 100644 index dceadfa8..00000000 --- a/doc/html/classboost_1_1locale_1_1date__time__period__set.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::date_time_period_set Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::date_time_period_set Class Reference
-
-
- -

this class that represents a set of periods, - More...

- -

#include <boost/locale/date_time.hpp>

- - - - - - - - - - - - - - -

-Public Member Functions

 date_time_period_set ()
 
 date_time_period_set (period::period_type f)
 
 date_time_period_set (date_time_period const &fl)
 
void add (date_time_period f)
 
size_t size () const
 
date_time_period const & operator[] (size_t n) const
 
-

Detailed Description

-

this class that represents a set of periods,

-

It is generally created by operations on periods: 1995*year + 3*month + 1*day. Note: operations are not commutative.

-

Constructor & Destructor Documentation

- -
-
- - - - - -
- - - - - - - -
boost::locale::date_time_period_set::date_time_period_set ()
-
-inline
-
-

Default constructor - empty set

- -
-
- -
-
- - - - - -
- - - - - - - - -
boost::locale::date_time_period_set::date_time_period_set (period::period_type f)
-
-inline
-
-

Create a set of single period with value 1

- -
-
- -
-
- - - - - -
- - - - - - - - -
boost::locale::date_time_period_set::date_time_period_set (date_time_period const & fl)
-
-inline
-
-

Create a set of single period fl

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - -
void boost::locale::date_time_period_set::add (date_time_period f)
-
-inline
-
-

Append date_time_period f to the set

- -
-
- -
-
- - - - - -
- - - - - - - - -
date_time_period const& boost::locale::date_time_period_set::operator[] (size_t n) const
-
-inline
-
-

Get item at position n the set, n should be in range [0,size)

- -
-
- -
-
- - - - - -
- - - - - - - -
size_t boost::locale::date_time_period_set::size () const
-
-inline
-
-

Get number if items in list

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1date__time__period__set.js b/doc/html/classboost_1_1locale_1_1date__time__period__set.js deleted file mode 100644 index 666c9be5..00000000 --- a/doc/html/classboost_1_1locale_1_1date__time__period__set.js +++ /dev/null @@ -1,9 +0,0 @@ -var classboost_1_1locale_1_1date__time__period__set = -[ - [ "date_time_period_set", "classboost_1_1locale_1_1date__time__period__set.html#a635b8d91c4c8da99857810e42a0aff65", null ], - [ "date_time_period_set", "classboost_1_1locale_1_1date__time__period__set.html#a0966962f5da78fc06121d1455efcbbae", null ], - [ "date_time_period_set", "classboost_1_1locale_1_1date__time__period__set.html#a144842e64250343d87aaff270a9b53a0", null ], - [ "add", "classboost_1_1locale_1_1date__time__period__set.html#a0e70247c1738dbf6869e6d8c04461893", null ], - [ "operator[]", "classboost_1_1locale_1_1date__time__period__set.html#a177a4c3cb2de3b5c9b5fe5738660eba4", null ], - [ "size", "classboost_1_1locale_1_1date__time__period__set.html#a0b726bd57ce8b631de89bbf404b8df2a", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1generator-members.html b/doc/html/classboost_1_1locale_1_1generator-members.html deleted file mode 100644 index aeb162b1..00000000 --- a/doc/html/classboost_1_1locale_1_1generator-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::generator Member List
-
- -
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1generator.html b/doc/html/classboost_1_1locale_1_1generator.html deleted file mode 100644 index 4a4da4e8..00000000 --- a/doc/html/classboost_1_1locale_1_1generator.html +++ /dev/null @@ -1,533 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::generator Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::generator Class Reference
-
-
- -

the major class used for locale generation - More...

- -

#include <boost/locale/generator.hpp>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 generator ()
 
 generator (localization_backend_manager const &)
 
void categories (locale_category_type cats)
 
locale_category_type categories () const
 
void characters (character_facet_type chars)
 
character_facet_type characters () const
 
void add_messages_domain (std::string const &domain)
 
void set_default_messages_domain (std::string const &domain)
 
void clear_domains ()
 
void add_messages_path (std::string const &path)
 
void clear_paths ()
 
void clear_cache ()
 
void locale_cache_enabled (bool on)
 
bool locale_cache_enabled () const
 
bool use_ansi_encoding () const
 
void use_ansi_encoding (bool enc)
 
std::locale generate (std::string const &id) const
 
std::locale generate (std::locale const &base, std::string const &id) const
 
std::locale operator() (std::string const &id) const
 
void set_option (std::string const &name, std::string const &value)
 
void clear_options ()
 
-

Detailed Description

-

the major class used for locale generation

-

This class is used for specification of all parameters required for locale generation and caching. This class const member functions are thread safe if locale class implementation is thread safe.

-
Examples:
boundary.cpp, calendar.cpp, collate.cpp, conversions.cpp, hello.cpp, wboundary.cpp, wconversions.cpp, and whello.cpp.
-

Constructor & Destructor Documentation

- -
-
- - - - - - - -
boost::locale::generator::generator ()
-
-

Create new generator using global localization_backend_manager

- -
-
- -
-
- - - - - - - - -
boost::locale::generator::generator (localization_backend_manager const & )
-
-

Create new generator using specific localization_backend_manager

- -
-
-

Member Function Documentation

- -
-
- - - - - - - - -
void boost::locale::generator::add_messages_domain (std::string const & domain)
-
-

Add a new domain of messages that would be generated. It should be set in order to enable messages support.

-

Messages domain has following format: "name" or "name/encoding" where name is the base name of the "mo" file where the catalog is stored without ".mo" extension. For example for file /usr/share/locale/he/LC_MESSAGES/blog.mo it would be blog.

-

You can optionally specify the encoding of the keys in the sources by adding "/encoding_name" For example blog/cp1255.

-

If not defined all keys are assumed to be UTF-8 encoded.

-
Note
When you select a domain for the program using dgettext or message API, you do not specify the encoding part. So for example if the provided domain name was "blog/windows-1255" then for translation you should use dgettext("blog","Hello")
- -
-
- -
-
- - - - - - - - -
void boost::locale::generator::add_messages_path (std::string const & path)
-
-

Add a search path where dictionaries are looked in.

-
Note
-
    -
  • Under the Windows platform the path is treated as a path in the locale's encoding so if you create locale "en_US.windows-1251" then path would be treated as cp1255, and if it is en_US.UTF-8 it is treated as UTF-8. File name is always opened with a wide file name as wide file names are the native file name on Windows.
  • -
  • Under POSIX platforms all paths passed as-is regardless of encoding as narrow encodings are the native encodings for POSIX platforms.
  • -
- -
-
- -
-
- - - - - - - - -
void boost::locale::generator::categories (locale_category_type cats)
-
-

Set types of facets that should be generated, default all

- -
-
- -
-
- - - - - - - -
locale_category_type boost::locale::generator::categories () const
-
-

Get types of facets that should be generated, default all

- -
-
- -
-
- - - - - - - - -
void boost::locale::generator::characters (character_facet_type chars)
-
-

Set the characters type for which the facets should be generated, default all supported

- -
-
- -
-
- - - - - - - -
character_facet_type boost::locale::generator::characters () const
-
-

Get the characters type for which the facets should be generated, default all supported

- -
-
- -
-
- - - - - - - -
void boost::locale::generator::clear_cache ()
-
-

Remove all cached locales

- -
-
- -
-
- - - - - - - -
void boost::locale::generator::clear_domains ()
-
-

Remove all added domains from the list

- -
-
- -
-
- - - - - - - -
void boost::locale::generator::clear_options ()
-
-

Clear backend specific options

- -
-
- -
-
- - - - - - - -
void boost::locale::generator::clear_paths ()
-
-

Remove all added paths

- -
-
- -
-
- - - - - - - - -
std::locale boost::locale::generator::generate (std::string const & id) const
-
-

Generate a locale with id id

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
std::locale boost::locale::generator::generate (std::locale const & base,
std::string const & id 
) const
-
-

Generate a locale with id id. Use base as a locale to which all facets are added, instead of std::locale::classic().

- -
-
- -
-
- - - - - - - - -
void boost::locale::generator::locale_cache_enabled (bool on)
-
-

Turn locale caching ON

- -
-
- -
-
- - - - - - - -
bool boost::locale::generator::locale_cache_enabled () const
-
-

Get locale cache option

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::locale boost::locale::generator::operator() (std::string const & id) const
-
-inline
-
-

Shortcut to generate(id)

- -
-
- -
-
- - - - - - - - -
void boost::locale::generator::set_default_messages_domain (std::string const & domain)
-
-

Set default message domain. If this member was not called, the first added messages domain is used. If the domain domain is not added yet it is added.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void boost::locale::generator::set_option (std::string const & name,
std::string const & value 
)
-
-

Set backend specific option

- -
-
- -
-
- - - - - - - -
bool boost::locale::generator::use_ansi_encoding () const
-
-

Check if by default ANSI encoding is selected or UTF-8 onces. The default is false.

- -
-
- -
-
- - - - - - - - -
void boost::locale::generator::use_ansi_encoding (bool enc)
-
-

Select ANSI encodings as default system encoding rather then UTF-8 by default under Windows.

-

The default is the most portable and most powerful encoding, UTF-8, but the user can select "system" one if dealing with legacy applications

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1generator.js b/doc/html/classboost_1_1locale_1_1generator.js deleted file mode 100644 index d6f25dbd..00000000 --- a/doc/html/classboost_1_1locale_1_1generator.js +++ /dev/null @@ -1,25 +0,0 @@ -var classboost_1_1locale_1_1generator = -[ - [ "generator", "classboost_1_1locale_1_1generator.html#a25f1d8fbbab6558213991c99630e851c", null ], - [ "generator", "classboost_1_1locale_1_1generator.html#a767403ea3f6259fd184a6e355caf62f2", null ], - [ "~generator", "classboost_1_1locale_1_1generator.html#aa2bc5fd441b1d10dc0d98de6d0014dfd", null ], - [ "add_messages_domain", "classboost_1_1locale_1_1generator.html#a15020562d16dbbe276325b0162d54565", null ], - [ "add_messages_path", "classboost_1_1locale_1_1generator.html#a12823bbdb209690bfb77caa6404fd91b", null ], - [ "categories", "classboost_1_1locale_1_1generator.html#ae3c095f074329954eb90bb80488c7f76", null ], - [ "categories", "classboost_1_1locale_1_1generator.html#ad0aa601769d49ea79f354d1e1255cd64", null ], - [ "characters", "classboost_1_1locale_1_1generator.html#ad5e01c555aa43b438f688dbc29725ab8", null ], - [ "characters", "classboost_1_1locale_1_1generator.html#a78feb6e2caae5cc0b01a287cd48691cb", null ], - [ "clear_cache", "classboost_1_1locale_1_1generator.html#a7b4458ef36df82bc9e359735c55203e8", null ], - [ "clear_domains", "classboost_1_1locale_1_1generator.html#ade4a0ae57dbe87dfc38aa945f063d3c4", null ], - [ "clear_options", "classboost_1_1locale_1_1generator.html#a1804390c65562fa66327152e9dd04c60", null ], - [ "clear_paths", "classboost_1_1locale_1_1generator.html#ae6ef1ec096f219f4e6c092507e41fa35", null ], - [ "generate", "classboost_1_1locale_1_1generator.html#a75ba62f2ae7daa5a2d6641e36e064ecb", null ], - [ "generate", "classboost_1_1locale_1_1generator.html#aa98d7869660a1eb9b658b2cd4db495b3", null ], - [ "locale_cache_enabled", "classboost_1_1locale_1_1generator.html#ac2d152e2803cd96f4acc646943f2df51", null ], - [ "locale_cache_enabled", "classboost_1_1locale_1_1generator.html#aacfcd26484a830723a8a9f9d2e91a0e6", null ], - [ "operator()", "classboost_1_1locale_1_1generator.html#acd80b3f2371c77f4f7e7dfe69ec670ab", null ], - [ "set_default_messages_domain", "classboost_1_1locale_1_1generator.html#a4804bc5c4a9adb74cffcc2bdac87da1d", null ], - [ "set_option", "classboost_1_1locale_1_1generator.html#ac0bbbb4aca466e59e82b63bcbf2efc8b", null ], - [ "use_ansi_encoding", "classboost_1_1locale_1_1generator.html#a9afb2b0791abbabd39c800e08d9c9717", null ], - [ "use_ansi_encoding", "classboost_1_1locale_1_1generator.html#ad9b74721ce3c5e1c39c7e9a4564e1e7b", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt.html b/doc/html/classboost_1_1locale_1_1generic__codecvt.html deleted file mode 100644 index a0941e9a..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::generic_codecvt< CharType, CodecvtImpl, CharSize > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::generic_codecvt< CharType, CodecvtImpl, CharSize > Class Template Reference
-
-
- -

Geneneric generic codecvt facet, various stateless encodings to UTF-16 and UTF-32 using wchar_t, char32_t and char16_t. - More...

- -

#include <boost/locale/generic_codecvt.hpp>

-

Detailed Description

-

template<typename CharType, typename CodecvtImpl, int CharSize = sizeof(CharType)>
-class boost::locale::generic_codecvt< CharType, CodecvtImpl, CharSize >

- -

Geneneric generic codecvt facet, various stateless encodings to UTF-16 and UTF-32 using wchar_t, char32_t and char16_t.

-

Implementations should dervide from this class defining itself as CodecvtImpl and provide following members

-
    -
  • state_type - a type of special object that allows to store intermediate cached data, for example iconv_t descriptor
  • -
  • state_type initial_state(generic_codecvt_base::initial_convertion_state direction) const - member function that creates initial state
  • -
  • int max_encoding_length() const - a maximal length that one Unicode code point is represented, for UTF-8 for example it is 4 from ISO-8859-1 it is 1
  • -
  • utf::code_point to_unicode(state_type &state,char const *&begin,char const *end) - extract first code point from the text in range [begin,end), in case of success begin would point to the next character sequence to be encoded to next code point, in case of incomplete sequence - utf::incomplete shell be returned, and in case of invalid input sequence utf::illegal shell be returned and begin would remain unmodified
  • -
  • utf::code_point from_unicode(state_type &state,utf::code_point u,char *begin,char const *end) - convert a unicode code point u into a character seqnece at [begin,end). Return the length of the sequence in case of success, utf::incomplete in case of not enough room to encode the code point of utf::illegal in case conversion can not be performed
  • -
-

For example implementaion of codecvt for latin1/ISO-8859-1 character set

-
template<typename CharType>
-
class latin1_codecvt :boost::locale::generic_codecvt<CharType,latin1_codecvt<CharType> >
-
{
-
public:
-
-
/* Standard codecvt constructor */
-
latin1_codecvt(size_t refs = 0) : boost::locale::generic_codecvt<CharType,latin1_codecvt<CharType> >(refs)
-
{
-
}
-
-
/* State is unused but required by generic_codecvt */
-
struct state_type {};
-
-
state_type initial_state(generic_codecvt_base::initial_convertion_state /*unused*/) const
-
{
-
return state_type();
-
}
-
-
int max_encoding_length() const
-
{
-
return 1;
-
}
-
-
boost::locale::utf::code_point to_unicode(state_type &,char const *&begin,char const *end) const
-
{
-
if(begin == end)
- -
return *begin++;
-
}
-
-
boost::locale::utf::code_point from_unicode(state_type &,boost::locale::utf::code_point u,char *begin,char const *end) const
-
{
-
if(u >= 256)
- -
if(begin == end)
- -
*begin = u;
-
return 1;
-
}
-
};
-

When external tools used for encoding conversion, the state_type is useful to save objects used for conversions. For example, icu::UConverter can be saved in such a state for an efficient use:

-
template<typename CharType>
-
class icu_codecvt :boost::locale::generic_codecvt<CharType,icu_codecvt<CharType> >
-
{
-
public:
-
-
/* Standard codecvt constructor */
-
icu_codecvt(std::string const &name,refs = 0) :
-
boost::locale::generic_codecvt<CharType,latin1_codecvt<CharType> >(refs)
-
{ ... }
-
-
/* State is unused but required by generic_codecvt */
-
struct std::unique_ptr<UConverter,void (*)(UConverter*)> state_type;
-
-
state_type &&initial_state(generic_codecvt_base::initial_convertion_state /*unused*/) const
-
{
-
UErrorCode err = U_ZERO_ERROR;
-
state_type ptr(ucnv_safeClone(converter_,0,0,&err,ucnv_close);
-
return std::move(ptr);
-
}
-
-
boost::locale::utf::code_point to_unicode(state_type &ptr,char const *&begin,char const *end) const
-
{
-
UErrorCode err = U_ZERO_ERROR;
-
boost::locale::utf::code_point cp = ucnv_getNextUChar(ptr.get(),&begin,end,&err);
-
...
-
}
-
...
-
};
-

The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4-members.html b/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4-members.html deleted file mode 100644 index c45587fc..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4-members.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.html b/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.html deleted file mode 100644 index 0258b287..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::generic_codecvt< CharType, CodecvtImpl, 1 > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::generic_codecvt< CharType, CodecvtImpl, 1 > Class Template Reference
-
-
-
-Inheritance diagram for boost::locale::generic_codecvt< CharType, CodecvtImpl, 1 >:
-
-
- - -boost::locale::generic_codecvt_base - -
- - - - - - - -

-Public Types

-typedef CharType uchar
 
- Public Types inherited from boost::locale::generic_codecvt_base
enum  initial_convertion_state { to_unicode_state, -from_unicode_state - }
 
- - - - - -

-Public Member Functions

-CodecvtImpl const & implementation () const
 
generic_codecvt (size_t refs=0)
 
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.js b/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.js deleted file mode 100644 index e88107f1..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.js +++ /dev/null @@ -1,6 +0,0 @@ -var classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4 = -[ - [ "uchar", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.html#a6b861117b93378e0d04c0715c3eaf73f", null ], - [ "generic_codecvt", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.html#a52148cd9094bf6f0d11ca8cf56a31426", null ], - [ "implementation", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.html#acc64c198f348a04baf1aac2c1b8c6be5", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.png b/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.png deleted file mode 100644 index 00edebf3..00000000 Binary files a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4-members.html b/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4-members.html deleted file mode 100644 index ce728103..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4-members.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 > Member List
-
-
- -

This is the complete list of members for boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >, including all inherited members.

- - - - - - - - - - - - - - -
do_always_noconv() const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >inlineprotectedvirtual
do_encoding() const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >inlineprotectedvirtual
do_in(std::mbstate_t &std_state, char const *from, char const *from_end, char const *&from_next, uchar *to, uchar *to_end, uchar *&to_next) const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >inlineprotectedvirtual
do_length(std::mbstate_t &std_state, char const *from, char const *from_end, size_t max) const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >inlineprotectedvirtual
do_max_length() const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >inlineprotectedvirtual
do_out(std::mbstate_t &std_state, uchar const *from, uchar const *from_end, uchar const *&from_next, char *to, char *to_end, char *&to_next) const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >inlineprotectedvirtual
do_unshift(std::mbstate_t &s, char *from, char *, char *&next) const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >inlineprotectedvirtual
from_unicode_state enum valueboost::locale::generic_codecvt_base
generic_codecvt(size_t refs=0) (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >inline
implementation() const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >inline
initial_convertion_state enum nameboost::locale::generic_codecvt_base
to_unicode_state enum valueboost::locale::generic_codecvt_base
uchar typedef (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html b/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html deleted file mode 100644 index 3ff6600e..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 > Class Template Reference
-
-
- -

UTF-16 to/from UTF-8 codecvt facet to use with char16_t or wchar_t on Windows. - More...

- -

#include <boost/locale/generic_codecvt.hpp>

-
-Inheritance diagram for boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >:
-
-
- - -boost::locale::generic_codecvt_base - -
- - - - - - - -

-Public Types

-typedef CharType uchar
 
- Public Types inherited from boost::locale::generic_codecvt_base
enum  initial_convertion_state { to_unicode_state, -from_unicode_state - }
 
- - - - - -

-Public Member Functions

generic_codecvt (size_t refs=0)
 
-CodecvtImpl const & implementation () const
 
- - - - - - - - - - - - - - - -

-Protected Member Functions

-virtual std::codecvt_base::result do_unshift (std::mbstate_t &s, char *from, char *, char *&next) const
 
-virtual int do_encoding () const throw ()
 
-virtual int do_max_length () const throw ()
 
-virtual bool do_always_noconv () const throw ()
 
-virtual int do_length (std::mbstate_t &std_state, char const *from, char const *from_end, size_t max) const
 
-virtual std::codecvt_base::result do_in (std::mbstate_t &std_state, char const *from, char const *from_end, char const *&from_next, uchar *to, uchar *to_end, uchar *&to_next) const
 
-virtual std::codecvt_base::result do_out (std::mbstate_t &std_state, uchar const *from, uchar const *from_end, uchar const *&from_next, char *to, char *to_end, char *&to_next) const
 
-

Detailed Description

-

template<typename CharType, typename CodecvtImpl>
-class boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >

- -

UTF-16 to/from UTF-8 codecvt facet to use with char16_t or wchar_t on Windows.

-

Note in order to fit the requirements of usability by std::wfstream it uses mbstate_t to handle intermediate states in handling of variable length UTF-16 sequences

-

Its member functions implement standard virtual functions of basic codecvt

-

The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.js b/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.js deleted file mode 100644 index 980ef71c..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.js +++ /dev/null @@ -1,13 +0,0 @@ -var classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4 = -[ - [ "uchar", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html#a7a7bfedcd737a468fbc662352c8b16e8", null ], - [ "generic_codecvt", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html#ae0bf8a3f96c872d116180d624d5fefe6", null ], - [ "do_always_noconv", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html#a4932099df788bb2992762aef8cd97079", null ], - [ "do_encoding", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html#af8417b06caaf0bb1162ae6762fe4b3e6", null ], - [ "do_in", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html#a40fecddd1d876887e8d696af02936b85", null ], - [ "do_length", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html#a55bf86bfcf596f01b6390d300720b7f2", null ], - [ "do_max_length", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html#a0f497585138528c91eeece9d506a9661", null ], - [ "do_out", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html#aacf028cb7760885bea33dbddf8b82cf1", null ], - [ "do_unshift", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html#a84f7fe1ae2d0cb219ac0e0bffe2ee5fe", null ], - [ "implementation", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html#ac791c7c243c94d531e03355d0542c07d", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.png b/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.png deleted file mode 100644 index fbb12936..00000000 Binary files a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4-members.html b/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4-members.html deleted file mode 100644 index b73c8589..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4-members.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 > Member List
-
-
- -

This is the complete list of members for boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >, including all inherited members.

- - - - - - - - - - - - - - -
do_always_noconv() const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >inlineprotectedvirtual
do_encoding() const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >inlineprotectedvirtual
do_in(std::mbstate_t &, char const *from, char const *from_end, char const *&from_next, uchar *to, uchar *to_end, uchar *&to_next) const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >inlineprotectedvirtual
do_length(std::mbstate_t &, char const *from, char const *from_end, size_t max) const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >inlineprotectedvirtual
do_max_length() const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >inlineprotectedvirtual
do_out(std::mbstate_t &, uchar const *from, uchar const *from_end, uchar const *&from_next, char *to, char *to_end, char *&to_next) const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >inlineprotectedvirtual
do_unshift(std::mbstate_t &, char *from, char *, char *&next) const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >inlineprotectedvirtual
from_unicode_state enum valueboost::locale::generic_codecvt_base
generic_codecvt(size_t refs=0) (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >inline
implementation() const (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >inline
initial_convertion_state enum nameboost::locale::generic_codecvt_base
to_unicode_state enum valueboost::locale::generic_codecvt_base
uchar typedef (defined in boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >)boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html b/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html deleted file mode 100644 index 57ac0abd..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 > Class Template Reference
-
-
- -

UTF-32 to/from UTF-8 codecvt facet to use with char32_t or wchar_t on POSIX platforms. - More...

- -

#include <boost/locale/generic_codecvt.hpp>

-
-Inheritance diagram for boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >:
-
-
- - -boost::locale::generic_codecvt_base - -
- - - - - - - -

-Public Types

-typedef CharType uchar
 
- Public Types inherited from boost::locale::generic_codecvt_base
enum  initial_convertion_state { to_unicode_state, -from_unicode_state - }
 
- - - - - -

-Public Member Functions

generic_codecvt (size_t refs=0)
 
-CodecvtImpl const & implementation () const
 
- - - - - - - - - - - - - - - -

-Protected Member Functions

-virtual std::codecvt_base::result do_unshift (std::mbstate_t &, char *from, char *, char *&next) const
 
-virtual int do_encoding () const throw ()
 
-virtual int do_max_length () const throw ()
 
-virtual bool do_always_noconv () const throw ()
 
-virtual int do_length (std::mbstate_t &, char const *from, char const *from_end, size_t max) const
 
-virtual std::codecvt_base::result do_in (std::mbstate_t &, char const *from, char const *from_end, char const *&from_next, uchar *to, uchar *to_end, uchar *&to_next) const
 
-virtual std::codecvt_base::result do_out (std::mbstate_t &, uchar const *from, uchar const *from_end, uchar const *&from_next, char *to, char *to_end, char *&to_next) const
 
-

Detailed Description

-

template<typename CharType, typename CodecvtImpl>
-class boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >

- -

UTF-32 to/from UTF-8 codecvt facet to use with char32_t or wchar_t on POSIX platforms.

-

Its member functions implement standard virtual functions of basic codecvt. mbstate_t is not used for UTF-32 handling due to fixed length encoding

-

The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.js b/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.js deleted file mode 100644 index 5c6cb2cd..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.js +++ /dev/null @@ -1,13 +0,0 @@ -var classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4 = -[ - [ "uchar", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html#a5295bb34a01e596eca5948f24bc9f4a5", null ], - [ "generic_codecvt", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html#adc4f372fcfd1274ec6cd7a8c20b0f23e", null ], - [ "do_always_noconv", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html#a42509a8403646922f597cdcabdc38ef5", null ], - [ "do_encoding", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html#a584f3779917f65afa4aa8071d8894b6f", null ], - [ "do_in", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html#a1ae3c15e6a0c3aeba48e7b6a918fc7a5", null ], - [ "do_length", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html#af9dcb615e7f1bcbb0bb180aff0397d33", null ], - [ "do_max_length", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html#ad74dfdf543b8f8d33ddcbee19aad5765", null ], - [ "do_out", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html#a697a4ea5f8ed436ece30543f1c270f72", null ], - [ "do_unshift", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html#af1d8b0540c1c45e793d62a0afb20569c", null ], - [ "implementation", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html#a161ecee16181c151d92fbb18c676d3ed", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.png b/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.png deleted file mode 100644 index 9138e45d..00000000 Binary files a/doc/html/classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt__base-members.html b/doc/html/classboost_1_1locale_1_1generic__codecvt__base-members.html deleted file mode 100644 index 85163ca2..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt__base-members.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::generic_codecvt_base Member List
-
- -
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt__base.html b/doc/html/classboost_1_1locale_1_1generic__codecvt__base.html deleted file mode 100644 index 4eeff7ac..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt__base.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::generic_codecvt_base Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::generic_codecvt_base Class Reference
-
-
- -

A base class that used to define constants for generic_codecvt. - More...

- -

#include <boost/locale/generic_codecvt.hpp>

-
-Inheritance diagram for boost::locale::generic_codecvt_base:
-
-
- - -boost::locale::generic_codecvt< CharType, CodecvtImpl, 1 > -boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 > -boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 > - -
- - - - -

-Public Types

enum  initial_convertion_state { to_unicode_state, -from_unicode_state - }
 
-

Detailed Description

-

A base class that used to define constants for generic_codecvt.

-

Member Enumeration Documentation

- -
-
-

Initail state for converting to or from unicode code points, used by initial_state in derived classes

- - - -
Enumerator
to_unicode_state  -

The state would be used by to_unicode functions.

-
from_unicode_state  -

The state would be used by from_unicode functions.

-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt__base.js b/doc/html/classboost_1_1locale_1_1generic__codecvt__base.js deleted file mode 100644 index 128ea151..00000000 --- a/doc/html/classboost_1_1locale_1_1generic__codecvt__base.js +++ /dev/null @@ -1,7 +0,0 @@ -var classboost_1_1locale_1_1generic__codecvt__base = -[ - [ "initial_convertion_state", "classboost_1_1locale_1_1generic__codecvt__base.html#af28c4b64af6cbf2eb01c444e2cdf08c3", [ - [ "to_unicode_state", "classboost_1_1locale_1_1generic__codecvt__base.html#af28c4b64af6cbf2eb01c444e2cdf08c3a07029d87e1c62675db6b857d7b6214ec", null ], - [ "from_unicode_state", "classboost_1_1locale_1_1generic__codecvt__base.html#af28c4b64af6cbf2eb01c444e2cdf08c3a2386c685ac9676370a20d2802184fed1", null ] - ] ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1generic__codecvt__base.png b/doc/html/classboost_1_1locale_1_1generic__codecvt__base.png deleted file mode 100644 index 15896c3d..00000000 Binary files a/doc/html/classboost_1_1locale_1_1generic__codecvt__base.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1hold__ptr-members.html b/doc/html/classboost_1_1locale_1_1hold__ptr-members.html deleted file mode 100644 index 9bb60df9..00000000 --- a/doc/html/classboost_1_1locale_1_1hold__ptr-members.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::hold_ptr< T > Member List
-
- -
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1hold__ptr.html b/doc/html/classboost_1_1locale_1_1hold__ptr.html deleted file mode 100644 index 604f0450..00000000 --- a/doc/html/classboost_1_1locale_1_1hold__ptr.html +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::hold_ptr< T > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::hold_ptr< T > Class Template Reference
-
-
- -

a smart pointer similar to std::auto_ptr but it is non-copyable and the underlying object has the same constness as the pointer itself (unlike an ordinary pointer). - More...

- -

#include <boost/locale/hold_ptr.hpp>

- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 hold_ptr ()
 
 hold_ptr (T *v)
 
 ~hold_ptr ()
 
T const * get () const
 
T * get ()
 
T const & operator* () const
 
T & operator* ()
 
T const * operator-> () const
 
T * operator-> ()
 
T * release ()
 
void reset (T *p=0)
 
-void swap (hold_ptr &other)
 Swap two pointers.
 
-

Detailed Description

-

template<typename T>
-class boost::locale::hold_ptr< T >

- -

a smart pointer similar to std::auto_ptr but it is non-copyable and the underlying object has the same constness as the pointer itself (unlike an ordinary pointer).

-

Constructor & Destructor Documentation

- -
-
-
-template<typename T>
- - - - - -
- - - - - - - -
boost::locale::hold_ptr< T >::hold_ptr ()
-
-inline
-
-

Create new empty pointer

- -
-
- -
-
-
-template<typename T>
- - - - - -
- - - - - - - - -
boost::locale::hold_ptr< T >::hold_ptr (T * v)
-
-inlineexplicit
-
-

Create a pointer that holds v, ownership is transferred to smart pointer

- -
-
- -
-
-
-template<typename T>
- - - - - -
- - - - - - - -
boost::locale::hold_ptr< T >::~hold_ptr ()
-
-inline
-
-

Destroy smart pointer and the object it owns.

- -
-
-

Member Function Documentation

- -
-
-
-template<typename T>
- - - - - -
- - - - - - - -
T const* boost::locale::hold_ptr< T >::get () const
-
-inline
-
-

Get a const pointer to the object

- -
-
- -
-
-
-template<typename T>
- - - - - -
- - - - - - - -
T* boost::locale::hold_ptr< T >::get ()
-
-inline
-
-

Get a mutable pointer to the object

- -
-
- -
-
-
-template<typename T>
- - - - - -
- - - - - - - -
T const& boost::locale::hold_ptr< T >::operator* () const
-
-inline
-
-

Get a const reference to the object

- -
-
- -
-
-
-template<typename T>
- - - - - -
- - - - - - - -
T& boost::locale::hold_ptr< T >::operator* ()
-
-inline
-
-

Get a mutable reference to the object

- -
-
- -
-
-
-template<typename T>
- - - - - -
- - - - - - - -
T const* boost::locale::hold_ptr< T >::operator-> () const
-
-inline
-
-

Get a const pointer to the object

- -
-
- -
-
-
-template<typename T>
- - - - - -
- - - - - - - -
T* boost::locale::hold_ptr< T >::operator-> ()
-
-inline
-
-

Get a mutable pointer to the object

- -
-
- -
-
-
-template<typename T>
- - - - - -
- - - - - - - -
T* boost::locale::hold_ptr< T >::release ()
-
-inline
-
-

Transfer an ownership on the pointer to user

- -
-
- -
-
-
-template<typename T>
- - - - - -
- - - - - - - - -
void boost::locale::hold_ptr< T >::reset (T * p = 0)
-
-inline
-
-

Set new value to pointer, previous object is destroyed, ownership on new object is transferred

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1hold__ptr.js b/doc/html/classboost_1_1locale_1_1hold__ptr.js deleted file mode 100644 index d32ad578..00000000 --- a/doc/html/classboost_1_1locale_1_1hold__ptr.js +++ /dev/null @@ -1,15 +0,0 @@ -var classboost_1_1locale_1_1hold__ptr = -[ - [ "hold_ptr", "classboost_1_1locale_1_1hold__ptr.html#a681ee3d579435f9f2f171b830c402072", null ], - [ "hold_ptr", "classboost_1_1locale_1_1hold__ptr.html#a0007514dc0410ccb16adf01c56874f52", null ], - [ "~hold_ptr", "classboost_1_1locale_1_1hold__ptr.html#aace934e7a8b3f1880d1a06fa85795a48", null ], - [ "get", "classboost_1_1locale_1_1hold__ptr.html#a907a9385c1a15dab07aade7466620bf6", null ], - [ "get", "classboost_1_1locale_1_1hold__ptr.html#a30dbc88eb9fde35198774f3ace282712", null ], - [ "operator*", "classboost_1_1locale_1_1hold__ptr.html#a2c8a19e35ff3c57100b24371854f31b7", null ], - [ "operator*", "classboost_1_1locale_1_1hold__ptr.html#af99f3719b755b787b022253aa6f8d1c0", null ], - [ "operator->", "classboost_1_1locale_1_1hold__ptr.html#a7ae6b54ed5471dd9560904c7ff8a7971", null ], - [ "operator->", "classboost_1_1locale_1_1hold__ptr.html#a474f2619452b63408e1e761f414328f4", null ], - [ "release", "classboost_1_1locale_1_1hold__ptr.html#a2d7b2957c037589b65b2cdd4f61ebe03", null ], - [ "reset", "classboost_1_1locale_1_1hold__ptr.html#acb84b86bb220d663ffe13e5be9cfd72e", null ], - [ "swap", "classboost_1_1locale_1_1hold__ptr.html#a3e2640b5df80f86aeb68a6ee78dfd6f9", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1info-members.html b/doc/html/classboost_1_1locale_1_1info-members.html deleted file mode 100644 index c1b1f9c6..00000000 --- a/doc/html/classboost_1_1locale_1_1info-members.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::info Member List
-
-
- -

This is the complete list of members for boost::locale::info, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
country() const boost::locale::infoinline
country_property enum valueboost::locale::info
encoding() const boost::locale::infoinline
encoding_property enum valueboost::locale::info
get_integer_property(integer_property v) const =0boost::locale::infoprotectedpure virtual
get_string_property(string_propery v) const =0boost::locale::infoprotectedpure virtual
idboost::locale::infostatic
info(size_t refs=0)boost::locale::infoinline
integer_property enum nameboost::locale::info
language() const boost::locale::infoinline
language_property enum valueboost::locale::info
name() const boost::locale::infoinline
name_property enum valueboost::locale::info
string_propery enum nameboost::locale::info
utf8() const boost::locale::infoinline
utf8_property enum valueboost::locale::info
variant() const boost::locale::infoinline
variant_property enum valueboost::locale::info
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1info.html b/doc/html/classboost_1_1locale_1_1info.html deleted file mode 100644 index 0fc9fbec..00000000 --- a/doc/html/classboost_1_1locale_1_1info.html +++ /dev/null @@ -1,427 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::info Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
- -
- -

a facet that holds general information about locale - More...

- -

#include <boost/locale/info.hpp>

-
-Inheritance diagram for boost::locale::info:
-
-
- - - -
- - - - - - -

-Public Types

enum  string_propery {
-  language_property, -country_property, -variant_property, -encoding_property, -
-  name_property -
- }
 
enum  integer_property { utf8_property - }
 
- - - - - - - - - - - - - - - -

-Public Member Functions

 info (size_t refs=0)
 
std::string language () const
 
std::string country () const
 
std::string variant () const
 
std::string encoding () const
 
std::string name () const
 
bool utf8 () const
 
- - - - -

-Static Public Attributes

-static std::locale::id id
 This member uniquely defines this facet, required by STL.
 
- - - - - -

-Protected Member Functions

virtual std::string get_string_property (string_propery v) const =0
 
virtual int get_integer_property (integer_property v) const =0
 
-

Detailed Description

-

a facet that holds general information about locale

-

This facet should be always created in order to make all Boost.Locale functions work

-

Member Enumeration Documentation

- -
-
-

Integer information about locale

- - -
Enumerator
utf8_property  -

Non zero value if uses UTF-8 encoding.

-
- -
-
- -
-
-

String information about the locale

- - - - - - -
Enumerator
language_property  -

ISO 639 language id.

-
country_property  -

ISO 3166 country id.

-
variant_property  -

Variant for locale.

-
encoding_property  -

encoding name

-
name_property  -

locale name

-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - -
- - - - - - - - -
boost::locale::info::info (size_t refs = 0)
-
-inline
-
-

Standard facet's constructor

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
std::string boost::locale::info::country () const
-
-inline
-
-

Get country name

- -
-
- -
-
- - - - - -
- - - - - - - -
std::string boost::locale::info::encoding () const
-
-inline
-
-

Get encoding

- -
-
- -
-
- - - - - -
- - - - - - - - -
virtual int boost::locale::info::get_integer_property (integer_property v) const
-
-protectedpure virtual
-
-

Get integer property by its id v

- -
-
- -
-
- - - - - -
- - - - - - - - -
virtual std::string boost::locale::info::get_string_property (string_propery v) const
-
-protectedpure virtual
-
-

Get string property by its id v

- -
-
- -
-
- - - - - -
- - - - - - - -
std::string boost::locale::info::language () const
-
-inline
-
-

Get language name

- -
-
- -
-
- - - - - -
- - - - - - - -
std::string boost::locale::info::name () const
-
-inline
-
-

Get the name of the locale, like en_US.UTF-8

- -
-
- -
-
- - - - - -
- - - - - - - -
bool boost::locale::info::utf8 () const
-
-inline
-
-

True if the underlying encoding is UTF-8 (for char streams and strings)

- -
-
- -
-
- - - - - -
- - - - - - - -
std::string boost::locale::info::variant () const
-
-inline
-
-

Get locale variant

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1info.js b/doc/html/classboost_1_1locale_1_1info.js deleted file mode 100644 index 0bec33aa..00000000 --- a/doc/html/classboost_1_1locale_1_1info.js +++ /dev/null @@ -1,23 +0,0 @@ -var classboost_1_1locale_1_1info = -[ - [ "integer_property", "classboost_1_1locale_1_1info.html#a53d7aa756e1b74f360913a9c9d41bb6d", [ - [ "utf8_property", "classboost_1_1locale_1_1info.html#a53d7aa756e1b74f360913a9c9d41bb6da4d27d781e7da56cb9b94bfd8cdcab5ea", null ] - ] ], - [ "string_propery", "classboost_1_1locale_1_1info.html#ac79e3924b5473862ab15a3290b1c8d15", [ - [ "language_property", "classboost_1_1locale_1_1info.html#ac79e3924b5473862ab15a3290b1c8d15a51e81de8c364b3734f4e2baf1abaddcf", null ], - [ "country_property", "classboost_1_1locale_1_1info.html#ac79e3924b5473862ab15a3290b1c8d15ab59b95580bc749f21c832a70d4b73c61", null ], - [ "variant_property", "classboost_1_1locale_1_1info.html#ac79e3924b5473862ab15a3290b1c8d15a2b38cb5c60ed931f21fc9bec4984900c", null ], - [ "encoding_property", "classboost_1_1locale_1_1info.html#ac79e3924b5473862ab15a3290b1c8d15a1aa0567014d09df594b4a616f20c9b26", null ], - [ "name_property", "classboost_1_1locale_1_1info.html#ac79e3924b5473862ab15a3290b1c8d15ab68bcb824a19b6cfd95ad3c714369369", null ] - ] ], - [ "info", "classboost_1_1locale_1_1info.html#a5545bf33988c859b3b864d4d65178134", null ], - [ "country", "classboost_1_1locale_1_1info.html#a249c20e36da6827a8dc8b12a8342a7dc", null ], - [ "encoding", "classboost_1_1locale_1_1info.html#a1979a5d7b90604c45e856a139c68f5ba", null ], - [ "get_integer_property", "classboost_1_1locale_1_1info.html#aee97062cd9c8a1c6b24a160783865ee2", null ], - [ "get_string_property", "classboost_1_1locale_1_1info.html#a38673d9985abd1c98713b262fadfe584", null ], - [ "language", "classboost_1_1locale_1_1info.html#a7c56b9df3aba82649afc66c06192c7df", null ], - [ "name", "classboost_1_1locale_1_1info.html#af8181bf226f369548c030220932323b9", null ], - [ "utf8", "classboost_1_1locale_1_1info.html#aafbbb5c291f60ce6fc3bc056859ba181", null ], - [ "variant", "classboost_1_1locale_1_1info.html#a2e949e4362c8f0195e2a645fe875f1b4", null ], - [ "id", "classboost_1_1locale_1_1info.html#a01c274323da1367b153952ee1f056572", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1info.png b/doc/html/classboost_1_1locale_1_1info.png deleted file mode 100644 index 0154f2ea..00000000 Binary files a/doc/html/classboost_1_1locale_1_1info.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1ios__info-members.html b/doc/html/classboost_1_1locale_1_1ios__info-members.html deleted file mode 100644 index 94140f7e..00000000 --- a/doc/html/classboost_1_1locale_1_1ios__info-members.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::ios_info Member List
-
- -
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1ios__info.html b/doc/html/classboost_1_1locale_1_1ios__info.html deleted file mode 100644 index 3ca2013f..00000000 --- a/doc/html/classboost_1_1locale_1_1ios__info.html +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::ios_info Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::ios_info Class Reference
-
-
- -

This class holds an external data - beyond existing fmtflags that std::ios_base holds. - More...

- -

#include <boost/locale/formatting.hpp>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

void display_flags (uint64_t flags)
 
void currency_flags (uint64_t flags)
 
void date_flags (uint64_t flags)
 
void time_flags (uint64_t flags)
 
void datetime_flags (uint64_t flags)
 
void domain_id (int)
 
void time_zone (std::string const &)
 
template<typename CharType >
void date_time_pattern (std::basic_string< CharType > const &str)
 
uint64_t display_flags () const
 
uint64_t currency_flags () const
 
uint64_t date_flags () const
 
uint64_t time_flags () const
 
uint64_t datetime_flags () const
 
int domain_id () const
 
std::string time_zone () const
 
template<typename CharType >
std::basic_string< CharType > date_time_pattern () const
 
- - - -

-Static Public Member Functions

static ios_infoget (std::ios_base &ios)
 
-

Detailed Description

-

This class holds an external data - beyond existing fmtflags that std::ios_base holds.

-

You should almost never create this object directly. Instead, you should access it via ios_info::get(stream_object) static member function. It automatically creates default formatting data for that stream

-

Member Function Documentation

- -
-
- - - - - - - - -
void boost::locale::ios_info::currency_flags (uint64_t flags)
-
-

Set a flags that define how to format currency

- -
-
- -
-
- - - - - - - -
uint64_t boost::locale::ios_info::currency_flags () const
-
-

Get a flags that define how to format currency

- -
-
- -
-
- - - - - - - - -
void boost::locale::ios_info::date_flags (uint64_t flags)
-
-

Set a flags that define how to format date

- -
-
- -
-
- - - - - - - -
uint64_t boost::locale::ios_info::date_flags () const
-
-

Get a flags that define how to format date

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - - -
void boost::locale::ios_info::date_time_pattern (std::basic_string< CharType > const & str)
-
-inline
-
-

Set date/time pattern (strftime like)

- -
-
- -
-
-
-template<typename CharType >
- - - - - -
- - - - - - - -
std::basic_string<CharType> boost::locale::ios_info::date_time_pattern () const
-
-inline
-
-

Get date/time pattern (strftime like)

- -
-
- -
-
- - - - - - - - -
void boost::locale::ios_info::datetime_flags (uint64_t flags)
-
-

Set a flags that define how to format both date and time

- -
-
- -
-
- - - - - - - -
uint64_t boost::locale::ios_info::datetime_flags () const
-
-

Get a flags that define how to format both date and time

- -
-
- -
-
- - - - - - - - -
void boost::locale::ios_info::display_flags (uint64_t flags)
-
-

Set a flags that define a way for format data like number, spell, currency etc.

- -
-
- -
-
- - - - - - - -
uint64_t boost::locale::ios_info::display_flags () const
-
-

Get a flags that define a way for format data like number, spell, currency etc.

- -
-
- -
-
- - - - - - - - -
void boost::locale::ios_info::domain_id (int )
-
-

Set special message domain identification

- -
-
- -
-
- - - - - - - -
int boost::locale::ios_info::domain_id () const
-
-

Get special message domain identification

- -
-
- -
-
- - - - - -
- - - - - - - - -
static ios_info& boost::locale::ios_info::get (std::ios_base & ios)
-
-static
-
-

Get ios_info instance for specific stream object

- -
-
- -
-
- - - - - - - - -
void boost::locale::ios_info::time_flags (uint64_t flags)
-
-

Set a flags that define how to format time

- -
-
- -
-
- - - - - - - -
uint64_t boost::locale::ios_info::time_flags () const
-
-

Get a flags that define how to format time

- -
-
- -
-
- - - - - - - - -
void boost::locale::ios_info::time_zone (std::string const & )
-
-

Set time zone for formatting dates and time

- -
-
- -
-
- - - - - - - -
std::string boost::locale::ios_info::time_zone () const
-
-

Get time zone for formatting dates and time

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1ios__info.js b/doc/html/classboost_1_1locale_1_1ios__info.js deleted file mode 100644 index 2f69d2cd..00000000 --- a/doc/html/classboost_1_1locale_1_1ios__info.js +++ /dev/null @@ -1,20 +0,0 @@ -var classboost_1_1locale_1_1ios__info = -[ - [ "currency_flags", "classboost_1_1locale_1_1ios__info.html#ad31ea1190ae882f20eea582312c6c573", null ], - [ "currency_flags", "classboost_1_1locale_1_1ios__info.html#ac98b6625dcd7e552e144510192daebb7", null ], - [ "date_flags", "classboost_1_1locale_1_1ios__info.html#aec16372d284296c63ebd282121fa0005", null ], - [ "date_flags", "classboost_1_1locale_1_1ios__info.html#af46aa3529a930f328613533c6626260a", null ], - [ "date_time_pattern", "classboost_1_1locale_1_1ios__info.html#a41bc55992899be3af94de29a8e78edf7", null ], - [ "date_time_pattern", "classboost_1_1locale_1_1ios__info.html#ac0f1059742e489433fd53500c747d30c", null ], - [ "datetime_flags", "classboost_1_1locale_1_1ios__info.html#a6e90b9fcfb723495da5239fc380b0331", null ], - [ "datetime_flags", "classboost_1_1locale_1_1ios__info.html#a5e034268f4b5295ddaae948ffe8a1ec0", null ], - [ "display_flags", "classboost_1_1locale_1_1ios__info.html#a18b06a5cf88e25361bf188f64216edf2", null ], - [ "display_flags", "classboost_1_1locale_1_1ios__info.html#a8b72d7ac5dcd8be72f4bf49b73616db4", null ], - [ "domain_id", "classboost_1_1locale_1_1ios__info.html#a08b1bb49e5806900bfa1901e869497a6", null ], - [ "domain_id", "classboost_1_1locale_1_1ios__info.html#a91fee7df7d3802c65c28c5ef24a10707", null ], - [ "get", "classboost_1_1locale_1_1ios__info.html#a02f6979dffc2df97c3612d72b7c7241b", null ], - [ "time_flags", "classboost_1_1locale_1_1ios__info.html#a06bdad5c9b11e57c16ad623776ce5096", null ], - [ "time_flags", "classboost_1_1locale_1_1ios__info.html#ab8e618c7e292dba53d9334926522031e", null ], - [ "time_zone", "classboost_1_1locale_1_1ios__info.html#a3f140278815b521f1568c52d0a9fea11", null ], - [ "time_zone", "classboost_1_1locale_1_1ios__info.html#a0325f6eca8b939609614fe98e4e9ab42", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1localization__backend-members.html b/doc/html/classboost_1_1locale_1_1localization__backend-members.html deleted file mode 100644 index 6f9fa3bb..00000000 --- a/doc/html/classboost_1_1locale_1_1localization__backend-members.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::localization_backend Member List
-
-
- -

This is the complete list of members for boost::locale::localization_backend, including all inherited members.

- - - - - - - -
clear_options()=0boost::locale::localization_backendpure virtual
clone() const =0boost::locale::localization_backendpure virtual
install(std::locale const &base, locale_category_type category, character_facet_type type=nochar_facet)=0boost::locale::localization_backendpure virtual
localization_backend() (defined in boost::locale::localization_backend)boost::locale::localization_backendinline
set_option(std::string const &name, std::string const &value)=0boost::locale::localization_backendpure virtual
~localization_backend() (defined in boost::locale::localization_backend)boost::locale::localization_backendinlinevirtual
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1localization__backend.html b/doc/html/classboost_1_1locale_1_1localization__backend.html deleted file mode 100644 index 9efed087..00000000 --- a/doc/html/classboost_1_1locale_1_1localization__backend.html +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::localization_backend Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::localization_backend Class Referenceabstract
-
-
- -

this class represents a localization backend that can be used for localizing your application. - More...

- -

#include <boost/locale/localization_backend.hpp>

- - - - - - - - - - -

-Public Member Functions

virtual localization_backendclone () const =0
 
virtual void set_option (std::string const &name, std::string const &value)=0
 
virtual void clear_options ()=0
 
virtual std::locale install (std::locale const &base, locale_category_type category, character_facet_type type=nochar_facet)=0
 
-

Detailed Description

-

this class represents a localization backend that can be used for localizing your application.

-

Backends are usually registered inside the localization backends manager and allow transparent support of different backends, so a user can switch the backend by simply linking the application to the correct one.

-

Backends may support different tuning options, but these are the default options available to the user for all of them

-
    -
  1. locale - the name of the locale in POSIX format like en_US.UTF-8
  2. -
  3. use_ansi_encoding - select system locale using ANSI codepages rather then UTF-8 under Windows by default
  4. -
  5. message_path - path to the location of message catalogs (vector of strings)
  6. -
  7. message_application - the name of applications that use message catalogs (vector of strings)
  8. -
-

Each backend can be installed with a different default priotiry so when you work with two different backends, you can specify priotiry so this backend will be chosen according to their priority.

-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
virtual void boost::locale::localization_backend::clear_options ()
-
-pure virtual
-
-

Clear all options

- -
-
- -
-
- - - - - -
- - - - - - - -
virtual localization_backend* boost::locale::localization_backend::clone () const
-
-pure virtual
-
-

Make a polymorphic copy of the backend

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
virtual std::locale boost::locale::localization_backend::install (std::locale const & base,
locale_category_type category,
character_facet_type type = nochar_facet 
)
-
-pure virtual
-
-

Create a facet for category category and character type type

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual void boost::locale::localization_backend::set_option (std::string const & name,
std::string const & value 
)
-
-pure virtual
-
-

Set option for backend, for example "locale" or "encoding"

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1localization__backend.js b/doc/html/classboost_1_1locale_1_1localization__backend.js deleted file mode 100644 index 8e27af32..00000000 --- a/doc/html/classboost_1_1locale_1_1localization__backend.js +++ /dev/null @@ -1,9 +0,0 @@ -var classboost_1_1locale_1_1localization__backend = -[ - [ "localization_backend", "classboost_1_1locale_1_1localization__backend.html#aaa6f0c623cd16d37c57682d2daeda96c", null ], - [ "~localization_backend", "classboost_1_1locale_1_1localization__backend.html#a045def1f964f706bf799d0f7720f668e", null ], - [ "clear_options", "classboost_1_1locale_1_1localization__backend.html#a631af306f8652dcf7874b0bb38ab8891", null ], - [ "clone", "classboost_1_1locale_1_1localization__backend.html#ab89828234ca84d4b43f3692bfbb08b25", null ], - [ "install", "classboost_1_1locale_1_1localization__backend.html#a5992c75d469f775ce1d18a0912bfa8a1", null ], - [ "set_option", "classboost_1_1locale_1_1localization__backend.html#a3dc9028eb813001f6cdd8fca937837ef", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1localization__backend__manager-members.html b/doc/html/classboost_1_1locale_1_1localization__backend__manager-members.html deleted file mode 100644 index dbbfcfb6..00000000 --- a/doc/html/classboost_1_1locale_1_1localization__backend__manager-members.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::localization_backend_manager Member List
-
- -
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1localization__backend__manager.html b/doc/html/classboost_1_1locale_1_1localization__backend__manager.html deleted file mode 100644 index 2ff79e08..00000000 --- a/doc/html/classboost_1_1locale_1_1localization__backend__manager.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::localization_backend_manager Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::localization_backend_manager Class Reference
-
-
- -

Localization backend manager is a class that holds various backend and allows creation of their combination or selection. - More...

- -

#include <boost/locale/localization_backend.hpp>

- - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 localization_backend_manager ()
 
 localization_backend_manager (localization_backend_manager const &)
 
localization_backend_manager
-const & 
operator= (localization_backend_manager const &)
 
 ~localization_backend_manager ()
 
std::auto_ptr
-< localization_backend
get () const
 
void add_backend (std::string const &name, std::auto_ptr< localization_backend > backend)
 
void remove_all_backends ()
 
std::vector< std::string > get_all_backends () const
 
void select (std::string const &backend_name, locale_category_type category=all_categories)
 
- - - - - -

-Static Public Member Functions

static localization_backend_manager global (localization_backend_manager const &)
 
static localization_backend_manager global ()
 
-

Detailed Description

-

Localization backend manager is a class that holds various backend and allows creation of their combination or selection.

-

Constructor & Destructor Documentation

- -
-
- - - - - - - -
boost::locale::localization_backend_manager::localization_backend_manager ()
-
-
- -
-
- - - - - - - - -
boost::locale::localization_backend_manager::localization_backend_manager (localization_backend_manager const & )
-
-
- -
-
- - - - - - - -
boost::locale::localization_backend_manager::~localization_backend_manager ()
-
-

Destructor

- -
-
-

Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
void boost::locale::localization_backend_manager::add_backend (std::string const & name,
std::auto_ptr< localization_backendbackend 
)
-
-

Add new backend to the manager, each backend should be uniquely defined by its name.

-

This library provides: "icu", "posix", "winapi" and "std" backends.

- -
-
- -
-
- - - - - - - -
std::auto_ptr<localization_backend> boost::locale::localization_backend_manager::get () const
-
-

Create new localization backend according to current settings.

- -
-
- -
-
- - - - - - - -
std::vector<std::string> boost::locale::localization_backend_manager::get_all_backends () const
-
-

Get list of all available backends

- -
-
- -
-
- - - - - -
- - - - - - - - -
static localization_backend_manager boost::locale::localization_backend_manager::global (localization_backend_manager const & )
-
-static
-
-

Set new global backend manager, the old one is returned.

-

This function is thread safe

- -
-
- -
-
- - - - - -
- - - - - - - -
static localization_backend_manager boost::locale::localization_backend_manager::global ()
-
-static
-
-

Get global backend manager

-

This function is thread safe

- -
-
- -
-
- - - - - - - - -
localization_backend_manager const& boost::locale::localization_backend_manager::operator= (localization_backend_manager const & )
-
-
- -
-
- - - - - - - -
void boost::locale::localization_backend_manager::remove_all_backends ()
-
-

Clear backend

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void boost::locale::localization_backend_manager::select (std::string const & backend_name,
locale_category_type category = all_categories 
)
-
-

Select specific backend by name for a category category. It allows combining different backends for user preferences.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1localization__backend__manager.js b/doc/html/classboost_1_1locale_1_1localization__backend__manager.js deleted file mode 100644 index 83467c28..00000000 --- a/doc/html/classboost_1_1locale_1_1localization__backend__manager.js +++ /dev/null @@ -1,14 +0,0 @@ -var classboost_1_1locale_1_1localization__backend__manager = -[ - [ "localization_backend_manager", "classboost_1_1locale_1_1localization__backend__manager.html#a0407271db5e7722f901c510474c3581f", null ], - [ "localization_backend_manager", "classboost_1_1locale_1_1localization__backend__manager.html#ad2fb02931f4b202eedc46b3da4a24449", null ], - [ "~localization_backend_manager", "classboost_1_1locale_1_1localization__backend__manager.html#a7e602229ef95ea60834fdea95110bf19", null ], - [ "add_backend", "classboost_1_1locale_1_1localization__backend__manager.html#ae3c6eca5cc54c5161fef3bfd14509c64", null ], - [ "get", "classboost_1_1locale_1_1localization__backend__manager.html#a89d377e934af287573212581cab70dd6", null ], - [ "get_all_backends", "classboost_1_1locale_1_1localization__backend__manager.html#a7bd336cf325b0ee284ab8a07813679c0", null ], - [ "global", "classboost_1_1locale_1_1localization__backend__manager.html#a65649bc161a0cc160da9b40a9ad14e20", null ], - [ "global", "classboost_1_1locale_1_1localization__backend__manager.html#a0935a48d3012f62197f4e92119ee62b5", null ], - [ "operator=", "classboost_1_1locale_1_1localization__backend__manager.html#af506ec1809f2f67c71f590862f63eeab", null ], - [ "remove_all_backends", "classboost_1_1locale_1_1localization__backend__manager.html#a8c9841c83aa85dbf8f61b2e17732499a", null ], - [ "select", "classboost_1_1locale_1_1localization__backend__manager.html#adf33775a09e7a765c3401e769019e915", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1message__format-members.html b/doc/html/classboost_1_1locale_1_1message__format-members.html deleted file mode 100644 index cb900370..00000000 --- a/doc/html/classboost_1_1locale_1_1message__format-members.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::message_format< CharType > Member List
-
-
- -

This is the complete list of members for boost::locale::message_format< CharType >, including all inherited members.

- - - - - - - - - -
char_type typedefboost::locale::message_format< CharType >
convert(char_type const *msg, string_type &buffer) const =0boost::locale::message_format< CharType >pure virtual
domain(std::string const &domain) const =0boost::locale::message_format< CharType >pure virtual
get(int domain_id, char_type const *context, char_type const *id) const =0boost::locale::message_format< CharType >pure virtual
get(int domain_id, char_type const *context, char_type const *single_id, int n) const =0boost::locale::message_format< CharType >pure virtual
message_format(size_t refs=0)boost::locale::message_format< CharType >inline
string_type typedefboost::locale::message_format< CharType >
~message_format() (defined in boost::locale::message_format< CharType >)boost::locale::message_format< CharType >inlineprotectedvirtual
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1message__format.html b/doc/html/classboost_1_1locale_1_1message__format.html deleted file mode 100644 index c7dba4cf..00000000 --- a/doc/html/classboost_1_1locale_1_1message__format.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::message_format< CharType > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::message_format< CharType > Class Template Referenceabstract
-
-
- -

This facet provides message formatting abilities. - More...

- -

#include <boost/locale/message.hpp>

-
-Inheritance diagram for boost::locale::message_format< CharType >:
-
-
- - - -
- - - - - - -

-Public Types

typedef CharType char_type
 
typedef std::basic_string
-< CharType > 
string_type
 
- - - - - - - - - - - -

-Public Member Functions

 message_format (size_t refs=0)
 
virtual char_type const * get (int domain_id, char_type const *context, char_type const *id) const =0
 
virtual char_type const * get (int domain_id, char_type const *context, char_type const *single_id, int n) const =0
 
virtual int domain (std::string const &domain) const =0
 
virtual char_type const * convert (char_type const *msg, string_type &buffer) const =0
 
-

Detailed Description

-

template<typename CharType>
-class boost::locale::message_format< CharType >

- -

This facet provides message formatting abilities.

-

The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1message__format.js b/doc/html/classboost_1_1locale_1_1message__format.js deleted file mode 100644 index 994393d1..00000000 --- a/doc/html/classboost_1_1locale_1_1message__format.js +++ /dev/null @@ -1,11 +0,0 @@ -var classboost_1_1locale_1_1message__format = -[ - [ "char_type", "group__message.html#ga83f473295edf14b9e1ae1476b81231bc", null ], - [ "string_type", "group__message.html#gaaa932705310ce196fccc9d672b25518f", null ], - [ "message_format", "group__message.html#gafa681d0df94a35f9d75c16dea099d03e", null ], - [ "~message_format", "group__message.html#ga13350b28d416a59a92eddd22f68e57fc", null ], - [ "convert", "group__message.html#ga3f2c9d7f9a363efa607738083a986251", null ], - [ "domain", "group__message.html#ga73e25178ba9ef91ebe1df0aade4d8ae6", null ], - [ "get", "group__message.html#ga4f65e4e1c3995eb09dd8f8f0e150a012", null ], - [ "get", "group__message.html#gabb35b8a77bca9d28c5d5c266b66fe291", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1message__format.png b/doc/html/classboost_1_1locale_1_1message__format.png deleted file mode 100644 index 3a07a454..00000000 Binary files a/doc/html/classboost_1_1locale_1_1message__format.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1period_1_1period__type-members.html b/doc/html/classboost_1_1locale_1_1period_1_1period__type-members.html deleted file mode 100644 index 79fc1b11..00000000 --- a/doc/html/classboost_1_1locale_1_1period_1_1period__type-members.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::period::period_type Member List
-
-
- -

This is the complete list of members for boost::locale::period::period_type, including all inherited members.

- - - - - -
mark() const boost::locale::period::period_typeinline
operator!=(period_type const &other) const boost::locale::period::period_typeinline
operator==(period_type const &other) const boost::locale::period::period_typeinline
period_type(marks::period_mark m=marks::invalid)boost::locale::period::period_typeinline
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1period_1_1period__type.html b/doc/html/classboost_1_1locale_1_1period_1_1period__type.html deleted file mode 100644 index 2c76c000..00000000 --- a/doc/html/classboost_1_1locale_1_1period_1_1period__type.html +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::period::period_type Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::period::period_type Class Reference
-
-
- -

This class holds a type that represents certain period of time like year, hour, second and so on. - More...

- -

#include <boost/locale/date_time_facet.hpp>

- - - - - - - - - - -

-Public Member Functions

 period_type (marks::period_mark m=marks::invalid)
 
marks::period_mark mark () const
 
bool operator== (period_type const &other) const
 
bool operator!= (period_type const &other) const
 
-

Detailed Description

-

This class holds a type that represents certain period of time like year, hour, second and so on.

-

It can be created from either marks::period_mark type or by using shortcuts in period namespace - calling functions like period::year(), period::hour() and so on.

-

Basically it represents the same object as enum marks::period_mark but allows to provide save operator overloading that would not collide with casing of enum to numeric values.

-

Constructor & Destructor Documentation

- -
-
- - - - - -
- - - - - - - - -
boost::locale::period::period_type::period_type (marks::period_mark m = marks::invalid)
-
-inline
-
-

Create a period of specific type, default is invalid.

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
marks::period_mark boost::locale::period::period_type::mark () const
-
-inline
-
-

Get the value of marks::period_mark it was created with.

- -
-
- -
-
- - - - - -
- - - - - - - - -
bool boost::locale::period::period_type::operator!= (period_type const & other) const
-
-inline
-
-

Check if two periods are different

- -
-
- -
-
- - - - - -
- - - - - - - - -
bool boost::locale::period::period_type::operator== (period_type const & other) const
-
-inline
-
-

Check if two periods are the same

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1period_1_1period__type.js b/doc/html/classboost_1_1locale_1_1period_1_1period__type.js deleted file mode 100644 index 8ca8f55d..00000000 --- a/doc/html/classboost_1_1locale_1_1period_1_1period__type.js +++ /dev/null @@ -1,7 +0,0 @@ -var classboost_1_1locale_1_1period_1_1period__type = -[ - [ "period_type", "classboost_1_1locale_1_1period_1_1period__type.html#a8abba35d5073884677ce69ec3ba3eba7", null ], - [ "mark", "classboost_1_1locale_1_1period_1_1period__type.html#ad81b414edc6ea88accc5dad5d17a351b", null ], - [ "operator!=", "classboost_1_1locale_1_1period_1_1period__type.html#a0156ce442f97fd86fa7c702e4d24031a", null ], - [ "operator==", "classboost_1_1locale_1_1period_1_1period__type.html#a53ac6fdbaa7ae1b6d90e67bb5aadcce0", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1utf8__codecvt-members.html b/doc/html/classboost_1_1locale_1_1utf8__codecvt-members.html deleted file mode 100644 index 9de39638..00000000 --- a/doc/html/classboost_1_1locale_1_1utf8__codecvt-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::utf8_codecvt< CharType > Member List
-
-
- -

This is the complete list of members for boost::locale::utf8_codecvt< CharType >, including all inherited members.

- - - - - - -
from_unicode(state_type &, utf::code_point u, char *begin, char const *end) (defined in boost::locale::utf8_codecvt< CharType >)boost::locale::utf8_codecvt< CharType >inlinestatic
initial_state(generic_codecvt_base::initial_convertion_state) (defined in boost::locale::utf8_codecvt< CharType >)boost::locale::utf8_codecvt< CharType >inlinestatic
max_encoding_length() (defined in boost::locale::utf8_codecvt< CharType >)boost::locale::utf8_codecvt< CharType >inlinestatic
to_unicode(state_type &, char const *&begin, char const *end) (defined in boost::locale::utf8_codecvt< CharType >)boost::locale::utf8_codecvt< CharType >inlinestatic
utf8_codecvt(size_t refs=0) (defined in boost::locale::utf8_codecvt< CharType >)boost::locale::utf8_codecvt< CharType >inline
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1utf8__codecvt.html b/doc/html/classboost_1_1locale_1_1utf8__codecvt.html deleted file mode 100644 index be6db689..00000000 --- a/doc/html/classboost_1_1locale_1_1utf8__codecvt.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::utf8_codecvt< CharType > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::utf8_codecvt< CharType > Class Template Reference
-
-
- -

Geneneric utf8 codecvt facet, it allows to convert UTF-8 strings to UTF-16 and UTF-32 using wchar_t, char32_t and char16_t. - More...

- -

#include <boost/locale/utf8_codecvt.hpp>

-
-Inheritance diagram for boost::locale::utf8_codecvt< CharType >:
-
-
- - -boost::locale::generic_codecvt< CharType, utf8_codecvt< CharType > > - -
- - - - -

-Classes

struct  state_type
 
- - - -

-Public Member Functions

utf8_codecvt (size_t refs=0)
 
- - - - - - - - - -

-Static Public Member Functions

-static int max_encoding_length ()
 
-static state_type initial_state (generic_codecvt_base::initial_convertion_state)
 
-static utf::code_point to_unicode (state_type &, char const *&begin, char const *end)
 
-static utf::code_point from_unicode (state_type &, utf::code_point u, char *begin, char const *end)
 
-

Detailed Description

-

template<typename CharType>
-class boost::locale::utf8_codecvt< CharType >

- -

Geneneric utf8 codecvt facet, it allows to convert UTF-8 strings to UTF-16 and UTF-32 using wchar_t, char32_t and char16_t.

-

The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1utf8__codecvt.js b/doc/html/classboost_1_1locale_1_1utf8__codecvt.js deleted file mode 100644 index 59db2e40..00000000 --- a/doc/html/classboost_1_1locale_1_1utf8__codecvt.js +++ /dev/null @@ -1,9 +0,0 @@ -var classboost_1_1locale_1_1utf8__codecvt = -[ - [ "state_type", "structboost_1_1locale_1_1utf8__codecvt_1_1state__type.html", null ], - [ "utf8_codecvt", "classboost_1_1locale_1_1utf8__codecvt.html#a650f2dd476003f783e586f8e375601a7", null ], - [ "from_unicode", "classboost_1_1locale_1_1utf8__codecvt.html#a6a5baf5525ad5a147b8ee5442d6eee9b", null ], - [ "initial_state", "classboost_1_1locale_1_1utf8__codecvt.html#a009f04bfc57d0bedbb1ba5e1236f81f0", null ], - [ "max_encoding_length", "classboost_1_1locale_1_1utf8__codecvt.html#a99625ff09e266b781fd5ec0b27c98d4f", null ], - [ "to_unicode", "classboost_1_1locale_1_1utf8__codecvt.html#ab58e38a52e88c431f3ea5b9cc00f7f93", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1locale_1_1utf8__codecvt.png b/doc/html/classboost_1_1locale_1_1utf8__codecvt.png deleted file mode 100644 index 03913fc0..00000000 Binary files a/doc/html/classboost_1_1locale_1_1utf8__codecvt.png and /dev/null differ diff --git a/doc/html/classboost_1_1locale_1_1util_1_1base__converter-members.html b/doc/html/classboost_1_1locale_1_1util_1_1base__converter-members.html deleted file mode 100644 index a29a49e7..00000000 --- a/doc/html/classboost_1_1locale_1_1util_1_1base__converter-members.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -Boost.Locale: Member List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::locale::util::base_converter Member List
-
-
- -

This is the complete list of members for boost::locale::util::base_converter, including all inherited members.

- - - - - - - - - -
clone() const boost::locale::util::base_converterinlinevirtual
from_unicode(uint32_t u, char *begin, char const *end)boost::locale::util::base_converterinlinevirtual
illegalboost::locale::util::base_converterstatic
incompleteboost::locale::util::base_converterstatic
is_thread_safe() const boost::locale::util::base_converterinlinevirtual
max_len() const boost::locale::util::base_converterinlinevirtual
to_unicode(char const *&begin, char const *end)boost::locale::util::base_converterinlinevirtual
~base_converter() (defined in boost::locale::util::base_converter)boost::locale::util::base_converterinlinevirtual
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1util_1_1base__converter.html b/doc/html/classboost_1_1locale_1_1util_1_1base__converter.html deleted file mode 100644 index 2718df78..00000000 --- a/doc/html/classboost_1_1locale_1_1util_1_1base__converter.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - -Boost.Locale: boost::locale::util::base_converter Class Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
- -
-
boost::locale::util::base_converter Class Reference
-
-
- -

This class represent a simple stateless converter from UCS-4 and to UCS-4 for each single code point. - More...

- -

#include <boost/locale/util.hpp>

- - - - - - - - - - - - -

-Public Member Functions

virtual int max_len () const
 
virtual bool is_thread_safe () const
 
virtual base_converterclone () const
 
virtual uint32_t to_unicode (char const *&begin, char const *end)
 
virtual uint32_t from_unicode (uint32_t u, char *begin, char const *end)
 
- - - - - -

-Static Public Attributes

static const uint32_t illegal =utf::illegal
 
static const uint32_t incomplete =utf::incomplete
 
-

Detailed Description

-

This class represent a simple stateless converter from UCS-4 and to UCS-4 for each single code point.

-

This class is used for creation of std::codecvt facet for converting utf-16/utf-32 encoding to encoding supported by this converter

-

Please note, this converter should be fully stateless. Fully stateless means it should never assume that it is called in any specific order on the text. Even if the encoding itself seems to be stateless like windows-1255 or shift-jis, some encoders (most notably iconv) can actually compose several code-point into one or decompose them in case composite characters are found. So be very careful when implementing these converters for certain character set.

-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
virtual base_converter* boost::locale::util::base_converter::clone () const
-
-inlinevirtual
-
-

Create a polymorphic copy of this object, usually called only if is_thread_safe() return false

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
virtual uint32_t boost::locale::util::base_converter::from_unicode (uint32_t u,
char * begin,
char const * end 
)
-
-inlinevirtual
-
-

Convert a single code-point u into encoding and store it in [begin,end) range.

-

If u is invalid Unicode code-point, or it can not be mapped correctly to represented character set, illegal should be returned

-

If u can be converted to a sequence of bytes c1, ... , cN (1<= N <= max_len() ) then

-
    -
  1. If end - begin >= N, c1, ... cN are written starting at begin and N is returned
  2. -
  3. If end - begin < N, incomplete is returned, it is unspecified what would be stored in bytes in range [begin,end)
  4. -
- -
-
- -
-
- - - - - -
- - - - - - - -
virtual bool boost::locale::util::base_converter::is_thread_safe () const
-
-inlinevirtual
-
-

Returns true if calling the functions from_unicode, to_unicode, and max_len is thread safe.

-

Rule of thumb: if this class' implementation uses simple tables that are unchanged or is purely algorithmic like UTF-8 - so it does not share any mutable bit for independent to_unicode, from_unicode calls, you may set it to true, otherwise, for example if you use iconv_t descriptor or UConverter as conversion object return false, and this object will be cloned for each use.

- -
-
- -
-
- - - - - -
- - - - - - - -
virtual int boost::locale::util::base_converter::max_len () const
-
-inlinevirtual
-
-

Return the maximal length that one Unicode code-point can be converted to, for example for UTF-8 it is 4, for Shift-JIS it is 2 and ISO-8859-1 is 1

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual uint32_t boost::locale::util::base_converter::to_unicode (char const *& begin,
char const * end 
)
-
-inlinevirtual
-
-

Convert a single character starting at begin and ending at most at end to Unicode code-point.

-

if valid input sequence found in [begin,code_point_end) such as begin < code_point_end && code_point_end <= end it is converted to its Unicode code point equivalent, begin is set to code_point_end

-

if incomplete input sequence found in [begin,end), i.e. there my be such code_point_end that code_point_end > end and [begin, code_point_end) would be valid input sequence, then incomplete is returned begin stays unchanged, for example for UTF-8 conversion a *begin = 0xc2, begin +1 = end is such situation.

-

if invalid input sequence found, i.e. there is a sequence [begin, code_point_end) such as code_point_end <= end that is illegal for this encoding, illegal is returned and begin stays unchanged. For example if *begin = 0xFF and begin < end for UTF-8, then illegal is returned.

- -
-
-

Member Data Documentation

- -
-
- - - - - -
- - - - -
const uint32_t boost::locale::util::base_converter::illegal =utf::illegal
-
-static
-
-

This value should be returned when an illegal input sequence or code-point is observed: For example if a UCS-32 code-point is in the range reserved for UTF-16 surrogates or an invalid UTF-8 sequence is found

- -
-
- -
-
- - - - - -
- - - - -
const uint32_t boost::locale::util::base_converter::incomplete =utf::incomplete
-
-static
-
-

This value is returned in following cases: The of incomplete input sequence was found or insufficient output buffer was provided so complete output could not be written.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classboost_1_1locale_1_1util_1_1base__converter.js b/doc/html/classboost_1_1locale_1_1util_1_1base__converter.js deleted file mode 100644 index 1ce12b95..00000000 --- a/doc/html/classboost_1_1locale_1_1util_1_1base__converter.js +++ /dev/null @@ -1,11 +0,0 @@ -var classboost_1_1locale_1_1util_1_1base__converter = -[ - [ "~base_converter", "classboost_1_1locale_1_1util_1_1base__converter.html#aeae09b0913e18d1aa12b7c66b77a3620", null ], - [ "clone", "classboost_1_1locale_1_1util_1_1base__converter.html#a702b31840be6f5c540cd22ac75cb2349", null ], - [ "from_unicode", "classboost_1_1locale_1_1util_1_1base__converter.html#afeecf1ee2699c26960cbf2d7d6d71d41", null ], - [ "is_thread_safe", "classboost_1_1locale_1_1util_1_1base__converter.html#aadcc2c1a767f9d24972c6995e81c1315", null ], - [ "max_len", "classboost_1_1locale_1_1util_1_1base__converter.html#ab2332b78e3e0c0b94ea3f6dafd123d60", null ], - [ "to_unicode", "classboost_1_1locale_1_1util_1_1base__converter.html#a27181b314e09f62ae9ea8fcd30d4e7c4", null ], - [ "illegal", "classboost_1_1locale_1_1util_1_1base__converter.html#aa02e2dfd8ddc2b40a8705c6ea7fa8d48", null ], - [ "incomplete", "classboost_1_1locale_1_1util_1_1base__converter.html#aa78dd2bae2783e31a00849a4e74aeb1e", null ] -]; \ No newline at end of file diff --git a/doc/html/classboost_1_1shared__ptr.html b/doc/html/classboost_1_1shared__ptr.html deleted file mode 100644 index 993b3bdd..00000000 --- a/doc/html/classboost_1_1shared__ptr.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - -Boost.Locale: boost::shared_ptr< Type > Class Template Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
boost::shared_ptr< Type > Class Template Reference
-
-
-
The documentation for this class was generated from the following file: -
-
- - - - - - diff --git a/doc/html/classes.html b/doc/html/classes.html deleted file mode 100644 index 56562f20..00000000 --- a/doc/html/classes.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - -Boost.Locale: Class Index - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
Class Index
-
-
-
A | B | C | D | G | H | I | L | M | P | S | U
- - - - - - - - - - - - - - - - - -
  a  
-
calendar_facet (boost::locale)   messages_info::domain (boost::locale::gnu_gettext)   invalid_charset_error (boost::locale::conv)   
  s  
-
collator (boost::locale)   
  g  
-
ios_info (boost::locale)   
abstract_calendar (boost::locale)   collator_base (boost::locale)   
  l  
-
segment (boost::locale::boundary)   
  b  
-
comparator (boost::locale)   generator (boost::locale)   segment_index (boost::locale::boundary)   
conversion_error (boost::locale::conv)   generic_codecvt (boost::locale)   localization_backend (boost::locale)   shared_ptr (boost)   
base_converter (boost::locale::util)   converter (boost::locale)   generic_codecvt< CharType, CodecvtImpl, 1 > (boost::locale)   localization_backend_manager (boost::locale)   utf8_codecvt::state_type (boost::locale)   
basic_format (boost::locale)   converter_base (boost::locale)   generic_codecvt< CharType, CodecvtImpl, 2 > (boost::locale)   
  m  
-
  u  
-
basic_message (boost::locale)   
  d  
-
generic_codecvt< CharType, CodecvtImpl, 4 > (boost::locale)   
boundary_indexing (boost::locale::boundary)   generic_codecvt_base (boost::locale)   message_format (boost::locale)   utf8_codecvt (boost::locale)   
boundary_point (boost::locale::boundary)   date_time (boost::locale)   
  h  
-
messages_info (boost::locale::gnu_gettext)   utf_traits (boost::locale::utf)   
boundary_point_index (boost::locale::boundary)   date_time_duration (boost::locale)   
  p  
-
break_info (boost::locale::boundary)   date_time_error (boost::locale)   hold_ptr (boost::locale)   
  c  
-
date_time_period (boost::locale)   
  i  
-
period_type (boost::locale::period)   
date_time_period_set (boost::locale)   posix_time (boost::locale)   
calendar (boost::locale)   info (boost::locale)   
-
A | B | C | D | G | H | I | L | M | P | S | U
-
-
- - - - - - diff --git a/doc/html/closed.png b/doc/html/closed.png deleted file mode 100644 index 98cc2c90..00000000 Binary files a/doc/html/closed.png and /dev/null differ diff --git a/doc/html/collate_8cpp-example.html b/doc/html/collate_8cpp-example.html deleted file mode 100644 index b9724d5d..00000000 --- a/doc/html/collate_8cpp-example.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - -Boost.Locale: collate.cpp - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
collate.cpp
-
-
-

Example of using collation functions

-
//
-
// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
//
-
// Distributed under the Boost Software License, Version 1.0. (See
-
// accompanying file LICENSE_1_0.txt or copy at
-
// http://www.boost.org/LICENSE_1_0.txt)
-
//
-
#include <iostream>
-
#include <string>
-
#include <set>
-
-
#include <boost/locale.hpp>
-
-
using namespace std;
-
using namespace boost::locale;
-
-
int main()
-
{
-
generator gen;
-
std::locale::global(gen(""));
-
-
typedef std::set<std::string,std::locale> set_type;
-
set_type all_strings;
-
-
while(!cin.eof()) {
-
std::string tmp;
-
getline(cin,tmp);
-
all_strings.insert(tmp);
-
}
-
for(set_type::iterator p=all_strings.begin();p!=all_strings.end();++p) {
-
cout<<*p<<endl;
-
}
-
-
}
-
// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
-
- - - - - - diff --git a/doc/html/collation.html b/doc/html/collation.html deleted file mode 100644 index 421734c3..00000000 --- a/doc/html/collation.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - -Boost.Locale: Collation - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Collation
-
-
-

Boost.Locale provides a collator class, derived from std::collate, that adds support for primary, secondary, tertiary, quaternary and identical comparison levels. They can be approximately defined as:

-
    -
  1. Primary – ignore accents and character case, comparing base letters only. For example "facade" and "Façade" are the same.
  2. -
  3. Secondary – ignore character case but consider accents. "facade" and "façade" are different but "Façade" and "façade" are the same.
  4. -
  5. Tertiary – consider both case and accents: "Façade" and "façade" are different. Ignore punctuation.
  6. -
  7. Quaternary – consider all case, accents, and punctuation. The words must be identical in terms of Unicode representation.
  8. -
  9. Identical – as quaternary, but compare code points as well.
  10. -
-

There are two ways of using the collator facet: directly, by calling its member functions compare, transform and hash, or indirectly by using the comparator template class in STL algorithms.

-

For example:

-
wstring a=L"Façade", b=L"facade";
-
bool eq = 0 == use_facet<collator<wchar_t> >(loc).compare(collator_base::secondary,a,b);
-
wcout << a <<L" and "<<b<<L" are " << (eq ? L"identical" : L"different")<<endl;
-

std::locale is designed to be useful as a comparison class in STL collections and algorithms. To get similar functionality with comparison levels, you must use the comparator class.

-
std::map<std::string,std::string,comparator<char,collator_base::secondary> > strings;
-
// Now strings uses the default system locale for string comparison
-

You can also set a specific locale or level when creating and using the comparator class:

-
comparator<char> comp(some_locale,some_level);
-
std::map<std::string,std::string,comparator<char> > strings(comp);
-
-
- - - - - - diff --git a/doc/html/collator_8hpp_source.html b/doc/html/collator_8hpp_source.html deleted file mode 100644 index a5a20dab..00000000 --- a/doc/html/collator_8hpp_source.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/collator.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
collator.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_COLLATOR_HPP_INCLUDED
-
9 #define BOOST_LOCALE_COLLATOR_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/config.hpp>
-
12 #ifdef BOOST_MSVC
-
13 # pragma warning(push)
-
14 # pragma warning(disable : 4275 4251 4231 4660)
-
15 #endif
-
16 #include <locale>
-
17 
-
18 
-
19 namespace boost {
-
20 namespace locale {
-
21 
-
22  class info;
-
23 
-
30 
-
34 
-
35  class collator_base {
-
36  public:
-
40  typedef enum {
-
41  primary = 0,
-
42  secondary = 1,
-
43  tertiary = 2,
-
44  quaternary = 3,
-
45  identical = 4
-
46  } level_type;
-
47  };
-
48 
-
55  template<typename CharType>
-
56  class collator :
-
57  public std::collate<CharType>,
-
58  public collator_base
-
59  {
-
60  public:
-
64  typedef CharType char_type;
-
68  typedef std::basic_string<CharType> string_type;
-
69 
-
70 
-
77  int compare(level_type level,
-
78  char_type const *b1,char_type const *e1,
-
79  char_type const *b2,char_type const *e2) const
-
80  {
-
81  return do_compare(level,b1,e1,b2,e2);
-
82  }
-
94  string_type transform(level_type level,char_type const *b,char_type const *e) const
-
95  {
-
96  return do_transform(level,b,e);
-
97  }
-
98 
-
106  long hash(level_type level,char_type const *b,char_type const *e) const
-
107  {
-
108  return do_hash(level,b,e);
-
109  }
-
110 
-
118  int compare(level_type level,string_type const &l,string_type const &r) const
-
119  {
-
120  return do_compare(level,l.data(),l.data()+l.size(),r.data(),r.data()+r.size());
-
121  }
-
122 
-
128 
-
129  long hash(level_type level,string_type const &s) const
-
130  {
-
131  return do_hash(level,s.data(),s.data()+s.size());
-
132  }
- -
143  {
-
144  return do_transform(level,s.data(),s.data()+s.size());
-
145  }
-
146 
-
147  protected:
-
148 
-
152  collator(size_t refs = 0) : std::collate<CharType>(refs)
-
153  {
-
154  }
-
155 
-
156  virtual ~collator()
-
157  {
-
158  }
-
159 
-
164  virtual int do_compare( char_type const *b1,char_type const *e1,
-
165  char_type const *b2,char_type const *e2) const
-
166  {
-
167  return do_compare(identical,b1,e1,b2,e2);
-
168  }
-
173  virtual string_type do_transform(char_type const *b,char_type const *e) const
-
174  {
-
175  return do_transform(identical,b,e);
-
176  }
-
181  virtual long do_hash(char_type const *b,char_type const *e) const
-
182  {
-
183  return do_hash(identical,b,e);
-
184  }
-
185 
-
189  virtual int do_compare( level_type level,
-
190  char_type const *b1,char_type const *e1,
-
191  char_type const *b2,char_type const *e2) const = 0;
-
195  virtual string_type do_transform(level_type level,char_type const *b,char_type const *e) const = 0;
-
199  virtual long do_hash(level_type level,char_type const *b,char_type const *e) const = 0;
-
200 
-
201 
-
202  };
-
203 
-
216  template<typename CharType,collator_base::level_type default_level = collator_base::identical>
-
217  struct comparator
-
218  {
-
219  public:
-
225  comparator(std::locale const &l=std::locale(),collator_base::level_type level=default_level) :
-
226  locale_(l),
-
227  level_(level)
-
228  {
-
229  }
-
230 
-
234  bool operator()(std::basic_string<CharType> const &left,std::basic_string<CharType> const &right) const
-
235  {
-
236  return std::use_facet<collator<CharType> >(locale_).compare(level_,left,right) < 0;
-
237  }
-
238  private:
-
239  std::locale locale_;
- -
241  };
-
242 
-
243 
-
247 
-
248  } // locale
-
249 } // boost
-
250 
-
251 #ifdef BOOST_MSVC
-
252 #pragma warning(pop)
-
253 #endif
-
254 
-
255 
-
256 #endif
-
257 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
a facet that holds general information about locale
Definition: info.hpp:27
-
1st collation level: base letters
Definition: collator.hpp:41
-
2nd collation level: letters and accents
Definition: collator.hpp:42
-
virtual int do_compare(char_type const *b1, char_type const *e1, char_type const *b2, char_type const *e2) const
Definition: collator.hpp:164
-
level_type
Definition: collator.hpp:40
-
CharType char_type
Definition: collator.hpp:64
-
identical collation level: include code-point comparison
Definition: collator.hpp:45
-
long hash(level_type level, char_type const *b, char_type const *e) const
Definition: collator.hpp:106
-
int compare(level_type level, char_type const *b1, char_type const *e1, char_type const *b2, char_type const *e2) const
Definition: collator.hpp:77
-
std::basic_string< CharType > string_type
Definition: collator.hpp:68
-
a base class that includes collation level flags
Definition: collator.hpp:35
-
collator(size_t refs=0)
Definition: collator.hpp:152
-
virtual string_type do_transform(char_type const *b, char_type const *e) const
Definition: collator.hpp:173
-
long hash(level_type level, string_type const &s) const
Definition: collator.hpp:129
-
int compare(level_type level, string_type const &l, string_type const &r) const
Definition: collator.hpp:118
-
string_type transform(level_type level, char_type const *b, char_type const *e) const
Definition: collator.hpp:94
-
bool operator()(std::basic_string< CharType > const &left, std::basic_string< CharType > const &right) const
Definition: collator.hpp:234
-
4th collation level: letters, accents, case and punctuation
Definition: collator.hpp:44
-
Collation facet.
Definition: collator.hpp:56
-
string_type transform(level_type level, string_type const &s) const
Definition: collator.hpp:142
-
virtual long do_hash(char_type const *b, char_type const *e) const
Definition: collator.hpp:181
-
3rd collation level: letters, accents and case
Definition: collator.hpp:43
-
comparator(std::locale const &l=std::locale(), collator_base::level_type level=default_level)
Definition: collator.hpp:225
-
This class can be used in STL algorithms and containers for comparison of strings with a level other ...
Definition: collator.hpp:217
-
-
- - - - - - diff --git a/doc/html/config_8hpp_source.html b/doc/html/config_8hpp_source.html deleted file mode 100644 index 8a7cedf2..00000000 --- a/doc/html/config_8hpp_source.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/config.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
config.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_CONFIG_HPP_INCLUDED
-
9 #define BOOST_LOCALE_CONFIG_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/definitions.hpp>
-
12 
-
13 //
-
14 // Automatically link to the correct build variant where possible.
-
15 //
-
16 #if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_LOCALE_NO_LIB) && !defined(BOOST_LOCALE_SOURCE)
-
17 //
-
18 // Set the name of our library, this will get undef'ed by auto_link.hpp
-
19 // once it's done with it:
-
20 //
-
21 #define BOOST_LIB_NAME boost_locale
-
22 //
-
23 // If we're importing code from a dll, then tell auto_link.hpp about it:
-
24 //
-
25 #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_LOCALE_DYN_LINK)
-
26 # define BOOST_DYN_LINK
-
27 #endif
-
28 //
-
29 // And include the header that does the work:
-
30 //
-
31 #include <boost/config/auto_link.hpp>
-
32 #endif // auto-linking disabled
-
33 
-
34 
-
35 #endif // boost/locale/config.hpp
-
36 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
37 
-
-
- - - - - - diff --git a/doc/html/conversion_8hpp_source.html b/doc/html/conversion_8hpp_source.html deleted file mode 100644 index ac8cc711..00000000 --- a/doc/html/conversion_8hpp_source.html +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/conversion.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
conversion.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_CONVERTER_HPP_INCLUDED
-
9 #define BOOST_LOCALE_CONVERTER_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/config.hpp>
-
12 #ifdef BOOST_MSVC
-
13 # pragma warning(push)
-
14 # pragma warning(disable : 4275 4251 4231 4660)
-
15 #endif
-
16 #include <locale>
-
17 
-
18 
-
19 namespace boost {
-
20  namespace locale {
-
21 
-
28 
-
29 
- -
34  public:
-
38  typedef enum {
- - - - - - -
45  };
-
46 
-
47  template<typename CharType>
-
48  class converter;
-
49 
-
50  #ifdef BOOST_LOCALE_DOXYGEN
-
51  template<typename Char>
-
58  class BOOST_LOCALE_DECL converter: public converter_base, public std::locale::facet {
-
59  public:
-
61  static std::locale::id id;
-
62 
-
64  converter(size_t refs = 0) : std::locale::facet(refs)
-
65  {
-
66  }
-
71  virtual std::basic_string<Char> convert(conversion_type how,Char const *begin,Char const *end,int flags = 0) const = 0;
-
72 #if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
-
73  std::locale::id& __get_id (void) const { return id; }
-
74 #endif
-
75  };
-
76  #else
-
77 
-
78  template<>
-
79  class BOOST_LOCALE_DECL converter<char> : public converter_base, public std::locale::facet {
-
80  public:
-
81  static std::locale::id id;
-
82 
-
83  converter(size_t refs = 0) : std::locale::facet(refs)
-
84  {
-
85  }
-
86  virtual std::string convert(conversion_type how,char const *begin,char const *end,int flags = 0) const = 0;
-
87 #if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
-
88  std::locale::id& __get_id (void) const { return id; }
-
89 #endif
-
90  };
-
91 
-
92  template<>
-
93  class BOOST_LOCALE_DECL converter<wchar_t> : public converter_base, public std::locale::facet {
-
94  public:
-
95  static std::locale::id id;
-
96  converter(size_t refs = 0) : std::locale::facet(refs)
-
97  {
-
98  }
-
99  virtual std::wstring convert(conversion_type how,wchar_t const *begin,wchar_t const *end,int flags = 0) const = 0;
-
100 #if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
-
101  std::locale::id& __get_id (void) const { return id; }
-
102 #endif
-
103  };
-
104 
-
105  #ifdef BOOST_LOCALE_ENABLE_CHAR16_T
-
106  template<>
-
107  class BOOST_LOCALE_DECL converter<char16_t> : public converter_base, public std::locale::facet {
-
108  public:
-
109  static std::locale::id id;
-
110  converter(size_t refs = 0) : std::locale::facet(refs)
-
111  {
-
112  }
-
113  virtual std::u16string convert(conversion_type how,char16_t const *begin,char16_t const *end,int flags = 0) const = 0;
-
114 #if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
-
115  std::locale::id& __get_id (void) const { return id; }
-
116 #endif
-
117  };
-
118  #endif
-
119 
-
120  #ifdef BOOST_LOCALE_ENABLE_CHAR32_T
-
121  template<>
-
122  class BOOST_LOCALE_DECL converter<char32_t> : public converter_base, public std::locale::facet {
-
123  public:
-
124  static std::locale::id id;
-
125  converter(size_t refs = 0) : std::locale::facet(refs)
-
126  {
-
127  }
-
128  virtual std::u32string convert(conversion_type how,char32_t const *begin,char32_t const *end,int flags = 0) const = 0;
-
129 #if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
-
130  std::locale::id& __get_id (void) const { return id; }
-
131 #endif
-
132  };
-
133  #endif
-
134 
-
135  #endif
-
136 
-
140 
-
141  typedef enum {
- - - - - -
147  } norm_type;
-
148 
-
158  template<typename CharType>
-
159  std::basic_string<CharType> normalize(std::basic_string<CharType> const &str,norm_type n=norm_default,std::locale const &loc=std::locale())
-
160  {
-
161  return std::use_facet<converter<CharType> >(loc).convert(converter_base::normalization,str.data(),str.data() + str.size(),n);
-
162  }
-
163 
-
173  template<typename CharType>
-
174  std::basic_string<CharType> normalize(CharType const *str,norm_type n=norm_default,std::locale const &loc=std::locale())
-
175  {
-
176  CharType const *end=str;
-
177  while(*end)
-
178  end++;
-
179  return std::use_facet<converter<CharType> >(loc).convert(converter_base::normalization,str,end,n);
-
180  }
-
181 
-
191  template<typename CharType>
-
192  std::basic_string<CharType> normalize( CharType const *begin,
-
193  CharType const *end,
- -
195  std::locale const &loc=std::locale())
-
196  {
-
197  return std::use_facet<converter<CharType> >(loc).convert(converter_base::normalization,begin,end,n);
-
198  }
-
199 
-
201 
-
207 
-
208  template<typename CharType>
-
209  std::basic_string<CharType> to_upper(std::basic_string<CharType> const &str,std::locale const &loc=std::locale())
-
210  {
-
211  return std::use_facet<converter<CharType> >(loc).convert(converter_base::upper_case,str.data(),str.data()+str.size());
-
212  }
-
213 
-
219  template<typename CharType>
-
220  std::basic_string<CharType> to_upper(CharType const *str,std::locale const &loc=std::locale())
-
221  {
-
222  CharType const *end=str;
-
223  while(*end)
-
224  end++;
-
225  return std::use_facet<converter<CharType> >(loc).convert(converter_base::upper_case,str,end);
-
226  }
-
227 
-
233  template<typename CharType>
-
234  std::basic_string<CharType> to_upper(CharType const *begin,CharType const *end,std::locale const &loc=std::locale())
-
235  {
-
236  return std::use_facet<converter<CharType> >(loc).convert(converter_base::upper_case,begin,end);
-
237  }
-
238 
-
240 
-
246 
-
247  template<typename CharType>
-
248  std::basic_string<CharType> to_lower(std::basic_string<CharType> const &str,std::locale const &loc=std::locale())
-
249  {
-
250  return std::use_facet<converter<CharType> >(loc).convert(converter_base::lower_case,str.data(),str.data()+str.size());
-
251  }
-
252 
-
258  template<typename CharType>
-
259  std::basic_string<CharType> to_lower(CharType const *str,std::locale const &loc=std::locale())
-
260  {
-
261  CharType const *end=str;
-
262  while(*end)
-
263  end++;
-
264  return std::use_facet<converter<CharType> >(loc).convert(converter_base::lower_case,str,end);
-
265  }
-
266 
-
272  template<typename CharType>
-
273  std::basic_string<CharType> to_lower(CharType const *begin,CharType const *end,std::locale const &loc=std::locale())
-
274  {
-
275  return std::use_facet<converter<CharType> >(loc).convert(converter_base::lower_case,begin,end);
-
276  }
-
278 
-
284 
-
285  template<typename CharType>
-
286  std::basic_string<CharType> to_title(std::basic_string<CharType> const &str,std::locale const &loc=std::locale())
-
287  {
-
288  return std::use_facet<converter<CharType> >(loc).convert(converter_base::title_case,str.data(),str.data()+str.size());
-
289  }
-
290 
-
296  template<typename CharType>
-
297  std::basic_string<CharType> to_title(CharType const *str,std::locale const &loc=std::locale())
-
298  {
-
299  CharType const *end=str;
-
300  while(*end)
-
301  end++;
-
302  return std::use_facet<converter<CharType> >(loc).convert(converter_base::title_case,str,end);
-
303  }
-
304 
-
310  template<typename CharType>
-
311  std::basic_string<CharType> to_title(CharType const *begin,CharType const *end,std::locale const &loc=std::locale())
-
312  {
-
313  return std::use_facet<converter<CharType> >(loc).convert(converter_base::title_case,begin,end);
-
314  }
-
315 
-
317 
-
323 
-
324  template<typename CharType>
-
325  std::basic_string<CharType> fold_case(std::basic_string<CharType> const &str,std::locale const &loc=std::locale())
-
326  {
-
327  return std::use_facet<converter<CharType> >(loc).convert(converter_base::case_folding,str.data(),str.data()+str.size());
-
328  }
-
329 
-
335  template<typename CharType>
-
336  std::basic_string<CharType> fold_case(CharType const *str,std::locale const &loc=std::locale())
-
337  {
-
338  CharType const *end=str;
-
339  while(*end)
-
340  end++;
-
341  return std::use_facet<converter<CharType> >(loc).convert(converter_base::case_folding,str,end);
-
342  }
-
343 
-
349  template<typename CharType>
-
350  std::basic_string<CharType> fold_case(CharType const *begin,CharType const *end,std::locale const &loc=std::locale())
-
351  {
-
352  return std::use_facet<converter<CharType> >(loc).convert(converter_base::case_folding,begin,end);
-
353  }
-
354 
-
358  } // locale
-
359 
-
360 } // boost
-
361 
-
362 #ifdef BOOST_MSVC
-
363 #pragma warning(pop)
-
364 #endif
-
365 
-
366 
-
367 #endif
-
368 
-
378 
-
379 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
380 
-
Canonical decomposition.
Definition: conversion.hpp:142
-
std::basic_string< CharType > fold_case(std::basic_string< CharType > const &str, std::locale const &loc=std::locale())
Definition: conversion.hpp:325
-
Apply Unicode normalization on the text.
Definition: conversion.hpp:39
-
The facet that implements text manipulation.
Definition: conversion.hpp:48
-
Convert text to lower case.
Definition: conversion.hpp:41
-
std::basic_string< CharType > to_title(std::basic_string< CharType > const &str, std::locale const &loc=std::locale())
Definition: conversion.hpp:286
-
Convert text to upper case.
Definition: conversion.hpp:40
-
converter(size_t refs=0)
Standard constructor.
Definition: conversion.hpp:64
-
std::basic_string< CharType > to_upper(std::basic_string< CharType > const &str, std::locale const &loc=std::locale())
Definition: conversion.hpp:209
-
Compatibility decomposition.
Definition: conversion.hpp:144
-
This class provides base flags for text manipulation. It is used as base for converter facet...
Definition: conversion.hpp:33
-
Convert text to title case.
Definition: conversion.hpp:43
-
norm_type
Definition: conversion.hpp:141
-
Compatibility decomposition followed by canonical composition.
Definition: conversion.hpp:145
-
static std::locale::id id
Locale identification.
Definition: conversion.hpp:61
-
conversion_type
Definition: conversion.hpp:38
-
std::basic_string< CharType > to_lower(std::basic_string< CharType > const &str, std::locale const &loc=std::locale())
Definition: conversion.hpp:248
-
Fold case in the text.
Definition: conversion.hpp:42
-
std::basic_string< CharType > normalize(std::basic_string< CharType > const &str, norm_type n=norm_default, std::locale const &loc=std::locale())
Definition: conversion.hpp:159
-
Canonical decomposition followed by canonical composition.
Definition: conversion.hpp:143
-
Default normalization - canonical decomposition followed by canonical composition.
Definition: conversion.hpp:146
-
-
- - - - - - diff --git a/doc/html/conversions.html b/doc/html/conversions.html deleted file mode 100644 index d2ffe56a..00000000 --- a/doc/html/conversions.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - -Boost.Locale: Text Conversions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Text Conversions
-
-
-

There is a set of functions that perform basic string conversion operations: upper, lower and title case conversions, case folding and Unicode normalization. These are to_upper , to_lower, to_title, fold_case and normalize.

-

All these functions receive an std::locale object as parameter or use a global locale by default.

-

Global locale is used in all examples below.

-

-Case Handing

-

For example:

-
std::string grussen = "grüßEN";
-
std::cout <<"Upper "<< boost::locale::to_upper(grussen) << std::endl
-
<<"Lower "<< boost::locale::to_lower(grussen) << std::endl
-
<<"Title "<< boost::locale::to_title(grussen) << std::endl
-
<<"Fold "<< boost::locale::fold_case(grussen) << std::endl;
-

Would print:

-
Upper GRÜSSEN
-Lower grüßen
-Title Grüßen
-Fold  grüssen
-

You may notice that there are existing functions to_upper and to_lower in the Boost.StringAlgo library. The difference is that these function operate over an entire string instead of performing incorrect character-by-character conversions.

-

For example:

-
std::wstring grussen = L"grüßen";
-
std::wcout << boost::algorithm::to_upper_copy(grussen) << " " << boost::locale::to_upper(grussen) << std::endl;
-

Would give in output:

-
GRÜßEN GRÜSSEN
-

Where a letter "ß" was not converted correctly to double-S in first case because of a limitation of std::ctype facet.

-

This is even more problematic in case of UTF-8 encodings where non US-ASCII are not converted at all. For example, this code

-
std::string grussen = "grüßen";
-
std::cout << boost::algorithm::to_upper_copy(grussen) << " " << boost::locale::to_upper(grussen) << std::endl;
-

Would modify ASCII characters only

-
GRüßEN GRÜSSEN
-

-Unicode Normalization

-

Unicode normalization is the process of converting strings to a standard form, suitable for text processing and comparison. For example, character "ü" can be represented by a single code point or a combination of the character "u" and the diaeresis "¨". Normalization is an important part of Unicode text processing.

-

Unicode defines four normalization forms. Each specific form is selected by a flag passed to normalize function:

- -

For more details on normalization forms, read this article.

-

-Notes

-
    -
  • normalize operates only on Unicode-encoded strings, i.e.: UTF-8, UTF-16 and UTF-32 depending on the character width. So be careful when using non-UTF encodings as they may be treated incorrectly.
  • -
  • fold_case is generally a locale-independent operation, but it receives a locale as a parameter to determine the 8-bit encoding.
  • -
  • All of these functions can work with an STL string, a NUL terminated string, or a range defined by two pointers. They always return a newly created STL string.
  • -
  • The length of the string may change, see the above example.
  • -
-
-
- - - - - - diff --git a/doc/html/conversions_8cpp-example.html b/doc/html/conversions_8cpp-example.html deleted file mode 100644 index f1af6923..00000000 --- a/doc/html/conversions_8cpp-example.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - -Boost.Locale: conversions.cpp - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
conversions.cpp
-
-
-

Example of using various text conversion functions.

-
//
-
// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
//
-
// Distributed under the Boost Software License, Version 1.0. (See
-
// accompanying file LICENSE_1_0.txt or copy at
-
// http://www.boost.org/LICENSE_1_0.txt)
-
//
-
#include <boost/locale.hpp>
-
#include <boost/algorithm/string/case_conv.hpp>
-
#include <iostream>
-
-
#include <ctime>
-
-
-
-
int main()
-
{
-
using namespace boost::locale;
-
using namespace std;
-
// Create system default locale
-
generator gen;
-
locale loc=gen("");
-
locale::global(loc);
-
cout.imbue(loc);
-
-
-
cout<<"Correct case conversion can't be done by simple, character by character conversion"<<endl;
-
cout<<"because case conversion is context sensitive and not 1-to-1 conversion"<<endl;
-
cout<<"For example:"<<endl;
-
cout<<" German grüßen correctly converted to "<<to_upper("grüßen")<<", instead of incorrect "
-
<<boost::to_upper_copy(std::string("grüßen"))<<endl;
-
cout<<" where ß is replaced with SS"<<endl;
-
cout<<" Greek ὈΔΥΣΣΕΎΣ is correctly converted to "<<to_lower("ὈΔΥΣΣΕΎΣ")<<", instead of incorrect "
-
<<boost::to_lower_copy(std::string("ὈΔΥΣΣΕΎΣ"))<<endl;
-
cout<<" where Σ is converted to σ or to ς, according to position in the word"<<endl;
-
cout<<"Such type of conversion just can't be done using std::toupper that work on character base, also std::toupper is "<<endl;
-
cout<<"not even applicable when working with variable character length like in UTF-8 or UTF-16 limiting the correct "<<endl;
-
cout<<"behavior to unicode subset BMP or ASCII only"<<endl;
-
-
}
-
-
// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
-
// boostinspect:noascii
-
-
- - - - - - diff --git a/doc/html/date__time_8hpp_source.html b/doc/html/date__time_8hpp_source.html deleted file mode 100644 index b4db75d0..00000000 --- a/doc/html/date__time_8hpp_source.html +++ /dev/null @@ -1,675 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/date_time.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
date_time.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_DATE_TIME_HPP_INCLUDED
-
9 #define BOOST_LOCALE_DATE_TIME_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/config.hpp>
-
12 #ifdef BOOST_MSVC
-
13 # pragma warning(push)
-
14 # pragma warning(disable : 4275 4251 4231 4660)
-
15 #endif
-
16 
-
17 #include <boost/locale/hold_ptr.hpp>
-
18 #include <boost/locale/date_time_facet.hpp>
-
19 #include <boost/locale/formatting.hpp>
-
20 #include <boost/locale/time_zone.hpp>
-
21 #include <locale>
-
22 #include <vector>
-
23 #include <stdexcept>
-
24 
-
25 
-
26 namespace boost {
-
27  namespace locale {
-
34 
-
35 
-
39  class BOOST_SYMBOL_VISIBLE date_time_error : public std::runtime_error {
-
40  public:
-
44  date_time_error(std::string const &e) : std::runtime_error(e) {}
-
45  };
-
46 
-
47 
- -
57  {
- -
59  int value;
-
60  date_time_period operator+() const { return *this; }
- -
68 
- -
73  };
-
74 
-
75  namespace period {
- -
83  inline period_type era(){ return period_type(marks::era); }
-
87  inline period_type year(){ return period_type(marks::year); }
- - -
99  inline period_type day(){ return period_type(marks::day); }
- - - - - - - - - - - - -
154 
-
158  inline date_time_period era(int v) { return date_time_period(era(),v); }
-
162  inline date_time_period year(int v) { return date_time_period(year(),v); }
- -
170  inline date_time_period month(int v) { return date_time_period(month(),v); }
-
174  inline date_time_period day(int v) { return date_time_period(day(),v); }
- - - - -
200  inline date_time_period hour(int v) { return date_time_period(hour(),v); }
-
204  inline date_time_period hour_12(int v) { return date_time_period(hour_12(),v); }
-
208  inline date_time_period am_pm(int v) { return date_time_period(am_pm(),v); }
-
212  inline date_time_period minute(int v) { return date_time_period(minute(),v); }
-
216  inline date_time_period second(int v) { return date_time_period(second(),v); }
- - - -
229 
-
233  inline date_time_period january() { return date_time_period(month(),0); }
- -
241  inline date_time_period march() { return date_time_period(month(),2); }
-
245  inline date_time_period april() { return date_time_period(month(),3); }
-
249  inline date_time_period may() { return date_time_period(month(),4); }
-
253  inline date_time_period june() { return date_time_period(month(),5); }
-
257  inline date_time_period july() { return date_time_period(month(),6); }
-
261  inline date_time_period august() { return date_time_period(month(),7); }
- -
269  inline date_time_period october() { return date_time_period(month(),9); }
-
273  inline date_time_period november() { return date_time_period(month(),10); }
-
277  inline date_time_period december() { return date_time_period(month(),11); }
-
278 
- - - - - - - -
310  inline date_time_period am() { return date_time_period(am_pm(),0); }
-
314  inline date_time_period pm() { return date_time_period(am_pm(),1); }
-
315 
- -
320  {
-
321  return date_time_period(f);
-
322  }
- -
327  {
-
328  return date_time_period(f,-1);
-
329  }
-
330 
-
334  template<typename T>
- -
336  {
-
337  return date_time_period(f,v);
-
338  }
-
339 
-
343  template<typename T>
- -
345  {
-
346  return date_time_period(f,v);
-
347  }
-
351  template<typename T>
- -
353  {
-
354  return date_time_period(f.type,f.value*v);
-
355  }
-
356 
-
360  template<typename T>
- -
362  {
-
363  return date_time_period(f.type,f.value*v);
-
364  }
-
365 
-
366 
-
367  } // period
-
368 
-
369 
- -
377  public:
-
378 
- -
383  {
-
384  }
- -
389  {
-
390  basic_[0]=date_time_period(f);
-
391  }
- -
396  {
-
397  basic_[0]=fl;
-
398  }
- -
403  {
-
404  size_t n=size();
-
405  if(n < 4)
-
406  basic_[n]=f;
-
407  else
-
408  periods_.push_back(f);
-
409  }
-
413  size_t size() const
-
414  {
-
415  if(basic_[0].type == period::period_type())
-
416  return 0;
-
417  if(basic_[1].type == period::period_type())
-
418  return 1;
-
419  if(basic_[2].type == period::period_type())
-
420  return 2;
-
421  if(basic_[3].type == period::period_type())
-
422  return 3;
-
423  return 4+periods_.size();
-
424  }
-
428  date_time_period const &operator[](size_t n) const
-
429  {
-
430  if(n >= size())
-
431  throw std::out_of_range("Invalid index to date_time_period");
-
432  if(n < 4)
-
433  return basic_[n];
-
434  else
-
435  return periods_[n-4];
-
436  }
-
437  private:
-
438  date_time_period basic_[4];
-
439  std::vector<date_time_period> periods_;
-
440  };
-
441 
-
442 
- -
447  {
- -
449  for(unsigned i=0;i<b.size();i++)
-
450  s.add(b[i]);
-
451  return s;
-
452  }
-
453 
- -
458  {
- -
460  for(unsigned i=0;i<b.size();i++)
-
461  s.add(-b[i]);
-
462  return s;
-
463  }
-
464 
-
465 
-
473  class BOOST_LOCALE_DECL calendar {
-
474  public:
-
475 
-
482  calendar(std::ios_base &ios);
-
488  calendar(std::locale const &l,std::string const &zone);
-
494  calendar(std::locale const &l);
-
500  calendar(std::string const &zone);
-
506  calendar();
-
507  ~calendar();
-
508 
-
512  calendar(calendar const &other);
-
516  calendar const &operator=(calendar const &other);
-
517 
-
521  int minimum(period::period_type f) const;
-
525  int greatest_minimum(period::period_type f) const;
-
529  int maximum(period::period_type f) const;
-
533  int least_maximum(period::period_type f) const;
-
534 
-
537  int first_day_of_week() const;
-
538 
-
542  std::locale get_locale() const;
-
546  std::string get_time_zone() const;
-
547 
-
551  bool is_gregorian() const;
-
552 
-
556  bool operator==(calendar const &other) const;
-
560  bool operator!=(calendar const &other) const;
-
561 
-
562  private:
-
563  friend class date_time;
-
564  std::locale locale_;
-
565  std::string tz_;
- -
567  };
-
568 
-
589 
-
590  class BOOST_LOCALE_DECL date_time {
-
591  public:
-
592 
-
598  date_time();
-
602  date_time(date_time const &other);
-
606  date_time(date_time const &other,date_time_period_set const &set);
-
610  date_time const &operator=(date_time const &other);
-
611  ~date_time();
-
612 
-
618  date_time(double time);
-
622  date_time(double time,calendar const &cal);
-
626  date_time(calendar const &cal);
-
627 
-
633  date_time(date_time_period_set const &set);
-
637  date_time(date_time_period_set const &set,calendar const &cal);
-
638 
-
639 
-
643  date_time const &operator=(date_time_period_set const &f);
-
644 
-
648  void set(period::period_type f,int v);
-
652  int get(period::period_type f) const;
-
653 
- -
658  {
-
659  return get(f);
-
660  }
-
661 
- -
666  {
-
667  return *this+date_time_period(f);
-
668  }
-
669 
- -
674  {
-
675  return *this-date_time_period(f);
-
676  }
-
677 
- -
682  {
-
683  return *this+=date_time_period(f);
-
684  }
- -
689  {
-
690  return *this-=date_time_period(f);
-
691  }
-
692 
- -
697  {
-
698  return *this<<date_time_period(f);
-
699  }
-
700 
- -
705  {
-
706  return *this>>date_time_period(f);
-
707  }
-
708 
- -
713  {
-
714  return *this<<=date_time_period(f);
-
715  }
- -
720  {
-
721  return *this>>=date_time_period(f);
-
722  }
-
723 
-
727  date_time operator+(date_time_period const &v) const;
-
731  date_time operator-(date_time_period const &v) const;
-
735  date_time const &operator+=(date_time_period const &v);
-
739  date_time const &operator-=(date_time_period const &v);
-
740 
-
744  date_time operator<<(date_time_period const &v) const;
-
748  date_time operator>>(date_time_period const &v) const ;
-
752  date_time const &operator<<=(date_time_period const &v);
-
756  date_time const &operator>>=(date_time_period const &v);
-
757 
-
761  date_time operator+(date_time_period_set const &v) const;
-
765  date_time operator-(date_time_period_set const &v) const;
-
769  date_time const &operator+=(date_time_period_set const &v);
-
773  date_time const &operator-=(date_time_period_set const &v);
-
774 
-
778  date_time operator<<(date_time_period_set const &v) const;
-
782  date_time operator>>(date_time_period_set const &v) const ;
-
786  date_time const &operator<<=(date_time_period_set const &v);
-
790  date_time const &operator>>=(date_time_period_set const &v);
-
791 
-
797  double time() const;
-
804  void time(double v);
-
805 
-
809  bool operator==(date_time const &other) const;
-
813  bool operator!=(date_time const &other) const;
-
817  bool operator<(date_time const &other) const;
-
821  bool operator>(date_time const &other) const;
-
825  bool operator<=(date_time const &other) const;
-
829  bool operator>=(date_time const &other) const;
-
830 
-
834  void swap(date_time &other);
-
835 
-
839  int difference(date_time const &other,period::period_type f) const;
-
840 
-
844  int minimum(period::period_type f) const;
-
849  int maximum(period::period_type f) const;
-
850 
-
854  bool is_in_daylight_saving_time() const;
-
855 
-
856  private:
- -
858  };
-
859 
-
873  template<typename CharType>
-
874  std::basic_ostream<CharType> &operator<<(std::basic_ostream<CharType> &out,date_time const &t)
-
875  {
-
876  double time_point = t.time();
-
877  uint64_t display_flags = ios_info::get(out).display_flags();
-
878  if (
-
879  display_flags == flags::date
-
880  || display_flags == flags::time
-
881  || display_flags == flags::datetime
-
882  || display_flags == flags::strftime
-
883  )
-
884  {
-
885  out << time_point;
-
886  }
-
887  else {
-
888  ios_info::get(out).display_flags(flags::datetime);
-
889  out << time_point;
-
890  ios_info::get(out).display_flags(display_flags);
-
891  }
-
892  return out;
-
893  }
-
894 
-
900  template<typename CharType>
-
901  std::basic_istream<CharType> &operator>>(std::basic_istream<CharType> &in,date_time &t)
-
902  {
-
903  double v;
-
904  uint64_t display_flags = ios_info::get(in).display_flags();
-
905  if (
-
906  display_flags == flags::date
-
907  || display_flags == flags::time
-
908  || display_flags == flags::datetime
-
909  || display_flags == flags::strftime
-
910  )
-
911  {
-
912  in >> v;
-
913  }
-
914  else {
-
915  ios_info::get(in).display_flags(flags::datetime);
-
916  in >> v;
-
917  ios_info::get(in).display_flags(display_flags);
-
918  }
-
919  if(!in.fail())
-
920  t.time(v);
-
921  return in;
-
922  }
-
923 
- -
933  public:
-
934 
-
939  date_time_duration(date_time const &first,date_time const &second) :
-
940  s_(first),
-
941  e_(second)
-
942  {
-
943  }
-
944 
-
948  int get(period::period_type f) const
-
949  {
-
950  return start().difference(end(),f);
-
951  }
-
952 
- -
957  {
-
958  return start().difference(end(),f);
-
959  }
-
960 
-
964  date_time const &start() const { return s_; }
-
968  date_time const &end() const { return e_; }
-
969  private:
-
970  date_time const &s_;
-
971  date_time const &e_;
-
972  };
-
973 
-
978  inline date_time_duration operator-(date_time const &later,date_time const &earlier)
-
979  {
-
980  return date_time_duration(earlier,later);
-
981  }
-
982 
-
983 
-
984  namespace period {
-
988  inline int era(date_time const &dt) { return dt.get(era()); }
-
992  inline int year(date_time const &dt) { return dt.get(year()); }
-
996  inline int extended_year(date_time const &dt) { return dt.get(extended_year()); }
-
1000  inline int month(date_time const &dt) { return dt.get(month()); }
-
1004  inline int day(date_time const &dt) { return dt.get(day()); }
-
1008  inline int day_of_year(date_time const &dt) { return dt.get(day_of_year()); }
-
1017  inline int day_of_week(date_time const &dt) { return dt.get(day_of_week()); }
-
1022  inline int day_of_week_in_month(date_time const &dt) { return dt.get(day_of_week_in_month()); }
-
1026  inline int day_of_week_local(date_time const &dt) { return dt.get(day_of_week_local()); }
-
1030  inline int hour(date_time const &dt) { return dt.get(hour()); }
-
1034  inline int hour_12(date_time const &dt) { return dt.get(hour_12()); }
-
1038  inline int am_pm(date_time const &dt) { return dt.get(am_pm()); }
-
1042  inline int minute(date_time const &dt) { return dt.get(minute()); }
-
1046  inline int second(date_time const &dt) { return dt.get(second()); }
-
1050  inline int week_of_year(date_time const &dt) { return dt.get(week_of_year()); }
-
1054  inline int week_of_month(date_time const &dt) { return dt.get(week_of_month()); }
-
1058  inline int first_day_of_week(date_time const &dt) { return dt.get(first_day_of_week()); }
-
1059 
-
1063  inline int era(date_time_duration const &dt) { return dt.get(era()); }
-
1067  inline int year(date_time_duration const &dt) { return dt.get(year()); }
-
1071  inline int extended_year(date_time_duration const &dt) { return dt.get(extended_year()); }
-
1075  inline int month(date_time_duration const &dt) { return dt.get(month()); }
-
1079  inline int day(date_time_duration const &dt) { return dt.get(day()); }
-
1083  inline int day_of_year(date_time_duration const &dt) { return dt.get(day_of_year()); }
-
1087  inline int day_of_week(date_time_duration const &dt) { return dt.get(day_of_week()); }
-
1091  inline int day_of_week_in_month(date_time_duration const &dt) { return dt.get(day_of_week_in_month()); }
-
1095  inline int day_of_week_local(date_time_duration const &dt) { return dt.get(day_of_week_local()); }
-
1099  inline int hour(date_time_duration const &dt) { return dt.get(hour()); }
-
1103  inline int hour_12(date_time_duration const &dt) { return dt.get(hour_12()); }
-
1107  inline int am_pm(date_time_duration const &dt) { return dt.get(am_pm()); }
-
1111  inline int minute(date_time_duration const &dt) { return dt.get(minute()); }
-
1115  inline int second(date_time_duration const &dt) { return dt.get(second()); }
-
1119  inline int week_of_year(date_time_duration const &dt) { return dt.get(week_of_year()); }
-
1123  inline int week_of_month(date_time_duration const &dt) { return dt.get(week_of_month()); }
-
1127  inline int first_day_of_week(date_time_duration const &dt) { return dt.get(first_day_of_week()); }
-
1128 
-
1129 
-
1130  }
-
1131 
-
1133 
-
1134 
-
1135  } // locale
-
1136 } // boost
-
1137 
-
1138 #ifdef BOOST_MSVC
-
1139 #pragma warning(pop)
-
1140 #endif
-
1141 
-
1142 
-
1143 #endif
-
1144 
-
1150 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
period_type am_pm()
Definition: date_time.hpp:133
-
period_type week_of_year()
Definition: date_time.hpp:145
-
period_type minute()
Definition: date_time.hpp:137
-
The week number within current month.
Definition: date_time_facet.hpp:53
-
period::period_type type
The type of period, i.e. era, year, day etc.
Definition: date_time.hpp:58
-
Definition: date_time_facet.hpp:44
-
period_type extended_year()
Definition: date_time.hpp:91
-
date_time_period saturday()
Definition: date_time.hpp:306
-
date_time_period_set()
Definition: date_time.hpp:382
-
date_time const & end() const
Definition: date_time.hpp:968
-
date_time_period const & operator[](size_t n) const
Definition: date_time.hpp:428
-
Definition: date_time_facet.hpp:39
-
Year, it is calendar specific, for example 2011 in Gregorian calendar.
Definition: date_time_facet.hpp:34
-
this class that represents a set of periods,
Definition: date_time.hpp:376
-
date_time_period january()
Definition: date_time.hpp:233
-
date_time_period november()
Definition: date_time.hpp:273
-
date_time operator+(period::period_type f) const
Definition: date_time.hpp:665
-
size_t size() const
Definition: date_time.hpp:413
-
date_time_error(std::string const &e)
Definition: date_time.hpp:44
-
This class represents a period: a pair of two date_time objects.
Definition: date_time.hpp:932
-
date_time const & operator>>=(period::period_type f)
Definition: date_time.hpp:719
-
date_time_period march()
Definition: date_time.hpp:241
-
period_type day_of_week()
Definition: date_time.hpp:112
-
The number of day in year, starting from 1, in Gregorian [1..366].
Definition: date_time_facet.hpp:38
-
int get(period::period_type f) const
Definition: date_time.hpp:948
-
date_time_period monday()
Definition: date_time.hpp:286
-
date_time_period february()
Definition: date_time.hpp:237
-
date_time_period april()
Definition: date_time.hpp:245
-
bool operator<(segment< IteratorL > const &l, segment< IteratorR > const &r)
Compare two segments.
Definition: segment.hpp:255
-
period_type first_day_of_week()
Definition: date_time.hpp:153
-
bool operator<=(segment< IteratorL > const &l, segment< IteratorR > const &r)
Compare two segments.
Definition: segment.hpp:261
-
this class provides an access to general calendar information.
Definition: date_time.hpp:473
-
date_time_period august()
Definition: date_time.hpp:261
-
date_time_period am()
Definition: date_time.hpp:310
-
bool operator>=(segment< IteratorL > const &l, segment< IteratorR > const &r)
Compare two segments.
Definition: segment.hpp:273
-
date_time_period october()
Definition: date_time.hpp:269
-
void add(date_time_period f)
Definition: date_time.hpp:402
-
bool operator==(BaseIterator const &l, boundary_point< BaseIterator > const &r)
Definition: boundary_point.hpp:142
-
int operator/(period::period_type f) const
Definition: date_time.hpp:657
-
date_time_period december()
Definition: date_time.hpp:277
-
period_type era()
Definition: date_time.hpp:83
-
period_type hour()
Definition: date_time.hpp:125
-
a smart pointer similar to std::auto_ptr but it is non-copyable and the underlying object has the sam...
Definition: hold_ptr.hpp:18
-
void display_flags(uint64_t flags)
-
static ios_info & get(std::ios_base &ios)
-
date_time const & operator-=(period::period_type f)
Definition: date_time.hpp:688
-
The week number in the year.
Definition: date_time_facet.hpp:52
-
24 clock hour [0..23]
Definition: date_time_facet.hpp:47
-
Special invalid value, should not be used directly.
Definition: date_time_facet.hpp:32
-
The day of month, calendar specific, in Gregorian [1..31].
Definition: date_time_facet.hpp:37
-
period_type day_of_week_local()
Definition: date_time.hpp:121
-
minute [0..59]
Definition: date_time_facet.hpp:50
-
date_time_period operator+() const
Definition: date_time.hpp:63
-
The month of year, calendar specific, in Gregorian [0..11].
Definition: date_time_facet.hpp:36
-
Local day of week, for example in France Monday is 1, in US Sunday is 1, [1..7].
Definition: date_time_facet.hpp:46
-
date_time_period operator-(period::period_type f)
Definition: date_time.hpp:326
-
period_type day_of_week_in_month()
Definition: date_time.hpp:117
-
date_time_period operator*(period::period_type f, T v)
Definition: date_time.hpp:335
-
12 clock hour [0..11]
Definition: date_time_facet.hpp:48
-
This class represents a pair of period_type and the integer values that describes its amount...
Definition: date_time.hpp:56
-
date_time_period pm()
Definition: date_time.hpp:314
-
period_type day()
Definition: date_time.hpp:99
-
int get(period::period_type f) const
-
period_type year()
Definition: date_time.hpp:87
-
period_type week_of_month()
Definition: date_time.hpp:149
-
date_time_period_set operator-(date_time_period_set const &a, date_time_period_set const &b)
Definition: date_time.hpp:457
-
date_time_period wednesday()
Definition: date_time.hpp:294
-
date_time const & operator<<=(period::period_type f)
Definition: date_time.hpp:712
-
This error is thrown in case of invalid state that occurred.
Definition: date_time.hpp:39
-
date_time_period thursday()
Definition: date_time.hpp:298
-
am or pm marker [0..1]
Definition: date_time_facet.hpp:49
-
date_time_period_set(period::period_type f)
Definition: date_time.hpp:388
-
date_time_period_set(date_time_period const &fl)
Definition: date_time.hpp:395
-
date_time_period sunday()
Definition: date_time.hpp:282
-
std::basic_ostream< CharType > & operator<<(std::basic_ostream< CharType > &out, date_time const &t)
Definition: date_time.hpp:874
-
date_time_period friday()
Definition: date_time.hpp:302
-
date_time operator>>(period::period_type f) const
Definition: date_time.hpp:704
-
int operator/(period::period_type f) const
Definition: date_time.hpp:956
-
date_time_period tuesday()
Definition: date_time.hpp:290
-
int value
Definition: date_time.hpp:59
-
date_time_period operator+(period::period_type f)
Definition: date_time.hpp:319
-
date_time_duration(date_time const &first, date_time const &second)
Definition: date_time.hpp:939
-
period_type day_of_year()
Definition: date_time.hpp:103
-
date_time_period operator-() const
Definition: date_time.hpp:67
-
Era i.e. AC, BC in Gregorian and Julian calendar, range [0,1].
Definition: date_time_facet.hpp:33
-
First day of week, constant, for example Sunday in US = 1, Monday in France = 2.
Definition: date_time_facet.hpp:54
-
double time() const
-
date_time_period_set operator+(date_time_period_set const &a, date_time_period_set const &b)
Definition: date_time.hpp:446
-
period_type hour_12()
Definition: date_time.hpp:129
-
std::basic_istream< CharType > & operator>>(std::basic_istream< CharType > &in, date_time &t)
Definition: date_time.hpp:901
-
Extended year for Gregorian/Julian calendars, where 1 BC == 0, 2 BC == -1.
Definition: date_time_facet.hpp:35
-
period_type invalid()
Definition: date_time.hpp:79
-
date_time const & operator+=(period::period_type f)
Definition: date_time.hpp:681
-
date_time_period june()
Definition: date_time.hpp:253
-
date_time operator<<(period::period_type f) const
Definition: date_time.hpp:696
-
date_time_period may()
Definition: date_time.hpp:249
-
this class represents a date time and allows to perform various operation according to the locale set...
Definition: date_time.hpp:590
-
std::ios_base & time(std::ios_base &ios)
Definition: formatting.hpp:328
-
date_time const & start() const
Definition: date_time.hpp:964
-
date_time operator-(period::period_type f) const
Definition: date_time.hpp:673
-
int difference(date_time const &other, period::period_type f) const
-
date_time_period(period::period_type f=period::period_type(), int v=1)
Definition: date_time.hpp:72
-
bool operator>(segment< IteratorL > const &l, segment< IteratorR > const &r)
Compare two segments.
Definition: segment.hpp:267
-
period_type second()
Definition: date_time.hpp:141
-
second [0..59]
Definition: date_time_facet.hpp:51
-
period_type month()
Definition: date_time.hpp:95
-
date_time_period july()
Definition: date_time.hpp:257
-
bool operator!=(BaseIterator const &l, boundary_point< BaseIterator > const &r)
Definition: boundary_point.hpp:150
-
date_time_period september()
Definition: date_time.hpp:265
-
This class holds a type that represents certain period of time like year, hour, second and so on...
Definition: date_time_facet.hpp:70
-
-
- - - - - - diff --git a/doc/html/date__time__facet_8hpp_source.html b/doc/html/date__time__facet_8hpp_source.html deleted file mode 100644 index 25758cb3..00000000 --- a/doc/html/date__time__facet_8hpp_source.html +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/date_time_facet.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
date_time_facet.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_DATE_TIME_FACET_HPP_INCLUDED
-
9 #define BOOST_LOCALE_DATE_TIME_FACET_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/config.hpp>
-
12 #ifdef BOOST_MSVC
-
13 # pragma warning(push)
-
14 # pragma warning(disable : 4275 4251 4231 4660)
-
15 #endif
-
16 
-
17 #include <boost/cstdint.hpp>
-
18 #include <locale>
-
19 
-
20 namespace boost {
-
21  namespace locale {
-
25  namespace period {
-
29  namespace marks {
-
31  enum period_mark {
- -
33  era,
-
34  year,
- - -
37  day,
- - - - -
47  hour,
- - - - - - - -
55  };
-
56 
-
57  } // marks
-
58 
-
70  class period_type {
-
71  public:
- -
76  {
-
77  }
-
78 
- -
83  {
-
84  return mark_;
-
85  }
-
86 
-
90  bool operator==(period_type const &other) const
-
91  {
-
92  return mark()==other.mark();
-
93  }
-
97  bool operator!=(period_type const &other) const
-
98  {
-
99  return mark()!=other.mark();
-
100  }
-
101  private:
-
102  marks::period_mark mark_;
-
103  };
-
104 
-
105  } // namespace period
-
106 
-
111  struct posix_time {
-
112  int64_t seconds;
-
113  uint32_t nanoseconds;
-
114  };
-
115 
-
121 
- -
123  public:
-
124 
-
128  typedef enum {
- - - - - - - -
137  } value_type;
-
138 
-
142  typedef enum {
- - -
145  } update_type;
-
146 
-
150  typedef enum {
- - - -
154 
-
158  virtual abstract_calendar *clone() const = 0;
-
159 
-
170  virtual void set_value(period::marks::period_mark p,int value) = 0;
-
171 
-
175  virtual void normalize() = 0;
-
176 
-
180  virtual int get_value(period::marks::period_mark p,value_type v) const = 0;
-
181 
-
185  virtual void set_time(posix_time const &p) = 0;
-
189  virtual posix_time get_time() const = 0;
-
190 
-
194  virtual void set_option(calendar_option_type opt,int v) = 0;
-
198  virtual int get_option(calendar_option_type opt) const = 0;
-
199 
- -
205 
-
209  virtual int difference(abstract_calendar const *other,period::marks::period_mark p) const = 0;
-
210 
-
214  virtual void set_timezone(std::string const &tz) = 0;
-
218  virtual std::string get_timezone() const = 0;
-
219 
-
223  virtual bool same(abstract_calendar const *other) const = 0;
-
224 
-
225  virtual ~abstract_calendar()
-
226  {
-
227  }
-
228 
-
229  };
-
230 
-
234  class BOOST_LOCALE_DECL calendar_facet : public std::locale::facet {
-
235  public:
-
239  calendar_facet(size_t refs = 0) : std::locale::facet(refs)
-
240  {
-
241  }
-
245  virtual abstract_calendar *create_calendar() const = 0;
-
246 
-
250  static std::locale::id id;
-
251  };
-
252 
-
253  } // locale
-
254 } // boost
-
255 
-
256 #ifdef BOOST_MSVC
-
257 #pragma warning(pop)
-
258 #endif
-
259 
-
260 
-
261 #endif
-
262 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
263 
-
period_mark
the type that defines a flag that holds a period identifier
Definition: date_time_facet.hpp:31
-
virtual void set_value(period::marks::period_mark p, int value)=0
-
The week number within current month.
Definition: date_time_facet.hpp:53
-
virtual bool same(abstract_calendar const *other) const =0
-
Definition: date_time_facet.hpp:44
-
the facet that generates calendar for specific locale
Definition: date_time_facet.hpp:234
-
Check if the current time is in daylight time savings.
Definition: date_time_facet.hpp:152
-
Definition: date_time_facet.hpp:39
-
Year, it is calendar specific, for example 2011 in Gregorian calendar.
Definition: date_time_facet.hpp:34
-
calendar_facet(size_t refs=0)
Definition: date_time_facet.hpp:239
-
Definition: date_time_facet.hpp:133
-
Actual minimal value for this period.
Definition: date_time_facet.hpp:130
-
virtual int difference(abstract_calendar const *other, period::marks::period_mark p) const =0
-
virtual int get_option(calendar_option_type opt) const =0
-
Actual maximum, for it can be 28, 29, 30, 31 for day according to current month.
Definition: date_time_facet.hpp:135
-
int64_t seconds
Seconds since epoch.
Definition: date_time_facet.hpp:112
-
The number of day in year, starting from 1, in Gregorian [1..366].
Definition: date_time_facet.hpp:38
-
Check if the calendar is Gregorian.
Definition: date_time_facet.hpp:151
-
calendar_option_type
Definition: date_time_facet.hpp:150
-
virtual void set_timezone(std::string const &tz)=0
-
uint32_t nanoseconds
Nanoseconds resolution.
Definition: date_time_facet.hpp:113
-
virtual int get_value(period::marks::period_mark p, value_type v) const =0
-
Change the value up or down effecting others for example 1990-12-31 + 1 day = 1991-01-01.
Definition: date_time_facet.hpp:143
-
Definition: date_time_facet.hpp:122
-
The week number in the year.
Definition: date_time_facet.hpp:52
-
24 clock hour [0..23]
Definition: date_time_facet.hpp:47
-
Special invalid value, should not be used directly.
Definition: date_time_facet.hpp:32
-
Definition: date_time_facet.hpp:111
-
The day of month, calendar specific, in Gregorian [1..31].
Definition: date_time_facet.hpp:37
-
minute [0..59]
Definition: date_time_facet.hpp:50
-
bool operator!=(period_type const &other) const
Definition: date_time_facet.hpp:97
-
Absolute possible minimum for the value, for example for day is 1.
Definition: date_time_facet.hpp:129
-
update_type
Definition: date_time_facet.hpp:142
-
The month of year, calendar specific, in Gregorian [0..11].
Definition: date_time_facet.hpp:36
-
Local day of week, for example in France Monday is 1, in US Sunday is 1, [1..7].
Definition: date_time_facet.hpp:46
-
virtual posix_time get_time() const =0
-
bool operator==(period_type const &other) const
Definition: date_time_facet.hpp:90
-
12 clock hour [0..11]
Definition: date_time_facet.hpp:48
-
virtual void set_option(calendar_option_type opt, int v)=0
-
am or pm marker [0..1]
Definition: date_time_facet.hpp:49
-
Maximal value, for Gregorian day it would be 31.
Definition: date_time_facet.hpp:136
- -
virtual void set_time(posix_time const &p)=0
-
value_type
Definition: date_time_facet.hpp:128
-
virtual std::string get_timezone() const =0
-
marks::period_mark mark() const
Definition: date_time_facet.hpp:82
-
static std::locale::id id
Definition: date_time_facet.hpp:250
-
Era i.e. AC, BC in Gregorian and Julian calendar, range [0,1].
Definition: date_time_facet.hpp:33
-
Change the value up or down not effecting others for example 1990-12-31 + 1 day = 1990-12-01...
Definition: date_time_facet.hpp:144
-
First day of week, constant, for example Sunday in US = 1, Monday in France = 2.
Definition: date_time_facet.hpp:54
-
Extended year for Gregorian/Julian calendars, where 1 BC == 0, 2 BC == -1.
Definition: date_time_facet.hpp:35
-
Current value of this period.
Definition: date_time_facet.hpp:132
-
Maximal minimum value that can be for this period.
Definition: date_time_facet.hpp:131
-
second [0..59]
Definition: date_time_facet.hpp:51
-
virtual abstract_calendar * clone() const =0
-
period_type(marks::period_mark m=marks::invalid)
Definition: date_time_facet.hpp:75
-
virtual void adjust_value(period::marks::period_mark p, update_type u, int difference)=0
-
This class holds a type that represents certain period of time like year, hour, second and so on...
Definition: date_time_facet.hpp:70
-
-
- - - - - - diff --git a/doc/html/dates_times_timezones.html b/doc/html/dates_times_timezones.html deleted file mode 100644 index 818e4b23..00000000 --- a/doc/html/dates_times_timezones.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - -Boost.Locale: Working with dates, times, timezones and calendars. - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Working with dates, times, timezones and calendars.
-
-
-

-Introduction

-

There are several important flaws in the standard C, C++ and Boost libraries that handle dates and time:

-
    -
  1. The biggest flaw of most libraries that provide operations over dates is the fact that they only support the Gregorian calendar. boost::date_time , std::tm , and standard functions like localtime and gmtime, all assume the Gregorian calendar.
  2. -
  3. The information about local start of week is not provided.
    - For example the standard C and C++ library has mktime and localtime, but they do not give user the information about the first day of week. This information is locale dependent. It is Monday in France and it is Sunday in United States.
  4. -
-

Boost.Locale provides generic date_time, and calendar classes that allow you to perform operations on dates and times for non-Gregorian calendars such as Hebrew, Islamic, Japanese and others.

-

Non-ICU based backends support the Gregorian calendar only. Unlike boost::date_time, they are fully aware of the local first day of week. Thus, if the current day of week is Monday, then setting "current day of week" to Sunday would move the actual date 6 days forward in Russian or French locales and move one day backward in USA and Israeli locales.

-

-Handling Dates and Time

-
    -
  • boost::locale::calendar – represents generic information about the calendar, independent from a specific time point. For example, you can get the maximum number of days in a month for a specific calendar.
  • -
  • boost::locale::date_time – represents a time point. It is constructed from a calendar and allows manipulation of various time periods.
  • -
  • boost::locale::period – holds a list of functions that represent various periods, such as month, year, day, and hour, allowing manipulation of dates and times. You can add periods, multiply them by integers, get or set them, or add them to date_time objects.
  • -
-

For example:

-
using namespace boost::locale;
-
date_time now; // Create date_time class with default calendar initialized to current time
-
date_time tomorrow = now + period::day();
-
cout << "Let's meet tomorrow at " << as::date << tomorrow << endl;
-
date_time some_point = period::year(1995) + period::january() + period::day(1);
-
// Set some_point's date to 1995-Jan-1.
-
cout << "The "<< as::date << some_point << " is the "
-
<< as::ordinal << some_point / period::day_of_week_local() << " day of the week" << endl;
-

You can calculate the difference between dates by dividing the difference by a period:

-
date_time now;
-
cout << " There are " << (now + 2 * period::month() - now) / period::day() << " days "
-
"between " << as::date << now << " and " << now + 2*period::month() << endl;
-

You can also use different syntax (less operator overloading)

-
date_time now;
-
cout << " There are " << period::day(now + period::month(2) - now) << " days "
-
"between " << as::date << now << " and " << now + period::month(2) << endl;
-

date_time – provides the member functions minimum and maximum to get the information about smallest and largest possible values of a certain period for a specific time.

-

For example, for February the maximum(period::day()) would be 28 (or 29 for a leap year), and for January it would be 31.

-
Note
Be very careful with assumptions about calendars. For example, in the Hebrew calendar, the number of months is different for leap years and non-leap years.
-

We recommend you to look at the calendar.cpp example provided with this library to get an understanding of how to manipulate dates and times using these classes.

-

To convert between various calendar dates, you may get the current POSIX time via the time member function.

-

For example:

-
using namespace boost::locale;
-
using namespace boost::locale::period;
- -
// Create locales with Hebrew and Gregorian (default) calendars.
-
std::locale l_hebrew=gen("en_US.UTF-8@calendar=hebrew");
-
std::locale l_gregorian=gen("en_US.UTF-8");
-
-
// Create a Gregorian date from fields
-
date_time greg(year(2010) + february() + day(5),l_gregorian);
-
// Assign a time point taken from the Gregorian date to date_time with
-
// the Hebrew calendar
-
date_time heb(greg.time(),l_hebrew);
-
// Now we can query the year.
-
std::cout << "Hebrew year is " << heb / year << std::endl;
-
Note
-

Non-ICU based backends support the same date-time range as mktime and localtime C library functions.

-
    -
  • Unix 32 bit: dates between 1901 and 2038
  • -
  • Unix 64 bit: dates from 1 BC
  • -
  • Windows: dates from 1970. If the time_t is 32 bits wide (mingw), then the upper limit is year 2038
  • -
-

-Time Zone

-

The current operating system's time zone is used by default, however the time zone can be modified at several different levels:

-
    -
  1. Calendar level: you can specify a timezone when creating a new instance of boost::locale::calendar in its constructor.
  2. -
  3. iostream level: you can use as::time_zone manipulator to set a specific time zone to the iostream so all dates and times would be represented in this time zone
  4. -
  5. You can specify the default global time zone by calling: boost::locale::time_zone::global(std::string const &). This time zone would be the default one for newly created iostream object and calendar instances.
  6. -
-
Note
-

Non-ICU based backends support only two kinds of time zones:

-
    -
  1. The current OS time zone, as it is handled by localtime and mktime the standard library functions - the default time zone
  2. -
  3. Simple time zone in format "GMT+HH:MM" - the time zone represented using fixed shift from the UTC without support of daylight saving time.
  4. -
-

-I/O Operations on date_time objects

-

Writing a date_time is equivalent to:

-
    -
  • Applying as::datetime manipulator on the stream
  • -
  • Writing POSIX time as number that is fetched by calling date_time::time() function.
  • -
  • Reverting the manipulator effect back.
  • -
-

For example this code:

-
using namespace boost::locale;
- -
std::cout << now << std::endl;
-

Would print in the default format, something like:

-
2/3/2011 12:00 am
-

However if you need to change the default behavior (for example show only date), then you need to use specific iostream manipulator in order to display current date or time, it would override the default formatting.

-

For example

-
using namespace boost::locale;
- -
std::cout << as::date << now << std::endl;
-

Would print something like:

-
2/3/2011
-

This is important to remember that date_time object is always rendered and parsed in the context of the iostream's locale and time zone and not in the context of specific date_time object.

-

-Questions and Answers

-

Why should I use Boost.Locale over Boost.DateTime when I need Gregorian calendar only?

-
    -
  • Boost.DateTime is locale agnostic library and ignores the fact that the first day of week varies by the locale.
  • -
  • Boost.Locale provides a unified access to date and time in time zone aware way. It represents a time as universal scalar - the POSIX time and over that builds dates, local times and time-zones handling.
    - For example, date_time(some_time.time() + 3600) may be not equal to some_time + hour(), because of the daylight savings time.
  • -
-

Why don't you use Boost.DateTime time zone support?

-

Boost.DateTime's time zone support is broken. Time zones can not be represented with a simple table of rules where daylight saving depend only on certain n'th day of week in month. The daylight savings time may vary by year, political issues and many other things.

-

Most of the modern operating systems (Linux, *BSD, Mac OS X, OpenVMS) and many important software packages (ICU, Java, Python) use so called Olson database in order to handle daylight saving time correctly.

-

If you need full time zone database support, then you should use ICU library.

-
-
- - - - - - diff --git a/doc/html/default_encoding_under_windows.html b/doc/html/default_encoding_under_windows.html deleted file mode 100644 index 3062cab5..00000000 --- a/doc/html/default_encoding_under_windows.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -Boost.Locale: Default Encoding under Microsoft Windows - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Default Encoding under Microsoft Windows
-
-
-

All modern operating systems use Unicode.

-
    -
  • Unix operating system family use UTF-8 encoding by default.
  • -
  • Microsoft Windows had migrated to Wide/UTF-16 API. The narrow encodings had been deprecated and the native OS API became so called "Wide API"
  • -
-

As a result of radically different approaches, it is very hard to write portable Unicode aware applications.

-

Boost Locale fully supports both narrow and wide API. The default character encoding is assumed to be UTF-8 on Windows.

-

So if the default operating system Locale is "English_USA.1252" the default locale for Boost.Locale on Windows would be "en_US.UTF-8".

-

When the created locale object is installed globally then any libraries that use std::codecvt for conversion between narrow API and the native wide API would handle UTF-8 correctly.

-

A good example of such library is Boost.Filesystem v3.

-

For example

-
#include <boost/locale.hpp>
-
#include <boost/filesystem/path.hpp>
-
#include <boost/filesystem/fstream.hpp>
-
-
int main()
-
{
-
// Create and install global locale
-
std::locale::global(boost::locale::generator().generate(""));
-
// Make boost.filesystem use it
-
boost::filesystem::path::imbue(std::locale());
-
// Now Works perfectly fine with UTF-8!
-
boost::filesystem::ofstream hello("שלום.txt");
-
}
-

However such behavior may break existing software that assumes that the current encoding is single byte encodings like code page 1252.

-

boost::locale::generator class has a property use_ansi_encoding() that allows to change the behavior to legacy one and select an ANSI code page as default system encoding.

-

So, when the current locale is "English_USA.1252" and the use_ansi_encoding is turned on then the default locale would be "en_US.windows-1252"

-
Note
winapi backend does not support ANSI encodings, thus UTF-8 encoding is always used for narrow characters.
-
-
- - - - - - diff --git a/doc/html/definitions_8hpp_source.html b/doc/html/definitions_8hpp_source.html deleted file mode 100644 index fc65be9f..00000000 --- a/doc/html/definitions_8hpp_source.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/definitions.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
definitions.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_DEFINITIONS_HPP_INCLUDED
-
9 #define BOOST_LOCALE_DEFINITIONS_HPP_INCLUDED
-
10 
-
11 #include <boost/config.hpp>
-
12 
-
13 // Support older ICU versions
-
14 #ifndef BOOST_SYMBOL_VISIBLE
-
15 # define BOOST_SYMBOL_VISIBLE
-
16 #endif
-
17 
-
18 #ifdef BOOST_HAS_DECLSPEC
-
19 # if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_LOCALE_DYN_LINK)
-
20 # ifdef BOOST_LOCALE_SOURCE
-
21 # define BOOST_LOCALE_DECL BOOST_SYMBOL_EXPORT
-
22 # else
-
23 # define BOOST_LOCALE_DECL BOOST_SYMBOL_IMPORT
-
24 # endif // BOOST_LOCALE_SOURCE
-
25 # endif // DYN_LINK
-
26 #endif // BOOST_HAS_DECLSPEC
-
27 
-
28 #ifndef BOOST_LOCALE_DECL
-
29 # define BOOST_LOCALE_DECL
-
30 #endif
-
31 
-
32 #endif // boost/locale/config.hpp
-
33 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
34 
-
-
- - - - - - diff --git a/doc/html/dir_3766567721029811f1987dd2bae66bec.html b/doc/html/dir_3766567721029811f1987dd2bae66bec.html deleted file mode 100644 index c8d43f82..00000000 --- a/doc/html/dir_3766567721029811f1987dd2bae66bec.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/boundary Directory Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
boundary Directory Reference
-
-
- - - - - - - - - - - - -

-Files

file  boundary_point.hpp [code]
 
file  facets.hpp [code]
 
file  index.hpp [code]
 
file  segment.hpp [code]
 
file  types.hpp [code]
 
-
-
- - - - - - diff --git a/doc/html/dir_3766567721029811f1987dd2bae66bec.js b/doc/html/dir_3766567721029811f1987dd2bae66bec.js deleted file mode 100644 index 1c3bb93d..00000000 --- a/doc/html/dir_3766567721029811f1987dd2bae66bec.js +++ /dev/null @@ -1,8 +0,0 @@ -var dir_3766567721029811f1987dd2bae66bec = -[ - [ "boundary_point.hpp", "boundary__point_8hpp_source.html", null ], - [ "facets.hpp", "facets_8hpp_source.html", null ], - [ "index.hpp", "index_8hpp_source.html", null ], - [ "segment.hpp", "segment_8hpp_source.html", null ], - [ "types.hpp", "types_8hpp_source.html", null ] -]; \ No newline at end of file diff --git a/doc/html/dir_420b709140677111ffb4101b86320b19.html b/doc/html/dir_420b709140677111ffb4101b86320b19.html deleted file mode 100644 index c48fae72..00000000 --- a/doc/html/dir_420b709140677111ffb4101b86320b19.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -Boost.Locale: boost/locale Directory Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
locale Directory Reference
-
-
- - - - -

-Directories

directory  boundary
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  boundary.hpp [code]
 
file  collator.hpp [code]
 
file  config.hpp [code]
 
file  conversion.hpp [code]
 
file  date_time.hpp [code]
 
file  date_time_facet.hpp [code]
 
file  definitions.hpp [code]
 
file  encoding.hpp [code]
 
file  encoding_errors.hpp [code]
 
file  encoding_utf.hpp [code]
 
file  format.hpp [code]
 
file  formatting.hpp [code]
 
file  generator.hpp [code]
 
file  generic_codecvt.hpp [code]
 
file  gnu_gettext.hpp [code]
 
file  hold_ptr.hpp [code]
 
file  info.hpp [code]
 
file  localization_backend.hpp [code]
 
file  message.hpp [code]
 
file  time_zone.hpp [code]
 
file  utf.hpp [code]
 
file  utf8_codecvt.hpp [code]
 
file  util.hpp [code]
 
-
-
- - - - - - diff --git a/doc/html/dir_420b709140677111ffb4101b86320b19.js b/doc/html/dir_420b709140677111ffb4101b86320b19.js deleted file mode 100644 index c686b048..00000000 --- a/doc/html/dir_420b709140677111ffb4101b86320b19.js +++ /dev/null @@ -1,27 +0,0 @@ -var dir_420b709140677111ffb4101b86320b19 = -[ - [ "boundary", "dir_3766567721029811f1987dd2bae66bec.html", "dir_3766567721029811f1987dd2bae66bec" ], - [ "boundary.hpp", "boundary_8hpp_source.html", null ], - [ "collator.hpp", "collator_8hpp_source.html", null ], - [ "config.hpp", "config_8hpp_source.html", null ], - [ "conversion.hpp", "conversion_8hpp_source.html", null ], - [ "date_time.hpp", "date__time_8hpp_source.html", null ], - [ "date_time_facet.hpp", "date__time__facet_8hpp_source.html", null ], - [ "definitions.hpp", "definitions_8hpp_source.html", null ], - [ "encoding.hpp", "encoding_8hpp_source.html", null ], - [ "encoding_errors.hpp", "encoding__errors_8hpp_source.html", null ], - [ "encoding_utf.hpp", "encoding__utf_8hpp_source.html", null ], - [ "format.hpp", "format_8hpp_source.html", null ], - [ "formatting.hpp", "formatting_8hpp_source.html", null ], - [ "generator.hpp", "generator_8hpp_source.html", null ], - [ "generic_codecvt.hpp", "generic__codecvt_8hpp_source.html", null ], - [ "gnu_gettext.hpp", "gnu__gettext_8hpp_source.html", null ], - [ "hold_ptr.hpp", "hold__ptr_8hpp_source.html", null ], - [ "info.hpp", "info_8hpp_source.html", null ], - [ "localization_backend.hpp", "localization__backend_8hpp_source.html", null ], - [ "message.hpp", "message_8hpp_source.html", null ], - [ "time_zone.hpp", "time__zone_8hpp_source.html", null ], - [ "utf.hpp", "utf_8hpp_source.html", null ], - [ "utf8_codecvt.hpp", "utf8__codecvt_8hpp_source.html", null ], - [ "util.hpp", "util_8hpp_source.html", null ] -]; \ No newline at end of file diff --git a/doc/html/dir_c8984f1860c11f62f47abb6761e46c1e.html b/doc/html/dir_c8984f1860c11f62f47abb6761e46c1e.html deleted file mode 100644 index f1615380..00000000 --- a/doc/html/dir_c8984f1860c11f62f47abb6761e46c1e.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - -Boost.Locale: boost Directory Reference - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
boost Directory Reference
-
-
- - - - -

-Directories

directory  locale
 
-
-
- - - - - - diff --git a/doc/html/dir_c8984f1860c11f62f47abb6761e46c1e.js b/doc/html/dir_c8984f1860c11f62f47abb6761e46c1e.js deleted file mode 100644 index f1a9496d..00000000 --- a/doc/html/dir_c8984f1860c11f62f47abb6761e46c1e.js +++ /dev/null @@ -1,4 +0,0 @@ -var dir_c8984f1860c11f62f47abb6761e46c1e = -[ - [ "locale", "dir_420b709140677111ffb4101b86320b19.html", "dir_420b709140677111ffb4101b86320b19" ] -]; \ No newline at end of file diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css deleted file mode 100644 index f0f36f89..00000000 --- a/doc/html/doxygen.css +++ /dev/null @@ -1,1366 +0,0 @@ -/* The standard CSS for doxygen 1.8.6 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; -} - -/* @group Heading Levels */ - -h1.groupheader { - font-size: 150%; -} - -.title { - font: 400 14px/28px Roboto,sans-serif; - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd { - margin-top: 2px; -} - -p.starttd { - margin-top: 0px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; -} - -a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; -} - -div.fragment { - padding: 4px 6px; - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; -} - -div.line { - font-family: monospace, fixed; - font-size: 13px; - min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; -} - - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; -} -span.lineno a { - background-color: #D8D8D8; -} - -span.lineno a:hover { - background-color: #C8C8C8; -} - -div.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memSeparator { - border-bottom: 1px solid #DEE4F0; - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px cyan; -} - -.memname { - font-weight: bold; - margin-left: 6px; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; - border-top-left-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - -moz-border-radius-topleft: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - -webkit-border-top-left-radius: 4px; - -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 10px 2px 10px; - background-color: #FBFCFD; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: #FFFFFF; - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} -.paramname code { - line-height: 14px; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; - text-shadow: none; - color: white; - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view when not used as main index */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.even { - padding-left: 6px; - background-color: #F7F8FB; -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3D578C; -} - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - /*width: 100%;*/ - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; -} - -.fieldtable td.fieldname { - padding-top: 3px; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ -} - -.fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - -.fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -dl -{ - padding: 0 0 0 10px; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section -{ - margin-left: 0px; - padding-left: 0px; -} - -dl.note -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00D000; -} - -dl.deprecated -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #505050; -} - -dl.todo -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00C0E0; -} - -dl.test -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #3030E0; -} - -dl.bug -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.diagraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #90A5CE; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; -} - -dl.citelist dd { - margin:2px 0; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 20px 10px 10px; - width: 200px; -} - -div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 30px; -} - -div.toc li.level4 { - margin-left: 45px; -} - -.inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: grey; - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: #006318; -} - -#powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before { - border-top-color: #808080; - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png deleted file mode 100644 index 3ff17d80..00000000 Binary files a/doc/html/doxygen.png and /dev/null differ diff --git a/doc/html/dynsections.js b/doc/html/dynsections.js deleted file mode 100644 index ed092c7f..00000000 --- a/doc/html/dynsections.js +++ /dev/null @@ -1,97 +0,0 @@ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); -} -function toggleLevel(level) -{ - $('table.directory tr').each(function(){ - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l - - - - - -Boost.Locale: boost/locale/encoding.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
encoding.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_ENCODING_HPP_INCLUDED
-
9 #define BOOST_LOCALE_ENCODING_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/config.hpp>
-
12 #ifdef BOOST_MSVC
-
13 # pragma warning(push)
-
14 # pragma warning(disable : 4275 4251 4231 4660)
-
15 #endif
-
16 #include <boost/locale/info.hpp>
-
17 #include <boost/locale/encoding_errors.hpp>
-
18 #include <boost/locale/encoding_utf.hpp>
-
19 
-
20 
-
21 
-
22 namespace boost {
-
23  namespace locale {
-
24 
-
28  namespace conv {
-
33 
-
37  template<typename CharType>
-
38  std::basic_string<CharType> to_utf(char const *begin,char const *end,std::string const &charset,method_type how=default_method);
-
39 
-
43  template<typename CharType>
-
44  std::string from_utf(CharType const *begin,CharType const *end,std::string const &charset,method_type how=default_method);
-
45 
-
51  template<typename CharType>
-
52  std::basic_string<CharType> to_utf(char const *begin,char const *end,std::locale const &loc,method_type how=default_method)
-
53  {
-
54  return to_utf<CharType>(begin,end,std::use_facet<info>(loc).encoding(),how);
-
55  }
-
56 
-
62  template<typename CharType>
-
63  std::string from_utf(CharType const *begin,CharType const *end,std::locale const &loc,method_type how=default_method)
-
64  {
-
65  return from_utf(begin,end,std::use_facet<info>(loc).encoding(),how);
-
66  }
-
67 
-
71 
-
72  template<typename CharType>
-
73  std::basic_string<CharType> to_utf(std::string const &text,std::string const &charset,method_type how=default_method)
-
74  {
-
75  return to_utf<CharType>(text.c_str(),text.c_str()+text.size(),charset,how);
-
76  }
-
77 
-
81  template<typename CharType>
-
82  std::string from_utf(std::basic_string<CharType> const &text,std::string const &charset,method_type how=default_method)
-
83  {
-
84  return from_utf(text.c_str(),text.c_str()+text.size(),charset,how);
-
85  }
-
86 
-
90  template<typename CharType>
-
91  std::basic_string<CharType> to_utf(char const *text,std::string const &charset,method_type how=default_method)
-
92  {
-
93  char const *text_end = text;
-
94  while(*text_end)
-
95  text_end++;
-
96  return to_utf<CharType>(text,text_end,charset,how);
-
97  }
-
98 
-
102  template<typename CharType>
-
103  std::string from_utf(CharType const *text,std::string const &charset,method_type how=default_method)
-
104  {
-
105  CharType const *text_end = text;
-
106  while(*text_end)
-
107  text_end++;
-
108  return from_utf(text,text_end,charset,how);
-
109  }
-
110 
-
116  template<typename CharType>
-
117  std::basic_string<CharType> to_utf(std::string const &text,std::locale const &loc,method_type how=default_method)
-
118  {
-
119  return to_utf<CharType>(text.c_str(),text.c_str()+text.size(),loc,how);
-
120  }
-
121 
-
127  template<typename CharType>
-
128  std::string from_utf(std::basic_string<CharType> const &text,std::locale const &loc,method_type how=default_method)
-
129  {
-
130  return from_utf(text.c_str(),text.c_str()+text.size(),loc,how);
-
131  }
-
132 
-
138  template<typename CharType>
-
139  std::basic_string<CharType> to_utf(char const *text,std::locale const &loc,method_type how=default_method)
-
140  {
-
141  char const *text_end = text;
-
142  while(*text_end)
-
143  text_end++;
-
144  return to_utf<CharType>(text,text_end,loc,how);
-
145  }
-
146 
-
152  template<typename CharType>
-
153  std::string from_utf(CharType const *text,std::locale const &loc,method_type how=default_method)
-
154  {
-
155  CharType const *text_end = text;
-
156  while(*text_end)
-
157  text_end++;
-
158  return from_utf(text,text_end,loc,how);
-
159  }
-
160 
-
161 
-
165 
-
166  BOOST_LOCALE_DECL
-
167  std::string between(char const *begin,
-
168  char const *end,
-
169  std::string const &to_encoding,
-
170  std::string const &from_encoding,
- -
172 
-
176 
-
177  inline
-
178  std::string between(char const *text,
-
179  std::string const &to_encoding,
-
180  std::string const &from_encoding,
- -
182  {
-
183  char const *end=text;
-
184  while(*end)
-
185  end++;
-
186  return boost::locale::conv::between(text,end,to_encoding,from_encoding,how);
-
187  }
-
188 
-
192  inline
-
193  std::string between(std::string const &text,
-
194  std::string const &to_encoding,
-
195  std::string const &from_encoding,
- -
197  {
-
198  return boost::locale::conv::between(text.c_str(),text.c_str()+text.size(),to_encoding,from_encoding,how);
-
199  }
-
200 
-
202 
-
203  template<>
-
204  BOOST_LOCALE_DECL std::basic_string<char> to_utf(char const *begin,char const *end,std::string const &charset,method_type how);
-
205 
-
206  template<>
-
207  BOOST_LOCALE_DECL std::string from_utf(char const *begin,char const *end,std::string const &charset,method_type how);
-
208 
-
209  template<>
-
210  BOOST_LOCALE_DECL std::basic_string<wchar_t> to_utf(char const *begin,char const *end,std::string const &charset,method_type how);
-
211 
-
212  template<>
-
213  BOOST_LOCALE_DECL std::string from_utf(wchar_t const *begin,wchar_t const *end,std::string const &charset,method_type how);
-
214 
-
215  #ifdef BOOST_LOCALE_ENABLE_CHAR16_T
-
216  template<>
-
217  BOOST_LOCALE_DECL std::basic_string<char16_t> to_utf(char const *begin,char const *end,std::string const &charset,method_type how);
-
218 
-
219  template<>
-
220  BOOST_LOCALE_DECL std::string from_utf(char16_t const *begin,char16_t const *end,std::string const &charset,method_type how);
-
221  #endif
-
222 
-
223  #ifdef BOOST_LOCALE_ENABLE_CHAR32_T
-
224  template<>
-
225  BOOST_LOCALE_DECL std::basic_string<char32_t> to_utf(char const *begin,char const *end,std::string const &charset,method_type how);
-
226 
-
227  template<>
-
228  BOOST_LOCALE_DECL std::string from_utf(char32_t const *begin,char32_t const *end,std::string const &charset,method_type how);
-
229  #endif
-
230 
-
231 
-
233 
-
235 
-
236  } // conv
-
237 
-
238  } // locale
-
239 } // boost
-
240 
-
241 #ifdef BOOST_MSVC
-
242 #pragma warning(pop)
-
243 #endif
-
244 
-
245 #endif
-
246 
-
247 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
248 
-
std::string from_utf(CharType const *begin, CharType const *end, std::string const &charset, method_type how=default_method)
-
std::basic_string< CharType > to_utf(char const *begin, char const *end, std::string const &charset, method_type how=default_method)
-
Default method - skip.
Definition: encoding_errors.hpp:57
-
std::string between(char const *begin, char const *end, std::string const &to_encoding, std::string const &from_encoding, method_type how=default_method)
-
method_type
Definition: encoding_errors.hpp:54
-
-
- - - - - - diff --git a/doc/html/encoding__errors_8hpp_source.html b/doc/html/encoding__errors_8hpp_source.html deleted file mode 100644 index a9d32826..00000000 --- a/doc/html/encoding__errors_8hpp_source.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/encoding_errors.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
encoding_errors.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_ENCODING_ERRORS_HPP_INCLUDED
-
9 #define BOOST_LOCALE_ENCODING_ERRORS_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/definitions.hpp>
-
12 #ifdef BOOST_MSVC
-
13 # pragma warning(push)
-
14 # pragma warning(disable : 4275 4251 4231 4660)
-
15 #endif
-
16 #include <stdexcept>
-
17 
-
18 
-
19 
-
20 namespace boost {
-
21  namespace locale {
-
22  namespace conv {
-
27 
-
31  class BOOST_SYMBOL_VISIBLE conversion_error : public std::runtime_error {
-
32  public:
-
33  conversion_error() : std::runtime_error("Conversion failed") {}
-
34  };
-
35 
-
40  class BOOST_SYMBOL_VISIBLE invalid_charset_error : public std::runtime_error {
-
41  public:
-
42 
-
44  invalid_charset_error(std::string charset) :
-
45  std::runtime_error("Invalid or unsupported charset:" + charset)
-
46  {
-
47  }
-
48  };
-
49 
-
50 
-
54  typedef enum {
-
55  skip = 0,
-
56  stop = 1,
- -
58  } method_type;
-
59 
-
60 
-
62 
-
63  } // conv
-
64 
-
65  } // locale
-
66 } // boost
-
67 
-
68 #ifdef BOOST_MSVC
-
69 #pragma warning(pop)
-
70 #endif
-
71 
-
72 #endif
-
73 
-
74 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
75 
-
The excepton that is thrown in case of conversion error.
Definition: encoding_errors.hpp:31
-
This exception is thrown in case of use of unsupported or invalid character set.
Definition: encoding_errors.hpp:40
-
Default method - skip.
Definition: encoding_errors.hpp:57
-
invalid_charset_error(std::string charset)
Create an error for charset charset.
Definition: encoding_errors.hpp:44
-
Stop conversion and throw conversion_error.
Definition: encoding_errors.hpp:56
-
Skip illegal/unconvertable characters.
Definition: encoding_errors.hpp:55
-
method_type
Definition: encoding_errors.hpp:54
-
-
- - - - - - diff --git a/doc/html/encoding__utf_8hpp_source.html b/doc/html/encoding__utf_8hpp_source.html deleted file mode 100644 index 75208867..00000000 --- a/doc/html/encoding__utf_8hpp_source.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/encoding_utf.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
encoding_utf.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_ENCODING_UTF_HPP_INCLUDED
-
9 #define BOOST_LOCALE_ENCODING_UTF_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/utf.hpp>
-
12 #include <boost/locale/encoding_errors.hpp>
-
13 #include <iterator>
-
14 #ifdef BOOST_MSVC
-
15 # pragma warning(push)
-
16 # pragma warning(disable : 4275 4251 4231 4660)
-
17 #endif
-
18 
-
19 
-
20 
-
21 namespace boost {
-
22  namespace locale {
-
23  namespace conv {
-
28 
-
32  template<typename CharOut,typename CharIn>
-
33  std::basic_string<CharOut>
-
34  utf_to_utf(CharIn const *begin,CharIn const *end,method_type how = default_method)
-
35  {
-
36  std::basic_string<CharOut> result;
-
37  result.reserve(end-begin);
-
38  typedef std::back_insert_iterator<std::basic_string<CharOut> > inserter_type;
-
39  inserter_type inserter(result);
- -
41  while(begin!=end) {
-
42  c=utf::utf_traits<CharIn>::template decode<CharIn const *>(begin,end);
-
43  if(c==utf::illegal || c==utf::incomplete) {
-
44  if(how==stop)
-
45  throw conversion_error();
-
46  }
-
47  else {
-
48  utf::utf_traits<CharOut>::template encode<inserter_type>(c,inserter);
-
49  }
-
50  }
-
51  return result;
-
52  }
-
53 
-
57  template<typename CharOut,typename CharIn>
-
58  std::basic_string<CharOut>
-
59  utf_to_utf(CharIn const *str,method_type how = default_method)
-
60  {
-
61  CharIn const *end = str;
-
62  while(*end)
-
63  end++;
-
64  return utf_to_utf<CharOut,CharIn>(str,end,how);
-
65  }
-
66 
-
67 
-
71  template<typename CharOut,typename CharIn>
-
72  std::basic_string<CharOut>
-
73  utf_to_utf(std::basic_string<CharIn> const &str,method_type how = default_method)
-
74  {
-
75  return utf_to_utf<CharOut,CharIn>(str.c_str(),str.c_str()+str.size(),how);
-
76  }
-
77 
-
78 
-
80 
-
81  } // conv
-
82 
-
83  } // locale
-
84 } // boost
-
85 
-
86 #ifdef BOOST_MSVC
-
87 #pragma warning(pop)
-
88 #endif
-
89 
-
90 #endif
-
91 
-
92 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
93 
-
static const code_point incomplete
Special constant that defines incomplete code point.
Definition: utf.hpp:44
-
The excepton that is thrown in case of conversion error.
Definition: encoding_errors.hpp:31
-
uint32_t code_point
The integral type that can hold a Unicode code point.
Definition: utf.hpp:34
-
static const code_point illegal
Special constant that defines illegal code point.
Definition: utf.hpp:39
-
UTF Traits class - functions to convert UTF sequences to and from Unicode code points.
Definition: utf.hpp:63
-
std::basic_string< CharOut > utf_to_utf(CharIn const *begin, CharIn const *end, method_type how=default_method)
Definition: encoding_utf.hpp:34
-
Default method - skip.
Definition: encoding_errors.hpp:57
-
Stop conversion and throw conversion_error.
Definition: encoding_errors.hpp:56
-
method_type
Definition: encoding_errors.hpp:54
-
-
- - - - - - diff --git a/doc/html/examples.html b/doc/html/examples.html deleted file mode 100644 index e79b8c67..00000000 --- a/doc/html/examples.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - -Boost.Locale: Examples - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Examples
-
-
-
Here is a list of all examples:
-
-
- - - - - - diff --git a/doc/html/examples.js b/doc/html/examples.js deleted file mode 100644 index 14ff46ad..00000000 --- a/doc/html/examples.js +++ /dev/null @@ -1,11 +0,0 @@ -var examples = -[ - [ "boundary.cpp", "boundary_8cpp-example.html", null ], - [ "calendar.cpp", "calendar_8cpp-example.html", null ], - [ "collate.cpp", "collate_8cpp-example.html", null ], - [ "conversions.cpp", "conversions_8cpp-example.html", null ], - [ "hello.cpp", "hello_8cpp-example.html", null ], - [ "wboundary.cpp", "wboundary_8cpp-example.html", null ], - [ "wconversions.cpp", "wconversions_8cpp-example.html", null ], - [ "whello.cpp", "whello_8cpp-example.html", null ] -]; \ No newline at end of file diff --git a/doc/html/facets_8hpp_source.html b/doc/html/facets_8hpp_source.html deleted file mode 100644 index 24a5b9e4..00000000 --- a/doc/html/facets_8hpp_source.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/boundary/facets.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
facets.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_BOUNDARY_FACETS_HPP_INCLUDED
-
9 #define BOOST_LOCALE_BOUNDARY_FACETS_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/config.hpp>
-
12 #include <boost/locale/boundary/types.hpp>
-
13 #ifdef BOOST_MSVC
-
14 # pragma warning(push)
-
15 # pragma warning(disable : 4275 4251 4231 4660)
-
16 #endif
-
17 #include <locale>
-
18 #include <vector>
-
19 
-
20 
-
21 
-
22 
-
23 namespace boost {
-
24 
-
25  namespace locale {
-
26 
-
30  namespace boundary {
-
36 
-
37 
-
42  struct break_info {
-
43 
- -
48  offset(0),
-
49  rule(0)
-
50  {
-
51  }
-
56  break_info(size_t v) :
-
57  offset(v),
-
58  rule(0)
-
59  {
-
60  }
-
61 
-
65  size_t offset;
- -
71 
-
76  bool operator<(break_info const &other) const
-
77  {
-
78  return offset < other.offset;
-
79  }
-
80  };
-
81 
-
86  typedef std::vector<break_info> index_type;
-
87 
-
88 
-
89  template<typename CharType>
- -
91 
-
92  #ifdef BOOST_LOCALE_DOXYGEN
-
93  template<typename Char>
-
100  class BOOST_LOCALE_DECL boundary_indexing : public std::locale::facet {
-
101  public:
-
105  boundary_indexing(size_t refs=0) : std::locale::facet(refs)
-
106  {
-
107  }
-
115  virtual index_type map(boundary_type t,Char const *begin,Char const *end) const = 0;
-
119  static std::locale::id id;
-
120 
-
121  #if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
-
122  std::locale::id& __get_id (void) const { return id; }
-
123  #endif
-
124  };
-
125 
-
126  #else
-
127 
-
128  template<>
-
129  class BOOST_LOCALE_DECL boundary_indexing<char> : public std::locale::facet {
-
130  public:
-
131  boundary_indexing(size_t refs=0) : std::locale::facet(refs)
-
132  {
-
133  }
-
134  virtual index_type map(boundary_type t,char const *begin,char const *end) const = 0;
-
135  static std::locale::id id;
-
136  #if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
-
137  std::locale::id& __get_id (void) const { return id; }
-
138  #endif
-
139  };
-
140 
-
141  template<>
-
142  class BOOST_LOCALE_DECL boundary_indexing<wchar_t> : public std::locale::facet {
-
143  public:
-
144  boundary_indexing(size_t refs=0) : std::locale::facet(refs)
-
145  {
-
146  }
-
147  virtual index_type map(boundary_type t,wchar_t const *begin,wchar_t const *end) const = 0;
-
148 
-
149  static std::locale::id id;
-
150  #if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
-
151  std::locale::id& __get_id (void) const { return id; }
-
152  #endif
-
153  };
-
154 
-
155  #ifdef BOOST_LOCALE_ENABLE_CHAR16_T
-
156  template<>
-
157  class BOOST_LOCALE_DECL boundary_indexing<char16_t> : public std::locale::facet {
-
158  public:
-
159  boundary_indexing(size_t refs=0) : std::locale::facet(refs)
-
160  {
-
161  }
-
162  virtual index_type map(boundary_type t,char16_t const *begin,char16_t const *end) const = 0;
-
163  static std::locale::id id;
-
164  #if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
-
165  std::locale::id& __get_id (void) const { return id; }
-
166  #endif
-
167  };
-
168  #endif
-
169 
-
170  #ifdef BOOST_LOCALE_ENABLE_CHAR32_T
-
171  template<>
-
172  class BOOST_LOCALE_DECL boundary_indexing<char32_t> : public std::locale::facet {
-
173  public:
-
174  boundary_indexing(size_t refs=0) : std::locale::facet(refs)
-
175  {
-
176  }
-
177  virtual index_type map(boundary_type t,char32_t const *begin,char32_t const *end) const = 0;
-
178  static std::locale::id id;
-
179  #if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
-
180  std::locale::id& __get_id (void) const { return id; }
-
181  #endif
-
182  };
-
183  #endif
-
184 
-
185  #endif
-
186 
-
190 
-
191 
-
192  } // boundary
-
193 
-
194  } // locale
-
195 } // boost
-
196 
-
197 
-
198 #ifdef BOOST_MSVC
-
199 #pragma warning(pop)
-
200 #endif
-
201 
-
202 #endif
-
203 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
This facet generates an index for boundary analysis for a given text.
Definition: facets.hpp:90
-
boundary_type
Definition: types.hpp:39
-
break_info()
Definition: facets.hpp:47
-
break_info(size_t v)
Definition: facets.hpp:56
-
static std::locale::id id
Definition: facets.hpp:119
-
This structure is used for representing boundary point that follows the offset.
Definition: facets.hpp:42
-
uint32_t rule_type
Flags used with word boundary analysis – the type of the word, line or sentence boundary found...
Definition: types.hpp:51
-
bool operator<(break_info const &other) const
Definition: facets.hpp:76
-
rule_type rule
Definition: facets.hpp:70
-
size_t offset
Definition: facets.hpp:65
-
boundary_indexing(size_t refs=0)
Definition: facets.hpp:105
-
std::vector< break_info > index_type
Definition: facets.hpp:86
-
-
- - - - - - diff --git a/doc/html/faq.html b/doc/html/faq.html deleted file mode 100644 index b095f10a..00000000 --- a/doc/html/faq.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -Boost.Locale: Frequently Asked Questions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Frequently Asked Questions
-
-
-
    -
  • I try to use some Boost.Locale functions and I get an std::bad_cast exception thrown?
    -
    - Answer: You probably try to use incorrect std::locale object. All Boost.Locale tools relay on std::locale object's facets. The locale object should be generated with generator class and then passed to the function or alternatively global locale should be set using std::locale::global() function such that global locale (and default created one) would have required facets to use.
  • -
  • I had installed global locale and try to write something to stream but still get wrong output? For example:
    #include <boost/locale.hpp>
    -
    #include <iostream>
    -
    int main()
    -
    {
    - -
    std::locale::global(gen(""));
    -
    std::cout << boost::locale::as::date << std::time(0) << std::endl;
    -
    }
    -
    Prints a number instead of a date.
    - Answer: You forget to imbue the locale to the stream. Changing the global locale does not affect the locale in existing iostream objects. Thus because std::out and other global streams were created before changing the global locale Boost.Locale manipulators have no effect. You need to write:
    #include <boost/locale.hpp>
    -
    #include <iostream>
    -
    int main()
    -
    {
    - -
    std::locale l = gen("");
    -
    std::locale::global(l);
    -
    std::cout.imbue(l);
    -
    std::cout << boost::locale::as::date << std::time(0) << std::endl;
    -
    }
    -
  • -
-
-
- - - - - - diff --git a/doc/html/files.html b/doc/html/files.html deleted file mode 100644 index 12a7971e..00000000 --- a/doc/html/files.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - -Boost.Locale: File List - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
File List
-
-
-
Here is a list of all documented files with brief descriptions:
-
[detail level 1234]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\-boost
 \-locale
  o-boundary
  |o*boundary_point.hpp
  |o*facets.hpp
  |o*index.hpp
  |o*segment.hpp
  |\*types.hpp
  o*boundary.hpp
  o*collator.hpp
  o*config.hpp
  o*conversion.hpp
  o*date_time.hpp
  o*date_time_facet.hpp
  o*definitions.hpp
  o*encoding.hpp
  o*encoding_errors.hpp
  o*encoding_utf.hpp
  o*format.hpp
  o*formatting.hpp
  o*generator.hpp
  o*generic_codecvt.hpp
  o*gnu_gettext.hpp
  o*hold_ptr.hpp
  o*info.hpp
  o*localization_backend.hpp
  o*message.hpp
  o*time_zone.hpp
  o*utf.hpp
  o*utf8_codecvt.hpp
  \*util.hpp
-
-
-
- - - - - - diff --git a/doc/html/files.js b/doc/html/files.js deleted file mode 100644 index 807c607d..00000000 --- a/doc/html/files.js +++ /dev/null @@ -1,4 +0,0 @@ -var files = -[ - [ "boost", "dir_c8984f1860c11f62f47abb6761e46c1e.html", "dir_c8984f1860c11f62f47abb6761e46c1e" ] -]; \ No newline at end of file diff --git a/doc/html/format_8hpp_source.html b/doc/html/format_8hpp_source.html deleted file mode 100644 index 00af5111..00000000 --- a/doc/html/format_8hpp_source.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/format.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
format.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_FORMAT_HPP_INCLUDED
-
9 #define BOOST_LOCALE_FORMAT_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/config.hpp>
-
12 #ifdef BOOST_MSVC
-
13 # pragma warning(push)
-
14 # pragma warning(disable : 4275 4251 4231 4660)
-
15 #endif
-
16 #include <boost/locale/message.hpp>
-
17 #include <boost/locale/formatting.hpp>
-
18 
-
19 #include <sstream>
-
20 
-
21 
-
22 namespace boost {
-
23  namespace locale {
-
24 
-
32 
-
34  namespace details {
-
35 
-
36  template<typename CharType>
-
37  struct formattible {
-
38  typedef std::basic_ostream<CharType> stream_type;
-
39  typedef void (*writer_type)(stream_type &output,void const *ptr);
-
40 
-
41  formattible() :
-
42  pointer_(0),
-
43  writer_(&formattible::void_write)
-
44  {
-
45  }
-
46 
-
47  formattible(formattible const &other) :
-
48  pointer_(other.pointer_),
-
49  writer_(other.writer_)
-
50  {
-
51  }
-
52 
-
53  formattible const &operator=(formattible const &other)
-
54  {
-
55  if(this != &other) {
-
56  pointer_=other.pointer_;
-
57  writer_=other.writer_;
-
58  }
-
59  return *this;
-
60  }
-
61 
-
62  template<typename Type>
-
63  formattible(Type const &value)
-
64  {
-
65  pointer_ = static_cast<void const *>(&value);
-
66  writer_ = &write<Type>;
-
67  }
-
68 
-
69  template<typename Type>
-
70  formattible const &operator=(Type const &other)
-
71  {
-
72  *this = formattible(other);
-
73  return *this;
-
74  }
-
75 
-
76  friend stream_type &operator<<(stream_type &out,formattible const &fmt)
-
77  {
-
78  fmt.writer_(out,fmt.pointer_);
-
79  return out;
-
80  }
-
81 
-
82  private:
-
83  static void void_write(stream_type &output,void const * /*ptr*/)
-
84  {
-
85  CharType empty_string[1]={0};
-
86  output<<empty_string;
-
87  }
-
88 
-
89  template<typename Type>
-
90  static void write(stream_type &output,void const *ptr)
-
91  {
-
92  output << *static_cast<Type const *>(ptr);
-
93  }
-
94 
-
95  void const *pointer_;
-
96  writer_type writer_;
-
97  }; // formattible
-
98 
-
99  class BOOST_LOCALE_DECL format_parser {
-
100  public:
-
101  format_parser(std::ios_base &ios,void *,void (*imbuer)(void *,std::locale const &));
-
102  ~format_parser();
-
103 
-
104  unsigned get_position();
-
105 
-
106  void set_one_flag(std::string const &key,std::string const &value);
-
107 
-
108  template<typename CharType>
-
109  void set_flag_with_str(std::string const &key,std::basic_string<CharType> const &value)
-
110  {
-
111  if(key=="ftime" || key=="strftime") {
-
112  as::strftime(ios_);
-
113  ios_info::get(ios_).date_time_pattern(value);
-
114  }
-
115  }
-
116  void restore();
-
117  private:
-
118  void imbue(std::locale const &);
-
119  format_parser(format_parser const &);
-
120  void operator=(format_parser const &);
-
121 
-
122  std::ios_base &ios_;
-
123  struct data;
-
124  std::auto_ptr<data> d;
-
125  };
-
126 
-
127  }
-
128 
-
130 
-
203  template<typename CharType>
-
204  class basic_format {
-
205  public:
-
206  typedef CharType char_type;
- -
208  typedef details::formattible<CharType> formattible_type;
-
211 
-
212  typedef std::basic_string<CharType> string_type;
-
213  typedef std::basic_ostream<CharType> stream_type;
-
214 
-
215 
-
219  basic_format(string_type format_string) :
-
220  format_(format_string),
-
221  translate_(false),
-
222  parameters_count_(0)
-
223  {
-
224  }
-
229  basic_format(message_type const &trans) :
-
230  message_(trans),
-
231  translate_(true),
-
232  parameters_count_(0)
-
233  {
-
234  }
-
235 
-
240  template<typename Formattible>
-
241  basic_format &operator % (Formattible const &object)
-
242  {
-
243  add(formattible_type(object));
-
244  return *this;
-
245  }
-
246 
-
250  string_type str(std::locale const &loc = std::locale()) const
-
251  {
-
252  std::basic_ostringstream<CharType> buffer;
-
253  buffer.imbue(loc);
-
254  write(buffer);
-
255  return buffer.str();
-
256  }
-
257 
-
261  void write(stream_type &out) const
-
262  {
- -
264  if(translate_)
-
265  format = message_.str(out.getloc(),ios_info::get(out).domain_id());
-
266  else
-
267  format = format_;
-
268 
-
269  format_output(out,format);
-
270 
-
271  }
-
272 
-
273 
-
274  private:
-
275 
-
276  class format_guard {
-
277  public:
-
278  format_guard(details::format_parser &fmt) :
-
279  fmt_(&fmt),
-
280  restored_(false)
-
281  {
-
282  }
-
283  void restore()
-
284  {
-
285  if(restored_)
-
286  return;
-
287  fmt_->restore();
-
288  restored_ = true;
-
289  }
-
290  ~format_guard()
-
291  {
-
292  try {
-
293  restore();
-
294  }
-
295  catch(...) {
-
296  }
-
297  }
-
298  private:
-
299  details::format_parser *fmt_;
-
300  bool restored_;
-
301  };
-
302 
-
303  void format_output(stream_type &out,string_type const &sformat) const
-
304  {
-
305  char_type obrk='{';
-
306  char_type cbrk='}';
-
307  char_type eq='=';
-
308  char_type comma=',';
-
309  char_type quote='\'';
-
310 
-
311  size_t pos = 0;
-
312  size_t size=sformat.size();
-
313  CharType const *format=sformat.c_str();
-
314  while(format[pos]!=0) {
-
315  if(format[pos] != obrk) {
-
316  if(format[pos]==cbrk && format[pos+1]==cbrk) {
-
317  out << cbrk;
-
318  pos+=2;
-
319  }
-
320  else {
-
321  out<<format[pos];
-
322  pos++;
-
323  }
-
324  continue;
-
325  }
-
326 
-
327  if(pos+1 < size && format[pos+1]==obrk) {
-
328  out << obrk;
-
329  pos+=2;
-
330  continue;
-
331  }
-
332  pos++;
-
333 
-
334  details::format_parser fmt(out,static_cast<void *>(&out),&basic_format::imbue_locale);
-
335 
-
336  format_guard guard(fmt);
-
337 
-
338  while(pos < size) {
-
339  std::string key;
-
340  std::string svalue;
-
341  string_type value;
-
342  bool use_svalue = true;
-
343  for(;format[pos];pos++) {
-
344  char_type c=format[pos];
-
345  if(c==comma || c==eq || c==cbrk)
-
346  break;
-
347  else {
-
348  key+=static_cast<char>(c);
-
349  }
-
350  }
-
351 
-
352  if(format[pos]==eq) {
-
353  pos++;
-
354  if(format[pos]==quote) {
-
355  pos++;
-
356  use_svalue = false;
-
357  while(format[pos]) {
-
358  if(format[pos]==quote) {
-
359  if(format[pos+1]==quote) {
-
360  value+=quote;
-
361  pos+=2;
-
362  }
-
363  else {
-
364  pos++;
-
365  break;
-
366  }
-
367  }
-
368  else {
-
369  value+=format[pos];
-
370  pos++;
-
371  }
-
372  }
-
373  }
-
374  else {
-
375  char_type c;
-
376  while((c=format[pos])!=0 && c!=comma && c!=cbrk) {
-
377  svalue+=static_cast<char>(c);
-
378  pos++;
-
379  }
-
380  }
-
381  }
-
382 
-
383  if(use_svalue) {
-
384  fmt.set_one_flag(key,svalue);
-
385  }
-
386  else
-
387  fmt.set_flag_with_str(key,value);
-
388 
-
389  if(format[pos]==comma) {
-
390  pos++;
-
391  continue;
-
392  }
-
393  else if(format[pos]==cbrk) {
-
394  unsigned position = fmt.get_position();
-
395  out << get(position);
-
396  guard.restore();
-
397  pos++;
-
398  break;
-
399  }
-
400  else {
-
401  guard.restore();
-
402  break;
-
403  }
-
404  }
-
405  }
-
406  }
-
407 
-
408 
-
409  //
-
410  // Non-copyable
-
411  //
-
412  basic_format(basic_format const &other);
-
413  void operator=(basic_format const &other);
-
414 
-
415  void add(formattible_type const &param)
-
416  {
-
417  if(parameters_count_ >= base_params_)
-
418  ext_params_.push_back(param);
-
419  else
-
420  parameters_[parameters_count_] = param;
-
421  parameters_count_++;
-
422  }
-
423 
-
424  formattible_type get(unsigned id) const
-
425  {
-
426  if(id >= parameters_count_)
-
427  return formattible_type();
-
428  else if(id >= base_params_)
-
429  return ext_params_[id - base_params_];
-
430  else
-
431  return parameters_[id];
-
432  }
-
433 
-
434  static void imbue_locale(void *ptr,std::locale const &l)
-
435  {
-
436  reinterpret_cast<stream_type *>(ptr)->imbue(l);
-
437  }
-
438 
-
439 
-
440 
-
441  static unsigned const base_params_ = 8;
-
442 
-
443  message_type message_;
-
444  string_type format_;
-
445  bool translate_;
-
446 
-
447 
-
448  formattible_type parameters_[base_params_];
-
449  unsigned parameters_count_;
-
450  std::vector<formattible_type> ext_params_;
-
451  };
-
452 
-
458  template<typename CharType>
-
459  std::basic_ostream<CharType> &operator<<(std::basic_ostream<CharType> &out,basic_format<CharType> const &fmt)
-
460  {
-
461  fmt.write(out);
-
462  return out;
-
463  }
-
464 
-
465 
- -
470 
- -
475 
-
476  #ifdef BOOST_LOCALE_ENABLE_CHAR16_T
- -
481  #endif
-
482 
-
483  #ifdef BOOST_LOCALE_ENABLE_CHAR32_T
- -
488  #endif
-
489 
-
493 
-
494  }
-
495 }
-
496 
-
497 #ifdef BOOST_MSVC
-
498 #pragma warning(pop)
-
499 #endif
-
500 
-
501 #endif
-
502 
-
513 
-
514 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
515 
-
basic_format< char32_t > u32format
Definition: format.hpp:487
-
a printf like class that allows type-safe and locale aware message formatting
Definition: format.hpp:204
-
basic_format & operator%(Formattible const &object)
Definition: format.hpp:241
-
std::basic_string< CharType > string_type
string type for this type of character
Definition: format.hpp:212
-
std::ios_base & strftime(std::ios_base &ios)
Definition: formatting.hpp:347
-
basic_format(message_type const &trans)
Definition: format.hpp:229
-
string_type str() const
Definition: message.hpp:353
- -
basic_format(string_type format_string)
Definition: format.hpp:219
-
static ios_info & get(std::ios_base &ios)
-
std::basic_ostream< CharType > stream_type
output stream type for this type of character
Definition: format.hpp:213
- -
std::basic_ostream< CharType > & operator<<(std::basic_ostream< CharType > &out, date_time const &t)
Definition: date_time.hpp:874
-
CharType char_type
Underlying character type.
Definition: format.hpp:206
-
basic_format< wchar_t > wformat
Definition: format.hpp:474
-
string_type str(std::locale const &loc=std::locale()) const
Definition: format.hpp:250
-
basic_format< char16_t > u16format
Definition: format.hpp:480
-
basic_format< char > format
Definition: format.hpp:469
-
basic_message< char_type > message_type
Definition: format.hpp:207
-
void date_time_pattern(std::basic_string< CharType > const &str)
Definition: formatting.hpp:155
-
void write(stream_type &out) const
Definition: format.hpp:261
-
-
- - - - - - diff --git a/doc/html/formatting_8hpp_source.html b/doc/html/formatting_8hpp_source.html deleted file mode 100644 index 232e7820..00000000 --- a/doc/html/formatting_8hpp_source.html +++ /dev/null @@ -1,590 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/formatting.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
formatting.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_FORMATTING_HPP_INCLUDED
-
9 #define BOOST_LOCALE_FORMATTING_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/config.hpp>
-
12 #ifdef BOOST_MSVC
-
13 # pragma warning(push)
-
14 # pragma warning(disable : 4275 4251 4231 4660)
-
15 #endif
-
16 #include <boost/cstdint.hpp>
-
17 #include <boost/locale/time_zone.hpp>
-
18 #include <ostream>
-
19 #include <istream>
-
20 #include <string>
-
21 #include <string.h>
-
22 #include <typeinfo>
-
23 
-
24 namespace boost {
-
25  namespace locale {
-
30  namespace flags {
-
35  typedef enum {
-
36  posix = 0,
-
37  number = 1,
-
38  currency = 2,
-
39  percent = 3,
-
40  date = 4,
-
41  time = 5,
-
42  datetime = 6,
-
43  strftime = 7,
-
44  spellout = 8,
-
45  ordinal = 9,
-
46 
-
47  display_flags_mask = 31,
-
48 
-
49  currency_default = 0 << 5,
-
50  currency_iso = 1 << 5,
-
51  currency_national = 2 << 5,
-
52 
-
53  currency_flags_mask = 3 << 5,
-
54 
-
55  time_default = 0 << 7,
-
56  time_short = 1 << 7,
-
57  time_medium = 2 << 7,
-
58  time_long = 3 << 7,
-
59  time_full = 4 << 7,
-
60  time_flags_mask = 7 << 7,
-
61 
-
62  date_default = 0 << 10,
-
63  date_short = 1 << 10,
-
64  date_medium = 2 << 10,
-
65  date_long = 3 << 10,
-
66  date_full = 4 << 10,
-
67  date_flags_mask = 7 << 10,
-
68 
-
69  datetime_flags_mask = date_flags_mask | time_flags_mask
-
70 
- -
72 
-
77  typedef enum {
- - -
80  } pattern_type;
-
81 
-
85  typedef enum {
- -
87  } value_type;
-
88 
-
89 
-
90  } // flags
-
91 
-
98  class BOOST_LOCALE_DECL ios_info {
-
99  public:
-
100 
-
102 
-
103  ios_info();
-
104  ios_info(ios_info const &);
-
105  ios_info const &operator=(ios_info const &);
-
106  ~ios_info();
-
107 
-
109 
-
113  static ios_info &get(std::ios_base &ios);
-
114 
-
118  void display_flags(uint64_t flags);
-
119 
-
123  void currency_flags(uint64_t flags);
-
124 
-
128  void date_flags(uint64_t flags);
-
129 
-
133  void time_flags(uint64_t flags);
-
134 
-
138  void datetime_flags(uint64_t flags);
-
139 
-
143  void domain_id(int);
-
144 
-
148  void time_zone(std::string const &);
-
149 
-
150 
-
154  template<typename CharType>
-
155  void date_time_pattern(std::basic_string<CharType> const &str)
-
156  {
-
157  string_set &s = date_time_pattern_set();
-
158  s.set<CharType>(str.c_str());
-
159  }
-
160 
-
161 
-
165  uint64_t display_flags() const;
-
166 
-
170  uint64_t currency_flags() const;
-
171 
-
172 
-
176  uint64_t date_flags() const;
-
177 
-
181  uint64_t time_flags() const;
-
182 
-
186  uint64_t datetime_flags() const;
-
187 
-
191  int domain_id() const;
-
192 
-
196  std::string time_zone() const;
-
197 
-
201  template<typename CharType>
-
202  std::basic_string<CharType> date_time_pattern() const
-
203  {
-
204  string_set const &s = date_time_pattern_set();
-
205  return s.get<CharType>();
-
206  }
-
207 
-
209  void on_imbue();
-
211 
-
212  private:
-
213 
-
214  class string_set;
-
215 
-
216  string_set const &date_time_pattern_set() const;
-
217  string_set &date_time_pattern_set();
-
218 
-
219  class BOOST_LOCALE_DECL string_set {
-
220  public:
-
221  string_set();
-
222  ~string_set();
-
223  string_set(string_set const &other);
-
224  string_set const &operator=(string_set const &other);
-
225  void swap(string_set &other);
-
226 
-
227  template<typename Char>
-
228  void set(Char const *s)
-
229  {
-
230  delete [] ptr;
-
231  ptr = 0;
-
232  type=&typeid(Char);
-
233  Char const *end = s;
-
234  while(*end!=0) end++;
-
235  // if ptr = 0 it does not matter what is value of size
-
236  size = sizeof(Char)*(end - s+1);
-
237  ptr = new char[size];
-
238  memcpy(ptr,s,size);
-
239  }
-
240 
-
241  template<typename Char>
-
242  std::basic_string<Char> get() const
-
243  {
-
244  if(type==0 || *type!=typeid(Char))
-
245  throw std::bad_cast();
-
246  std::basic_string<Char> result = reinterpret_cast<Char const *>(ptr);
-
247  return result;
-
248  }
-
249 
-
250  private:
-
251  std::type_info const *type;
-
252  size_t size;
-
253  char *ptr;
-
254  };
-
255 
-
256  uint64_t flags_;
-
257  int domain_id_;
-
258  std::string time_zone_;
-
259  string_set datetime_;
-
260 
-
261  struct data;
-
262  data *d;
-
263 
-
264  };
-
265 
-
266 
-
270  namespace as {
-
276 
-
281 
-
282  inline std::ios_base & posix(std::ios_base & ios)
-
283  {
-
284  ios_info::get(ios).display_flags(flags::posix);
-
285  return ios;
-
286  }
-
287 
-
292  inline std::ios_base & number(std::ios_base & ios)
-
293  {
-
294  ios_info::get(ios).display_flags(flags::number);
-
295  return ios;
-
296  }
-
297 
-
301  inline std::ios_base & currency(std::ios_base & ios)
-
302  {
-
303  ios_info::get(ios).display_flags(flags::currency);
-
304  return ios;
-
305  }
-
306 
-
310  inline std::ios_base & percent(std::ios_base & ios)
-
311  {
-
312  ios_info::get(ios).display_flags(flags::percent);
-
313  return ios;
-
314  }
-
315 
-
319  inline std::ios_base & date(std::ios_base & ios)
-
320  {
-
321  ios_info::get(ios).display_flags(flags::date);
-
322  return ios;
-
323  }
-
324 
-
328  inline std::ios_base & time(std::ios_base & ios)
-
329  {
-
330  ios_info::get(ios).display_flags(flags::time);
-
331  return ios;
-
332  }
-
333 
-
337  inline std::ios_base & datetime(std::ios_base & ios)
-
338  {
-
339  ios_info::get(ios).display_flags(flags::datetime);
-
340  return ios;
-
341  }
-
342 
-
347  inline std::ios_base & strftime(std::ios_base & ios)
-
348  {
-
349  ios_info::get(ios).display_flags(flags::strftime);
-
350  return ios;
-
351  }
-
352 
-
356  inline std::ios_base & spellout(std::ios_base & ios)
-
357  {
-
358  ios_info::get(ios).display_flags(flags::spellout);
-
359  return ios;
-
360  }
-
361 
-
365  inline std::ios_base & ordinal(std::ios_base & ios)
-
366  {
-
367  ios_info::get(ios).display_flags(flags::ordinal);
-
368  return ios;
-
369  }
-
370 
-
374  inline std::ios_base & currency_default(std::ios_base & ios)
-
375  {
-
376  ios_info::get(ios).currency_flags(flags::currency_default);
-
377  return ios;
-
378  }
-
379 
-
383  inline std::ios_base & currency_iso(std::ios_base & ios)
-
384  {
-
385  ios_info::get(ios).currency_flags(flags::currency_iso);
-
386  return ios;
-
387  }
-
388 
-
392  inline std::ios_base & currency_national(std::ios_base & ios)
-
393  {
-
394  ios_info::get(ios).currency_flags(flags::currency_national);
-
395  return ios;
-
396  }
-
397 
-
401  inline std::ios_base & time_default(std::ios_base & ios)
-
402  {
-
403  ios_info::get(ios).time_flags(flags::time_default);
-
404  return ios;
-
405  }
-
406 
-
410  inline std::ios_base & time_short(std::ios_base & ios)
-
411  {
-
412  ios_info::get(ios).time_flags(flags::time_short);
-
413  return ios;
-
414  }
-
415 
-
419  inline std::ios_base & time_medium(std::ios_base & ios)
-
420  {
-
421  ios_info::get(ios).time_flags(flags::time_medium);
-
422  return ios;
-
423  }
-
424 
-
428  inline std::ios_base & time_long(std::ios_base & ios)
-
429  {
-
430  ios_info::get(ios).time_flags(flags::time_long);
-
431  return ios;
-
432  }
-
433 
-
437  inline std::ios_base & time_full(std::ios_base & ios)
-
438  {
-
439  ios_info::get(ios).time_flags(flags::time_full);
-
440  return ios;
-
441  }
-
442 
-
446  inline std::ios_base & date_default(std::ios_base & ios)
-
447  {
-
448  ios_info::get(ios).date_flags(flags::date_default);
-
449  return ios;
-
450  }
-
451 
-
455  inline std::ios_base & date_short(std::ios_base & ios)
-
456  {
-
457  ios_info::get(ios).date_flags(flags::date_short);
-
458  return ios;
-
459  }
-
460 
-
464  inline std::ios_base & date_medium(std::ios_base & ios)
-
465  {
-
466  ios_info::get(ios).date_flags(flags::date_medium);
-
467  return ios;
-
468  }
-
469 
-
473  inline std::ios_base & date_long(std::ios_base & ios)
-
474  {
-
475  ios_info::get(ios).date_flags(flags::date_long);
-
476  return ios;
-
477  }
-
478 
-
482  inline std::ios_base & date_full(std::ios_base & ios)
-
483  {
-
484  ios_info::get(ios).date_flags(flags::date_full);
-
485  return ios;
-
486  }
-
487 
-
488 
-
490  namespace details {
-
491  template<typename CharType>
-
492  struct add_ftime {
-
493 
-
494  std::basic_string<CharType> ftime;
-
495 
-
496  void apply(std::basic_ios<CharType> &ios) const
-
497  {
- -
499  as::strftime(ios);
-
500  }
-
501 
-
502  };
-
503 
-
504  template<typename CharType>
-
505  std::basic_ostream<CharType> &operator<<(std::basic_ostream<CharType> &out,add_ftime<CharType> const &fmt)
-
506  {
-
507  fmt.apply(out);
-
508  return out;
-
509  }
-
510 
-
511  template<typename CharType>
-
512  std::basic_istream<CharType> &operator>>(std::basic_istream<CharType> &in,add_ftime<CharType> const &fmt)
-
513  {
-
514  fmt.apply(in);
-
515  return in;
-
516  }
-
517 
-
518  }
-
520 
-
555 
-
556 
-
557  template<typename CharType>
-
558  #ifdef BOOST_LOCALE_DOXYGEN
-
559  unspecified_type
-
560  #else
-
561  details::add_ftime<CharType>
-
562  #endif
-
563  ftime(std::basic_string<CharType> const &format)
-
564  {
-
565  details::add_ftime<CharType> fmt;
-
566  fmt.ftime=format;
-
567  return fmt;
-
568  }
-
569 
-
573  template<typename CharType>
-
574  #ifdef BOOST_LOCALE_DOXYGEN
-
575  unspecified_type
-
576  #else
-
577  details::add_ftime<CharType>
-
578  #endif
-
579  ftime(CharType const *format)
-
580  {
-
581  details::add_ftime<CharType> fmt;
-
582  fmt.ftime=format;
-
583  return fmt;
-
584  }
-
585 
-
587  namespace details {
-
588  struct set_timezone {
-
589  std::string id;
-
590  };
-
591  template<typename CharType>
-
592  std::basic_ostream<CharType> &operator<<(std::basic_ostream<CharType> &out,set_timezone const &fmt)
-
593  {
-
594  ios_info::get(out).time_zone(fmt.id);
-
595  return out;
-
596  }
-
597 
-
598  template<typename CharType>
-
599  std::basic_istream<CharType> &operator>>(std::basic_istream<CharType> &in,set_timezone const &fmt)
-
600  {
-
601  ios_info::get(in).time_zone(fmt.id);
-
602  return in;
-
603  }
-
604  }
-
606 
-
610  inline std::ios_base &gmt(std::ios_base &ios)
-
611  {
-
612  ios_info::get(ios).time_zone("GMT");
-
613  return ios;
-
614  }
-
615 
-
619  inline std::ios_base &local_time(std::ios_base &ios)
-
620  {
- -
622  return ios;
-
623  }
-
624 
-
628  inline
-
629  #ifdef BOOST_LOCALE_DOXYGEN
-
630  unspecified_type
-
631  #else
-
632  details::set_timezone
-
633  #endif
-
634  time_zone(char const *id)
-
635  {
-
636  details::set_timezone tz;
-
637  tz.id=id;
-
638  return tz;
-
639  }
-
640 
-
644  inline
-
645  #ifdef BOOST_LOCALE_DOXYGEN
-
646  unspecified_type
-
647  #else
-
648  details::set_timezone
-
649  #endif
-
650  time_zone(std::string const &id)
-
651  {
-
652  details::set_timezone tz;
-
653  tz.id=id;
-
654  return tz;
-
655  }
-
656 
-
657 
-
661 
-
662  } // as manipulators
-
663 
-
664  } // locale
-
665 } // boost
-
666 
-
667 #ifdef BOOST_MSVC
-
668 #pragma warning(pop)
-
669 #endif
-
670 
-
671 
-
672 #endif
-
673 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
a printf like class that allows type-safe and locale aware message formatting
Definition: format.hpp:204
-
std::ios_base & date_long(std::ios_base &ios)
Definition: formatting.hpp:473
-
unspecified_type time_zone(std::string const &id)
Definition: formatting.hpp:650
-
std::ios_base & time_default(std::ios_base &ios)
Definition: formatting.hpp:401
- -
std::ios_base & strftime(std::ios_base &ios)
Definition: formatting.hpp:347
-
std::ios_base & date_medium(std::ios_base &ios)
Definition: formatting.hpp:464
-
std::ios_base & currency(std::ios_base &ios)
Definition: formatting.hpp:301
-
std::ios_base & time_full(std::ios_base &ios)
Definition: formatting.hpp:437
-
unspecified_type time_zone(char const *id)
Definition: formatting.hpp:634
-
std::ios_base & ordinal(std::ios_base &ios)
Definition: formatting.hpp:365
-
unspecified_type ftime(std::basic_string< CharType > const &format)
Definition: formatting.hpp:563
-
std::ios_base & date_full(std::ios_base &ios)
Definition: formatting.hpp:482
-
std::ios_base & posix(std::ios_base &ios)
Definition: formatting.hpp:282
-
std::ios_base & currency_default(std::ios_base &ios)
Definition: formatting.hpp:374
-
std::ios_base & time_medium(std::ios_base &ios)
Definition: formatting.hpp:419
-
void date_flags(uint64_t flags)
-
std::ios_base & time_long(std::ios_base &ios)
Definition: formatting.hpp:428
-
std::ios_base & gmt(std::ios_base &ios)
Definition: formatting.hpp:610
-
display_flags_type
Definition: formatting.hpp:35
-
std::ios_base & number(std::ios_base &ios)
Definition: formatting.hpp:292
-
std::ios_base & percent(std::ios_base &ios)
Definition: formatting.hpp:310
-
std::ios_base & spellout(std::ios_base &ios)
Definition: formatting.hpp:356
-
std::ios_base & currency_national(std::ios_base &ios)
Definition: formatting.hpp:392
-
time zone name
Definition: formatting.hpp:79
-
std::ios_base & date(std::ios_base &ios)
Definition: formatting.hpp:319
-
void display_flags(uint64_t flags)
-
static ios_info & get(std::ios_base &ios)
-
This class holds an external data - beyond existing fmtflags that std::ios_base holds.
Definition: formatting.hpp:98
-
strftime like formatting
Definition: formatting.hpp:78
-
std::basic_string< CharType > date_time_pattern() const
Definition: formatting.hpp:202
-
void time_flags(uint64_t flags)
-
std::ios_base & date_default(std::ios_base &ios)
Definition: formatting.hpp:446
-
std::ios_base & datetime(std::ios_base &ios)
Definition: formatting.hpp:337
-
void time_zone(std::string const &)
-
std::ios_base & time_short(std::ios_base &ios)
Definition: formatting.hpp:410
-
std::ios_base & date_short(std::ios_base &ios)
Definition: formatting.hpp:455
-
std::ios_base & local_time(std::ios_base &ios)
Definition: formatting.hpp:619
-
std::basic_istream< CharType > & operator>>(std::basic_istream< CharType > &in, date_time &t)
Definition: date_time.hpp:901
-
basic_format< char > format
Definition: format.hpp:469
-
std::ios_base & time(std::ios_base &ios)
Definition: formatting.hpp:328
-
void currency_flags(uint64_t flags)
-
Domain code - for message formatting.
Definition: formatting.hpp:86
-
void date_time_pattern(std::basic_string< CharType > const &str)
Definition: formatting.hpp:155
-
pattern_type
Definition: formatting.hpp:77
-
value_type
Definition: formatting.hpp:85
-
std::ios_base & currency_iso(std::ios_base &ios)
Definition: formatting.hpp:383
-
-
- - - - - - diff --git a/doc/html/formatting_and_parsing.html b/doc/html/formatting_and_parsing.html deleted file mode 100644 index 4d6d700b..00000000 --- a/doc/html/formatting_and_parsing.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - -Boost.Locale: Numbers, Time and Currency formatting and parsing - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Numbers, Time and Currency formatting and parsing
-
-
-

All formatting and parsing is performed via the standard I/O streams. Each of the above information types is represented as a number. The formatting information is set using iostream manipulators. All manipulators are placed in the boost::locale::as namespace.

-

For example:

-
cout << as::currency << 123.45 << endl;
-
// display 123.45 in local currency representation.
-
cin >> as::currency >> x ;
-
// Parse currency representation and store it in x
-

There is a special manipulator as::posix that "unsets" locale-specific settings and returns them to the default iostream formatting and parsing methods. Please note, such formats may still be localized by the default std::num_put and std::num_get facets.

-

-Numbers and number manipulators

-

Here are the manipulators for number formatting:

-
    -
  • as::number – format number according to local specifications, it takes into account various std::ios_base flags like scientific format and precision.
    -
  • -
  • as::percent – format number as "percent" format. For example:
    cout << as::percent << 0.25 <<endl;
    -
    Would create an output that may look like this:
        25%

    -
  • -
  • as::spellout – spell the number. For example, under the English locale, 103 may be displayed as "one hundred three". Note: not all locales provide rules for spelling numbers. In such a case the number would be displayed in decimal format.
    -
  • -
  • as::ordinal – display an order-of element. For example "2" would be displayed as "2nd" under the English locale. As in the above case, not all locales provide ordinal rules.
  • -
-

-Currency formatting

-

These are the manipulators for currency formatting:

-
    -
  • as::currency – set the format to currency mode.
  • -
  • as::currency_iso – change the currency format to international, like "USD" instead of "$". This flag is supported when using ICU 4.2 and above.
  • -
  • as::currency_national – change currency format to national, like "$".
  • -
  • as::currency_default – return to the default (national) currency format.
  • -
-
Note
as::currency_XYZ manipulators have no effect on general formatting, only on the currency format. You must use both currency and number manipulators to use a non-default format.
-

-Date and Time formatting

-

Dates and times are represented as POSIX time. When date-time formatting is turned on in the iostream, each number is treated as a POSIX time. The number may be an integer or a double.

-

There are four major manipulators for Date and Time formatting:

-
    -
  • as::date – date only
  • -
  • as::time – time only
  • -
  • as::datetime – both date and time
  • -
  • as::ftime – parameterized manipulator that allows specification of time in the format that is used in the strftime function. Note: not all formatting flags of strftime are supported.
  • -
-

For example:

-
time_t now=time(0);
-
cout << "Today is "<< as::date << now << " and tomorrow is " << now+24*3600 << endl;
-
cout << "Current time is "<< as::time << now << endl;
-
cout << "The current weekday is "<< as::ftime("%A") << now << endl;
-

More fine-grained control of date-time formatting is also available:

-
    -
  • as::time_default , as::time_short , as::time_medium , as::time_long , as::time_full – change time formatting.
  • -
  • as::date_default , as::date_short , as::date_medium , as::date_long , as::date_full – change date formatting.
  • -
-

These manipulators, when used together with the as::date, as::time, or as::datetime manipulators, change the date-time representation. The default format is medium.

-

By default, the date and time are shown in the local time zone. This behavior may be changed with the following manipulators:

-
    -
  • as::gmt – display date and time in GMT.
  • -
  • as::local_time – display in local time zone (default).
  • -
  • as::time_zone – parameterized manipulator that sets the time-zone ID for date-time formatting and parsing. It takes a string parameter that represents the time zone ID.
  • -
-

For example:

-
double now=time(0);
-
cout << as::datetime << as::local_time << "Local time is: "<< now << endl;
-
cout << as::gmt << "GMT Time is: "<< now <<endl;
-
cout << as::time_zone("EST") << "Eastern Standard Time is: "<< now <<endl;
-

There is a list of supported strftime flags by ICU backend:

-
    -
  • %a – Abbreviated weekday (Sun.)
  • -
  • %A – Full weekday (Sunday)
  • -
  • %b – Abbreviated month (Jan.)
  • -
  • %B – Full month (January)
  • -
  • %c – Locale date-time format. Note: prefer using as::datetime
  • -
  • %d – Day of Month [01,31]
  • -
  • %e – Day of Month [1,31]
  • -
  • %h – Same as %b
  • -
  • %H – 24 clock hour [00,23]
  • -
  • %I – 12 clock hour [01,12]
  • -
  • %j – Day of year [1,366]
  • -
  • %m – Month [01,12]
  • -
  • %M – Minute [00,59]
  • -
  • %n – New Line
  • -
  • %p – AM/PM in locale representation
  • -
  • %r – Time with AM/PM, same as %I:%M:%S %p
  • -
  • %R – Same as %H:%M
  • -
  • %S – Second [00,61]
  • -
  • %t – Tab character
  • -
  • %T – Same as %H:%M:%S
  • -
  • %x – Local date representation. Note: prefer using as::date
  • -
  • %X – Local time representation. Note: prefer using as::time
  • -
  • %y – Year [00,99]
  • -
  • %Y – 4 digits year. (2009)
  • -
  • %Z – Time Zone
  • -
  • %% – Percent symbol
  • -
-

Unsupported strftime flags are: %C , %u , %U , %V , %w , %W . Also, the O and E modifiers are not supported.

-

General recommendations

-
    -
  • Prefer using generic date-time manipulators rather than specifying the full format using as::ftime.
  • -
  • Remember that current calendars may be not Gregorian.
  • -
-

-Internals

-

Formatting information is stored in a stream class by using the xalloc, pword, and register_callback member functions of std::ios_base . All the information is stored and managed using a special object bound to iostream, and the manipulators just change its state.

-

When a number is written to or read from the stream, a custom Boost.Locale facet accesses the object and checks the required formatting information. Then it creates a special object that actually formats the number and caches it in the iostream. The next time a number is written to the stream, the same formatter would be used unless some flags had changed and formatter object is invalid.

-
-
- - - - - - diff --git a/doc/html/ftv2blank.png b/doc/html/ftv2blank.png deleted file mode 100644 index 63c605bb..00000000 Binary files a/doc/html/ftv2blank.png and /dev/null differ diff --git a/doc/html/ftv2cl.png b/doc/html/ftv2cl.png deleted file mode 100644 index 132f6577..00000000 Binary files a/doc/html/ftv2cl.png and /dev/null differ diff --git a/doc/html/ftv2doc.png b/doc/html/ftv2doc.png deleted file mode 100644 index 17edabff..00000000 Binary files a/doc/html/ftv2doc.png and /dev/null differ diff --git a/doc/html/ftv2folderclosed.png b/doc/html/ftv2folderclosed.png deleted file mode 100644 index bb8ab35e..00000000 Binary files a/doc/html/ftv2folderclosed.png and /dev/null differ diff --git a/doc/html/ftv2folderopen.png b/doc/html/ftv2folderopen.png deleted file mode 100644 index d6c7f676..00000000 Binary files a/doc/html/ftv2folderopen.png and /dev/null differ diff --git a/doc/html/ftv2lastnode.png b/doc/html/ftv2lastnode.png deleted file mode 100644 index 63c605bb..00000000 Binary files a/doc/html/ftv2lastnode.png and /dev/null differ diff --git a/doc/html/ftv2link.png b/doc/html/ftv2link.png deleted file mode 100644 index 17edabff..00000000 Binary files a/doc/html/ftv2link.png and /dev/null differ diff --git a/doc/html/ftv2mlastnode.png b/doc/html/ftv2mlastnode.png deleted file mode 100644 index 0b63f6d3..00000000 Binary files a/doc/html/ftv2mlastnode.png and /dev/null differ diff --git a/doc/html/ftv2mnode.png b/doc/html/ftv2mnode.png deleted file mode 100644 index 0b63f6d3..00000000 Binary files a/doc/html/ftv2mnode.png and /dev/null differ diff --git a/doc/html/ftv2mo.png b/doc/html/ftv2mo.png deleted file mode 100644 index 4bfb80f7..00000000 Binary files a/doc/html/ftv2mo.png and /dev/null differ diff --git a/doc/html/ftv2node.png b/doc/html/ftv2node.png deleted file mode 100644 index 63c605bb..00000000 Binary files a/doc/html/ftv2node.png and /dev/null differ diff --git a/doc/html/ftv2ns.png b/doc/html/ftv2ns.png deleted file mode 100644 index 72e3d71c..00000000 Binary files a/doc/html/ftv2ns.png and /dev/null differ diff --git a/doc/html/ftv2plastnode.png b/doc/html/ftv2plastnode.png deleted file mode 100644 index c6ee22f9..00000000 Binary files a/doc/html/ftv2plastnode.png and /dev/null differ diff --git a/doc/html/ftv2pnode.png b/doc/html/ftv2pnode.png deleted file mode 100644 index c6ee22f9..00000000 Binary files a/doc/html/ftv2pnode.png and /dev/null differ diff --git a/doc/html/ftv2splitbar.png b/doc/html/ftv2splitbar.png deleted file mode 100644 index fe895f2c..00000000 Binary files a/doc/html/ftv2splitbar.png and /dev/null differ diff --git a/doc/html/ftv2vertline.png b/doc/html/ftv2vertline.png deleted file mode 100644 index 63c605bb..00000000 Binary files a/doc/html/ftv2vertline.png and /dev/null differ diff --git a/doc/html/functions.html b/doc/html/functions.html deleted file mode 100644 index 782a0070..00000000 --- a/doc/html/functions.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- a -

-
-
- - - - - - diff --git a/doc/html/functions_b.html b/doc/html/functions_b.html deleted file mode 100644 index bb278671..00000000 --- a/doc/html/functions_b.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_c.html b/doc/html/functions_c.html deleted file mode 100644 index be9982f4..00000000 --- a/doc/html/functions_c.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- c -

-
-
- - - - - - diff --git a/doc/html/functions_d.html b/doc/html/functions_d.html deleted file mode 100644 index 0f8df9b1..00000000 --- a/doc/html/functions_d.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- d -

-
-
- - - - - - diff --git a/doc/html/functions_dup.js b/doc/html/functions_dup.js deleted file mode 100644 index 0aa52834..00000000 --- a/doc/html/functions_dup.js +++ /dev/null @@ -1,25 +0,0 @@ -var functions_dup = -[ - [ "a", "functions.html", null ], - [ "b", "functions_b.html", null ], - [ "c", "functions_c.html", null ], - [ "d", "functions_d.html", null ], - [ "e", "functions_e.html", null ], - [ "f", "functions_f.html", null ], - [ "g", "functions_g.html", null ], - [ "h", "functions_h.html", null ], - [ "i", "functions_i.html", null ], - [ "l", "functions_l.html", null ], - [ "m", "functions_m.html", null ], - [ "n", "functions_n.html", null ], - [ "o", "functions_o.html", null ], - [ "p", "functions_p.html", null ], - [ "q", "functions_q.html", null ], - [ "r", "functions_r.html", null ], - [ "s", "functions_s.html", null ], - [ "t", "functions_t.html", null ], - [ "u", "functions_u.html", null ], - [ "v", "functions_v.html", null ], - [ "w", "functions_w.html", null ], - [ "~", "functions_~.html", null ] -]; \ No newline at end of file diff --git a/doc/html/functions_e.html b/doc/html/functions_e.html deleted file mode 100644 index 26219e8d..00000000 --- a/doc/html/functions_e.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_enum.html b/doc/html/functions_enum.html deleted file mode 100644 index e3b289dd..00000000 --- a/doc/html/functions_enum.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Enumerations - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - -
-
- -
-
-
- -
-
-
-
- - - - - - diff --git a/doc/html/functions_eval.html b/doc/html/functions_eval.html deleted file mode 100644 index 0ab30a53..00000000 --- a/doc/html/functions_eval.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Enumerator - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - -
-
- -
-
-
- -
-
-
-
- - - - - - diff --git a/doc/html/functions_f.html b/doc/html/functions_f.html deleted file mode 100644 index 7c5fdf53..00000000 --- a/doc/html/functions_f.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- f -

-
-
- - - - - - diff --git a/doc/html/functions_func.html b/doc/html/functions_func.html deleted file mode 100644 index 0d2b3169..00000000 --- a/doc/html/functions_func.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-  - -

- a -

-
-
- - - - - - diff --git a/doc/html/functions_func.js b/doc/html/functions_func.js deleted file mode 100644 index 58f8dc28..00000000 --- a/doc/html/functions_func.js +++ /dev/null @@ -1,24 +0,0 @@ -var functions_func = -[ - [ "a", "functions_func.html", null ], - [ "b", "functions_func_b.html", null ], - [ "c", "functions_func_c.html", null ], - [ "d", "functions_func_d.html", null ], - [ "e", "functions_func_e.html", null ], - [ "f", "functions_func_f.html", null ], - [ "g", "functions_func_g.html", null ], - [ "h", "functions_func_h.html", null ], - [ "i", "functions_func_i.html", null ], - [ "l", "functions_func_l.html", null ], - [ "m", "functions_func_m.html", null ], - [ "n", "functions_func_n.html", null ], - [ "o", "functions_func_o.html", null ], - [ "p", "functions_func_p.html", null ], - [ "r", "functions_func_r.html", null ], - [ "s", "functions_func_s.html", null ], - [ "t", "functions_func_t.html", null ], - [ "u", "functions_func_u.html", null ], - [ "v", "functions_func_v.html", null ], - [ "w", "functions_func_w.html", null ], - [ "~", "functions_func_~.html", null ] -]; \ No newline at end of file diff --git a/doc/html/functions_func_b.html b/doc/html/functions_func_b.html deleted file mode 100644 index d8255d48..00000000 --- a/doc/html/functions_func_b.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_func_c.html b/doc/html/functions_func_c.html deleted file mode 100644 index c1dd6d97..00000000 --- a/doc/html/functions_func_c.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_func_d.html b/doc/html/functions_func_d.html deleted file mode 100644 index 037062e3..00000000 --- a/doc/html/functions_func_d.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_func_e.html b/doc/html/functions_func_e.html deleted file mode 100644 index 75770df1..00000000 --- a/doc/html/functions_func_e.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_func_f.html b/doc/html/functions_func_f.html deleted file mode 100644 index 9a19764e..00000000 --- a/doc/html/functions_func_f.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_func_g.html b/doc/html/functions_func_g.html deleted file mode 100644 index 3017cd01..00000000 --- a/doc/html/functions_func_g.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_func_h.html b/doc/html/functions_func_h.html deleted file mode 100644 index 0d73a41c..00000000 --- a/doc/html/functions_func_h.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-  - -

- h -

-
-
- - - - - - diff --git a/doc/html/functions_func_i.html b/doc/html/functions_func_i.html deleted file mode 100644 index a6b10114..00000000 --- a/doc/html/functions_func_i.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_func_l.html b/doc/html/functions_func_l.html deleted file mode 100644 index 9639a2a3..00000000 --- a/doc/html/functions_func_l.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-  - -

- l -

-
-
- - - - - - diff --git a/doc/html/functions_func_m.html b/doc/html/functions_func_m.html deleted file mode 100644 index f0f52ada..00000000 --- a/doc/html/functions_func_m.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_func_n.html b/doc/html/functions_func_n.html deleted file mode 100644 index ff3258f8..00000000 --- a/doc/html/functions_func_n.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-  - -

- n -

-
-
- - - - - - diff --git a/doc/html/functions_func_o.html b/doc/html/functions_func_o.html deleted file mode 100644 index 7db577f8..00000000 --- a/doc/html/functions_func_o.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-  - -

- o -

-
-
- - - - - - diff --git a/doc/html/functions_func_p.html b/doc/html/functions_func_p.html deleted file mode 100644 index 2f7226a8..00000000 --- a/doc/html/functions_func_p.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-  - -

- p -

-
-
- - - - - - diff --git a/doc/html/functions_func_r.html b/doc/html/functions_func_r.html deleted file mode 100644 index 9ffbdd0e..00000000 --- a/doc/html/functions_func_r.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_func_s.html b/doc/html/functions_func_s.html deleted file mode 100644 index 1971232a..00000000 --- a/doc/html/functions_func_s.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_func_t.html b/doc/html/functions_func_t.html deleted file mode 100644 index fd769ca5..00000000 --- a/doc/html/functions_func_t.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-  - -

- t -

-
-
- - - - - - diff --git a/doc/html/functions_func_u.html b/doc/html/functions_func_u.html deleted file mode 100644 index fd114a04..00000000 --- a/doc/html/functions_func_u.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-  - -

- u -

-
-
- - - - - - diff --git a/doc/html/functions_func_v.html b/doc/html/functions_func_v.html deleted file mode 100644 index b01bf32b..00000000 --- a/doc/html/functions_func_v.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-  - -

- v -

-
-
- - - - - - diff --git a/doc/html/functions_func_w.html b/doc/html/functions_func_w.html deleted file mode 100644 index d65a1de0..00000000 --- a/doc/html/functions_func_w.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_func_~.html b/doc/html/functions_func_~.html deleted file mode 100644 index 0987c3b8..00000000 --- a/doc/html/functions_func_~.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-  - -

- ~ -

-
-
- - - - - - diff --git a/doc/html/functions_g.html b/doc/html/functions_g.html deleted file mode 100644 index b9774076..00000000 --- a/doc/html/functions_g.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- g -

-
-
- - - - - - diff --git a/doc/html/functions_h.html b/doc/html/functions_h.html deleted file mode 100644 index 7904c7d3..00000000 --- a/doc/html/functions_h.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- h -

-
-
- - - - - - diff --git a/doc/html/functions_i.html b/doc/html/functions_i.html deleted file mode 100644 index 93d915b5..00000000 --- a/doc/html/functions_i.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_l.html b/doc/html/functions_l.html deleted file mode 100644 index 27450f75..00000000 --- a/doc/html/functions_l.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- l -

-
-
- - - - - - diff --git a/doc/html/functions_m.html b/doc/html/functions_m.html deleted file mode 100644 index bd496332..00000000 --- a/doc/html/functions_m.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_n.html b/doc/html/functions_n.html deleted file mode 100644 index 471d2cfe..00000000 --- a/doc/html/functions_n.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- n -

-
-
- - - - - - diff --git a/doc/html/functions_o.html b/doc/html/functions_o.html deleted file mode 100644 index 20869b78..00000000 --- a/doc/html/functions_o.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- o -

-
-
- - - - - - diff --git a/doc/html/functions_p.html b/doc/html/functions_p.html deleted file mode 100644 index 0719c35b..00000000 --- a/doc/html/functions_p.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- p -

-
-
- - - - - - diff --git a/doc/html/functions_q.html b/doc/html/functions_q.html deleted file mode 100644 index 9d13154b..00000000 --- a/doc/html/functions_q.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- q -

-
-
- - - - - - diff --git a/doc/html/functions_r.html b/doc/html/functions_r.html deleted file mode 100644 index 007b0d31..00000000 --- a/doc/html/functions_r.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_s.html b/doc/html/functions_s.html deleted file mode 100644 index 428ae0d3..00000000 --- a/doc/html/functions_s.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- s -

-
-
- - - - - - diff --git a/doc/html/functions_t.html b/doc/html/functions_t.html deleted file mode 100644 index 9b831ad3..00000000 --- a/doc/html/functions_t.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- t -

-
-
- - - - - - diff --git a/doc/html/functions_type.html b/doc/html/functions_type.html deleted file mode 100644 index 83348f98..00000000 --- a/doc/html/functions_type.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Typedefs - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - -
-
- -
-
-
- -
-
-
-
- - - - - - diff --git a/doc/html/functions_u.html b/doc/html/functions_u.html deleted file mode 100644 index 5d1f5c9b..00000000 --- a/doc/html/functions_u.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- u -

-
-
- - - - - - diff --git a/doc/html/functions_v.html b/doc/html/functions_v.html deleted file mode 100644 index 8a2744ed..00000000 --- a/doc/html/functions_v.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
- -
- - - - - - diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html deleted file mode 100644 index b85d7578..00000000 --- a/doc/html/functions_vars.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - -Boost.Locale: Class Members - Variables - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - -
-
- -
-
-
- - - - - - - - diff --git a/doc/html/functions_w.html b/doc/html/functions_w.html deleted file mode 100644 index b9d728f8..00000000 --- a/doc/html/functions_w.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- w -

-
-
- - - - - - diff --git a/doc/html/functions_~.html b/doc/html/functions_~.html deleted file mode 100644 index 5151993f..00000000 --- a/doc/html/functions_~.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - -Boost.Locale: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- ~ -

-
-
- - - - - - diff --git a/doc/html/generator_8hpp_source.html b/doc/html/generator_8hpp_source.html deleted file mode 100644 index 034a1127..00000000 --- a/doc/html/generator_8hpp_source.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/generator.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
generator.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_GENERATOR_HPP
-
9 #define BOOST_LOCALE_GENERATOR_HPP
-
10 #include <boost/locale/config.hpp>
-
11 #include <boost/cstdint.hpp>
-
12 #ifdef BOOST_MSVC
-
13 # pragma warning(push)
-
14 # pragma warning(disable : 4275 4251 4231 4660)
-
15 #endif
-
16 #include <string>
-
17 #include <locale>
-
18 #include <memory>
-
19 
-
20 namespace boost {
-
21 
-
22  template<typename Type>
-
23  class shared_ptr;
-
24 
-
28  namespace locale {
-
29 
-
30  class localization_backend;
-
31  class localization_backend_manager;
-
32 
-
33  static const uint32_t nochar_facet = 0;
-
34  static const uint32_t char_facet = 1 << 0;
-
35  static const uint32_t wchar_t_facet = 1 << 1;
-
36  static const uint32_t char16_t_facet = 1 << 2;
-
37  static const uint32_t char32_t_facet = 1 << 3;
-
38 
-
39  static const uint32_t character_first_facet = char_facet;
-
40  static const uint32_t character_last_facet = char32_t_facet;
-
41  static const uint32_t all_characters = 0xFFFF;
-
42 
-
43  typedef uint32_t character_facet_type;
-
44 
-
45  static const uint32_t convert_facet = 1 << 0;
-
46  static const uint32_t collation_facet = 1 << 1;
-
47  static const uint32_t formatting_facet= 1 << 2;
-
48  static const uint32_t parsing_facet = 1 << 3;
-
49  static const uint32_t message_facet = 1 << 4;
-
50  static const uint32_t codepage_facet = 1 << 5;
-
51  static const uint32_t boundary_facet = 1 << 6;
-
52 
-
53  static const uint32_t per_character_facet_first = convert_facet;
-
54  static const uint32_t per_character_facet_last = boundary_facet;
-
55 
-
56  static const uint32_t calendar_facet = 1 << 16;
-
57  static const uint32_t information_facet = 1 << 17;
-
58 
-
59  static const uint32_t non_character_facet_first = calendar_facet;
- -
61 
-
62 
-
63  static const uint32_t all_categories = 0xFFFFFFFFu;
-
64 
-
65  typedef uint32_t locale_category_type;
-
66 
-
73 
-
74  class BOOST_LOCALE_DECL generator {
-
75  public:
-
76 
-
80  generator();
- -
85 
-
86  ~generator();
-
87 
-
91  void categories(locale_category_type cats);
-
95  locale_category_type categories() const;
-
96 
-
100  void characters(character_facet_type chars);
-
104  character_facet_type characters() const;
-
105 
-
126  void add_messages_domain(std::string const &domain);
-
131  void set_default_messages_domain(std::string const &domain);
-
132 
-
136  void clear_domains();
-
137 
-
152  void add_messages_path(std::string const &path);
-
153 
-
157  void clear_paths();
-
158 
-
162  void clear_cache();
-
163 
-
167  void locale_cache_enabled(bool on);
-
168 
-
172  bool locale_cache_enabled() const;
-
173 
-
177  bool use_ansi_encoding() const;
-
178 
-
186  void use_ansi_encoding(bool enc);
-
187 
-
191  std::locale generate(std::string const &id) const;
-
196  std::locale generate(std::locale const &base,std::string const &id) const;
-
200  std::locale operator()(std::string const &id) const
-
201  {
-
202  return generate(id);
-
203  }
-
204 
-
208  void set_option(std::string const &name,std::string const &value);
-
209 
-
213  void clear_options();
-
214 
-
215  private:
-
216 
-
217  void set_all_options(shared_ptr<localization_backend> backend,std::string const &id) const;
-
218 
-
219  generator(generator const &);
-
220  void operator=(generator const &);
-
221 
-
222  struct data;
-
223  std::auto_ptr<data> d;
-
224  };
-
225 
-
226  }
-
227 }
-
228 #ifdef BOOST_MSVC
-
229 #pragma warning(pop)
-
230 #endif
-
231 
-
232 
-
233 #endif
-
234 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
235 
-
static const uint32_t boundary_facet
Generate boundary analysis facet.
Definition: generator.hpp:51
-
static const uint32_t non_character_facet_first
First character independent facet.
Definition: generator.hpp:59
-
the facet that generates calendar for specific locale
Definition: date_time_facet.hpp:234
-
Localization backend manager is a class that holds various backend and allows creation of their combi...
Definition: localization_backend.hpp:84
-
static const uint32_t parsing_facet
Generate numbers, currency, date-time formatting facets.
Definition: generator.hpp:48
-
static const uint32_t nochar_facet
Unspecified character category for character independent facets.
Definition: generator.hpp:33
-
uint32_t character_facet_type
type that specifies the character type that locales can be generated for
Definition: generator.hpp:43
-
static const uint32_t formatting_facet
Generate numbers, currency, date-time formatting facets.
Definition: generator.hpp:47
-
static const uint32_t convert_facet
Generate conversion facets.
Definition: generator.hpp:45
-
std::locale operator()(std::string const &id) const
Definition: generator.hpp:200
-
static const uint32_t per_character_facet_last
Last facet specific for character.
Definition: generator.hpp:54
-
Definition: generator.hpp:23
-
static const uint32_t calendar_facet
Generate boundary analysis facet.
Definition: generator.hpp:56
-
static const uint32_t message_facet
Generate message facets.
Definition: generator.hpp:49
-
static const uint32_t codepage_facet
Generate character set conversion facets (derived from std::codecvt)
Definition: generator.hpp:50
-
static const uint32_t per_character_facet_first
First facet specific for character.
Definition: generator.hpp:53
-
static const uint32_t character_last_facet
Last facet specific for character type.
Definition: generator.hpp:40
-
static const uint32_t character_first_facet
First facet specific for character type.
Definition: generator.hpp:39
-
static const uint32_t collation_facet
Generate collation facets.
Definition: generator.hpp:46
-
static const uint32_t non_character_facet_last
Last character independent facet.
Definition: generator.hpp:60
-
static const uint32_t char16_t_facet
C++0x char16_t facets.
Definition: generator.hpp:36
-
unspecified_type domain(std::string const &id)
Definition: message.hpp:789
-
static const uint32_t char32_t_facet
C++0x char32_t facets.
Definition: generator.hpp:37
-
uint32_t locale_category_type
a type used for more fine grained generation of facets
Definition: generator.hpp:65
-
static const uint32_t information_facet
Generate general locale information facet.
Definition: generator.hpp:57
-
the major class used for locale generation
Definition: generator.hpp:74
-
static const uint32_t char_facet
8-bit character facets
Definition: generator.hpp:34
-
static const uint32_t all_categories
Generate all of them.
Definition: generator.hpp:63
-
static const uint32_t wchar_t_facet
wide character facets
Definition: generator.hpp:35
-
static const uint32_t all_characters
Special mask – generate all.
Definition: generator.hpp:41
-
-
- - - - - - diff --git a/doc/html/generic__codecvt_8hpp_source.html b/doc/html/generic__codecvt_8hpp_source.html deleted file mode 100644 index 63735223..00000000 --- a/doc/html/generic__codecvt_8hpp_source.html +++ /dev/null @@ -1,650 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/generic_codecvt.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
generic_codecvt.hpp
-
-
-
1 //
-
2 // Copyright (c) 2015 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_GENERIC_CODECVT_HPP
-
9 #define BOOST_LOCALE_GENERIC_CODECVT_HPP
-
10 
-
11 #include <boost/locale/utf.hpp>
-
12 #include <boost/cstdint.hpp>
-
13 #include <boost/static_assert.hpp>
-
14 #include <locale>
-
15 
-
16 namespace boost {
-
17 namespace locale {
-
18 
-
19 #ifndef BOOST_LOCALE_DOXYGEN
-
20 //
-
21 // Make sure that mbstate can keep 16 bit of UTF-16 sequence
-
22 //
-
23 BOOST_STATIC_ASSERT(sizeof(std::mbstate_t)>=2);
-
24 #endif
-
25 
-
26 #if defined(_MSC_VER) && _MSC_VER < 1700
-
27 // up to MSVC 11 (2012) do_length is non-standard it counts wide characters instead of narrow and does not change mbstate
-
28 #define BOOST_LOCALE_DO_LENGTH_MBSTATE_CONST
-
29 #endif
-
30 
- -
35 public:
- - - -
42  };
-
43 };
-
44 
-
139 template<typename CharType,typename CodecvtImpl,int CharSize=sizeof(CharType)>
- -
141 
-
150 template<typename CharType,typename CodecvtImpl>
-
151 class generic_codecvt<CharType,CodecvtImpl,2> : public std::codecvt<CharType,char,std::mbstate_t>, public generic_codecvt_base
-
152 {
-
153 public:
-
154 
-
155  typedef CharType uchar;
-
156 
-
157  generic_codecvt(size_t refs = 0) :
-
158  std::codecvt<CharType,char,std::mbstate_t>(refs)
-
159  {
-
160  }
-
161  CodecvtImpl const &implementation() const
-
162  {
-
163  return *static_cast<CodecvtImpl const *>(this);
-
164  }
-
165 
-
166 protected:
-
167 
-
168 
-
169  virtual std::codecvt_base::result do_unshift(std::mbstate_t &s,char *from,char * /*to*/,char *&next) const
-
170  {
-
171  boost::uint16_t &state = *reinterpret_cast<boost::uint16_t *>(&s);
-
172 #ifdef DEBUG_CODECVT
-
173  std::cout << "Entering unshift " << std::hex << state << std::dec << std::endl;
-
174 #endif
-
175  if(state != 0)
-
176  return std::codecvt_base::error;
-
177  next=from;
-
178  return std::codecvt_base::ok;
-
179  }
-
180  virtual int do_encoding() const throw()
-
181  {
-
182  return 0;
-
183  }
-
184  virtual int do_max_length() const throw()
-
185  {
-
186  return implementation().max_encoding_length();
-
187  }
-
188  virtual bool do_always_noconv() const throw()
-
189  {
-
190  return false;
-
191  }
-
192 
-
193  virtual int
-
194  do_length( std::mbstate_t
-
195  #ifdef BOOST_LOCALE_DO_LENGTH_MBSTATE_CONST
-
196  const
-
197  #endif
-
198  &std_state,
-
199  char const *from,
-
200  char const *from_end,
-
201  size_t max) const
-
202  {
-
203  #ifndef BOOST_LOCALE_DO_LENGTH_MBSTATE_CONST
-
204  char const *save_from = from;
-
205  boost::uint16_t &state = *reinterpret_cast<boost::uint16_t *>(&std_state);
-
206  #else
-
207  size_t save_max = max;
-
208  boost::uint16_t state = *reinterpret_cast<boost::uint16_t const *>(&std_state);
-
209  #endif
-
210 
-
211  typedef typename CodecvtImpl::state_type state_type;
-
212  state_type cvt_state = implementation().initial_state(generic_codecvt_base::to_unicode_state);
-
213  while(max > 0 && from < from_end){
-
214  char const *prev_from = from;
-
215  boost::uint32_t ch=implementation().to_unicode(cvt_state,from,from_end);
- -
217  from = prev_from;
-
218  break;
-
219  }
-
220  max --;
-
221  if(ch > 0xFFFF) {
-
222  if(state == 0) {
-
223  from = prev_from;
-
224  state = 1;
-
225  }
-
226  else {
-
227  state = 0;
-
228  }
-
229  }
-
230  }
-
231  #ifndef BOOST_LOCALE_DO_LENGTH_MBSTATE_CONST
-
232  return from - save_from;
-
233  #else
-
234  return save_max - max;
-
235  #endif
-
236  }
-
237 
-
238 
-
239  virtual std::codecvt_base::result
-
240  do_in( std::mbstate_t &std_state,
-
241  char const *from,
-
242  char const *from_end,
-
243  char const *&from_next,
-
244  uchar *to,
-
245  uchar *to_end,
-
246  uchar *&to_next) const
-
247  {
-
248  std::codecvt_base::result r=std::codecvt_base::ok;
-
249 
-
250  // mbstate_t is POD type and should be initialized to 0 (i.a. state = stateT())
-
251  // according to standard. We use it to keep a flag 0/1 for surrogate pair writing
-
252  //
-
253  // if 0 no code above >0xFFFF observed, of 1 a code above 0xFFFF observerd
-
254  // and first pair is written, but no input consumed
-
255  boost::uint16_t &state = *reinterpret_cast<boost::uint16_t *>(&std_state);
-
256  typedef typename CodecvtImpl::state_type state_type;
-
257  state_type cvt_state = implementation().initial_state(generic_codecvt_base::to_unicode_state);
-
258  while(to < to_end && from < from_end)
-
259  {
-
260 #ifdef DEBUG_CODECVT
-
261  std::cout << "Entering IN--------------" << std::endl;
-
262  std::cout << "State " << std::hex << state <<std::endl;
-
263  std::cout << "Left in " << std::dec << from_end - from << " out " << to_end -to << std::endl;
-
264 #endif
-
265  char const *from_saved = from;
-
266 
-
267  uint32_t ch=implementation().to_unicode(cvt_state,from,from_end);
-
268 
- -
270  from = from_saved;
-
271  r=std::codecvt_base::error;
-
272  break;
-
273  }
- -
275  from = from_saved;
-
276  r=std::codecvt_base::partial;
-
277  break;
-
278  }
-
279  // Normal codepoints go direcly to stream
-
280  if(ch <= 0xFFFF) {
-
281  *to++=ch;
-
282  }
-
283  else {
-
284  // for other codepoints we do following
-
285  //
-
286  // 1. We can't consume our input as we may find ourselfs
-
287  // in state where all input consumed but not all output written,i.e. only
-
288  // 1st pair is written
-
289  // 2. We only write first pair and mark this in the state, we also revert back
-
290  // the from pointer in order to make sure this codepoint would be read
-
291  // once again and then we would consume our input together with writing
-
292  // second surrogate pair
-
293  ch-=0x10000;
-
294  boost::uint16_t vh = ch >> 10;
-
295  boost::uint16_t vl = ch & 0x3FF;
-
296  boost::uint16_t w1 = vh + 0xD800;
-
297  boost::uint16_t w2 = vl + 0xDC00;
-
298  if(state == 0) {
-
299  from = from_saved;
-
300  *to++ = w1;
-
301  state = 1;
-
302  }
-
303  else {
-
304  *to++ = w2;
-
305  state = 0;
-
306  }
-
307  }
-
308  }
-
309  from_next=from;
-
310  to_next=to;
-
311  if(r == std::codecvt_base::ok && (from!=from_end || state!=0))
-
312  r = std::codecvt_base::partial;
-
313 #ifdef DEBUG_CODECVT
-
314  std::cout << "Returning ";
-
315  switch(r) {
-
316  case std::codecvt_base::ok:
-
317  std::cout << "ok" << std::endl;
-
318  break;
-
319  case std::codecvt_base::partial:
-
320  std::cout << "partial" << std::endl;
-
321  break;
-
322  case std::codecvt_base::error:
-
323  std::cout << "error" << std::endl;
-
324  break;
-
325  default:
-
326  std::cout << "other" << std::endl;
-
327  break;
-
328  }
-
329  std::cout << "State " << std::hex << state <<std::endl;
-
330  std::cout << "Left in " << std::dec << from_end - from << " out " << to_end -to << std::endl;
-
331 #endif
-
332  return r;
-
333  }
-
334 
-
335  virtual std::codecvt_base::result
-
336  do_out( std::mbstate_t &std_state,
-
337  uchar const *from,
-
338  uchar const *from_end,
-
339  uchar const *&from_next,
-
340  char *to,
-
341  char *to_end,
-
342  char *&to_next) const
-
343  {
-
344  std::codecvt_base::result r=std::codecvt_base::ok;
-
345  // mbstate_t is POD type and should be initialized to 0 (i.a. state = stateT())
-
346  // according to standard. We assume that sizeof(mbstate_t) >=2 in order
-
347  // to be able to store first observerd surrogate pair
-
348  //
-
349  // State: state!=0 - a first surrogate pair was observerd (state = first pair),
-
350  // we expect the second one to come and then zero the state
-
352  boost::uint16_t &state = *reinterpret_cast<boost::uint16_t *>(&std_state);
-
353  typedef typename CodecvtImpl::state_type state_type;
-
354  state_type cvt_state = implementation().initial_state(generic_codecvt_base::from_unicode_state);
-
355  while(to < to_end && from < from_end)
-
356  {
-
357 #ifdef DEBUG_CODECVT
-
358  std::cout << "Entering OUT --------------" << std::endl;
-
359  std::cout << "State " << std::hex << state <<std::endl;
-
360  std::cout << "Left in " << std::dec << from_end - from << " out " << to_end -to << std::endl;
-
361 #endif
-
362  boost::uint32_t ch=0;
-
363  if(state != 0) {
-
364  // if the state idecates that 1st surrogate pair was written
-
365  // we should make sure that the second one that comes is actually
-
366  // second surrogate
-
367  boost::uint16_t w1 = state;
-
368  boost::uint16_t w2 = *from;
-
369  // we don't forward from as writing may fail to incomplete or
-
370  // partial conversion
-
371  if(0xDC00 <= w2 && w2<=0xDFFF) {
-
372  boost::uint16_t vh = w1 - 0xD800;
-
373  boost::uint16_t vl = w2 - 0xDC00;
-
374  ch=((uint32_t(vh) << 10) | vl) + 0x10000;
-
375  }
-
376  else {
-
377  // Invalid surrogate
-
378  r=std::codecvt_base::error;
-
379  break;
-
380  }
-
381  }
-
382  else {
-
383  ch = *from;
-
384  if(0xD800 <= ch && ch<=0xDBFF) {
-
385  // if this is a first surrogate pair we put
-
386  // it into the state and consume it, note we don't
-
387  // go forward as it should be illegal so we increase
-
388  // the from pointer manually
-
389  state = ch;
-
390  from++;
-
391  continue;
-
392  }
-
393  else if(0xDC00 <= ch && ch<=0xDFFF) {
-
394  // if we observe second surrogate pair and
-
395  // first only may be expected we should break from the loop with error
-
396  // as it is illegal input
-
397  r=std::codecvt_base::error;
-
398  break;
-
399  }
-
400  }
- -
402  r=std::codecvt_base::error;
-
403  break;
-
404  }
-
405  boost::uint32_t len = implementation().from_unicode(cvt_state,ch,to,to_end);
-
406  if(len == boost::locale::utf::incomplete) {
-
407  r=std::codecvt_base::partial;
-
408  break;
-
409  }
-
410  else if(len == boost::locale::utf::illegal) {
-
411  r=std::codecvt_base::error;
-
412  break;
-
413  }
-
414  else
-
415  to+= len;
-
416  state = 0;
-
417  from++;
-
418  }
-
419  from_next=from;
-
420  to_next=to;
-
421  if(r==std::codecvt_base::ok && from!=from_end)
-
422  r = std::codecvt_base::partial;
-
423 #ifdef DEBUG_CODECVT
-
424  std::cout << "Returning ";
-
425  switch(r) {
-
426  case std::codecvt_base::ok:
-
427  std::cout << "ok" << std::endl;
-
428  break;
-
429  case std::codecvt_base::partial:
-
430  std::cout << "partial" << std::endl;
-
431  break;
-
432  case std::codecvt_base::error:
-
433  std::cout << "error" << std::endl;
-
434  break;
-
435  default:
-
436  std::cout << "other" << std::endl;
-
437  break;
-
438  }
-
439  std::cout << "State " << std::hex << state <<std::endl;
-
440  std::cout << "Left in " << std::dec << from_end - from << " out " << to_end -to << std::endl;
-
441 #endif
-
442  return r;
-
443  }
-
444 
-
445 };
-
446 
-
453 template<typename CharType,typename CodecvtImpl>
-
454 class generic_codecvt<CharType,CodecvtImpl,4> : public std::codecvt<CharType,char,std::mbstate_t>, public generic_codecvt_base
-
455 {
-
456 public:
-
457  typedef CharType uchar;
-
458 
-
459  generic_codecvt(size_t refs = 0) :
-
460  std::codecvt<CharType,char,std::mbstate_t>(refs)
-
461  {
-
462  }
-
463 
-
464  CodecvtImpl const &implementation() const
-
465  {
-
466  return *static_cast<CodecvtImpl const *>(this);
-
467  }
-
468 
-
469 protected:
-
470 
-
471  virtual std::codecvt_base::result do_unshift(std::mbstate_t &/*s*/,char *from,char * /*to*/,char *&next) const
-
472  {
-
473  next=from;
-
474  return std::codecvt_base::ok;
-
475  }
-
476  virtual int do_encoding() const throw()
-
477  {
-
478  return 0;
-
479  }
-
480  virtual int do_max_length() const throw()
-
481  {
-
482  return implementation().max_encoding_length();
-
483  }
-
484  virtual bool do_always_noconv() const throw()
-
485  {
-
486  return false;
-
487  }
-
488 
-
489  virtual int
-
490  do_length( std::mbstate_t
-
491  #ifdef BOOST_LOCALE_DO_LENGTH_MBSTATE_CONST
-
492  const
-
493  #endif
-
494  &/*state*/,
-
495  char const *from,
-
496  char const *from_end,
-
497  size_t max) const
-
498  {
-
499  #ifndef BOOST_LOCALE_DO_LENGTH_MBSTATE_CONST
-
500  char const *start_from = from;
-
501  #else
-
502  size_t save_max = max;
-
503  #endif
-
504  typedef typename CodecvtImpl::state_type state_type;
-
505  state_type cvt_state = implementation().initial_state(generic_codecvt_base::to_unicode_state);
-
506  while(max > 0 && from < from_end){
-
507  char const *save_from = from;
-
508  boost::uint32_t ch=implementation().to_unicode(cvt_state,from,from_end);
- -
510  from = save_from;
-
511  break;
-
512  }
-
513  max--;
-
514  }
-
515  #ifndef BOOST_LOCALE_DO_LENGTH_MBSTATE_CONST
-
516  return from - start_from;
-
517  #else
-
518  return save_max - max;
-
519  #endif
-
520  }
-
521 
-
522 
-
523  virtual std::codecvt_base::result
-
524  do_in( std::mbstate_t &/*state*/,
-
525  char const *from,
-
526  char const *from_end,
-
527  char const *&from_next,
-
528  uchar *to,
-
529  uchar *to_end,
-
530  uchar *&to_next) const
-
531  {
-
532  std::codecvt_base::result r=std::codecvt_base::ok;
-
533 
-
534  // mbstate_t is POD type and should be initialized to 0 (i.a. state = stateT())
-
535  // according to standard. We use it to keep a flag 0/1 for surrogate pair writing
-
536  //
-
537  // if 0 no code above >0xFFFF observed, of 1 a code above 0xFFFF observerd
-
538  // and first pair is written, but no input consumed
-
539  typedef typename CodecvtImpl::state_type state_type;
-
540  state_type cvt_state = implementation().initial_state(generic_codecvt_base::to_unicode_state);
-
541  while(to < to_end && from < from_end)
-
542  {
-
543 #ifdef DEBUG_CODECVT
-
544  std::cout << "Entering IN--------------" << std::endl;
-
545  std::cout << "State " << std::hex << state <<std::endl;
-
546  std::cout << "Left in " << std::dec << from_end - from << " out " << to_end -to << std::endl;
-
547 #endif
-
548  char const *from_saved = from;
-
549 
-
550  uint32_t ch=implementation().to_unicode(cvt_state,from,from_end);
-
551 
- -
553  r=std::codecvt_base::error;
-
554  from = from_saved;
-
555  break;
-
556  }
- -
558  r=std::codecvt_base::partial;
-
559  from=from_saved;
-
560  break;
-
561  }
-
562  *to++=ch;
-
563  }
-
564  from_next=from;
-
565  to_next=to;
-
566  if(r == std::codecvt_base::ok && from!=from_end)
-
567  r = std::codecvt_base::partial;
-
568 #ifdef DEBUG_CODECVT
-
569  std::cout << "Returning ";
-
570  switch(r) {
-
571  case std::codecvt_base::ok:
-
572  std::cout << "ok" << std::endl;
-
573  break;
-
574  case std::codecvt_base::partial:
-
575  std::cout << "partial" << std::endl;
-
576  break;
-
577  case std::codecvt_base::error:
-
578  std::cout << "error" << std::endl;
-
579  break;
-
580  default:
-
581  std::cout << "other" << std::endl;
-
582  break;
-
583  }
-
584  std::cout << "State " << std::hex << state <<std::endl;
-
585  std::cout << "Left in " << std::dec << from_end - from << " out " << to_end -to << std::endl;
-
586 #endif
-
587  return r;
-
588  }
-
589 
-
590  virtual std::codecvt_base::result
-
591  do_out( std::mbstate_t &/*std_state*/,
-
592  uchar const *from,
-
593  uchar const *from_end,
-
594  uchar const *&from_next,
-
595  char *to,
-
596  char *to_end,
-
597  char *&to_next) const
-
598  {
-
599  std::codecvt_base::result r=std::codecvt_base::ok;
-
600  typedef typename CodecvtImpl::state_type state_type;
-
601  state_type cvt_state = implementation().initial_state(generic_codecvt_base::from_unicode_state);
-
602  while(to < to_end && from < from_end)
-
603  {
-
604 #ifdef DEBUG_CODECVT
-
605  std::cout << "Entering OUT --------------" << std::endl;
-
606  std::cout << "State " << std::hex << state <<std::endl;
-
607  std::cout << "Left in " << std::dec << from_end - from << " out " << to_end -to << std::endl;
-
608 #endif
-
609  boost::uint32_t ch=0;
-
610  ch = *from;
- -
612  r=std::codecvt_base::error;
-
613  break;
-
614  }
-
615  boost::uint32_t len = implementation().from_unicode(cvt_state,ch,to,to_end);
-
616  if(len == boost::locale::utf::incomplete) {
-
617  r=std::codecvt_base::partial;
-
618  break;
-
619  }
-
620  else if(len == boost::locale::utf::illegal) {
-
621  r=std::codecvt_base::error;
-
622  break;
-
623  }
-
624  to+=len;
-
625  from++;
-
626  }
-
627  from_next=from;
-
628  to_next=to;
-
629  if(r==std::codecvt_base::ok && from!=from_end)
-
630  r = std::codecvt_base::partial;
-
631 #ifdef DEBUG_CODECVT
-
632  std::cout << "Returning ";
-
633  switch(r) {
-
634  case std::codecvt_base::ok:
-
635  std::cout << "ok" << std::endl;
-
636  break;
-
637  case std::codecvt_base::partial:
-
638  std::cout << "partial" << std::endl;
-
639  break;
-
640  case std::codecvt_base::error:
-
641  std::cout << "error" << std::endl;
-
642  break;
-
643  default:
-
644  std::cout << "other" << std::endl;
-
645  break;
-
646  }
-
647  std::cout << "State " << std::hex << state <<std::endl;
-
648  std::cout << "Left in " << std::dec << from_end - from << " out " << to_end -to << std::endl;
-
649 #endif
-
650  return r;
-
651  }
-
652 };
-
653 
-
654 
-
655 template<typename CharType,typename CodecvtImpl>
-
656 class generic_codecvt<CharType,CodecvtImpl,1> : public std::codecvt<CharType,char,std::mbstate_t>, public generic_codecvt_base
-
657 {
-
658 public:
-
659  typedef CharType uchar;
-
660 
-
661  CodecvtImpl const &implementation() const
-
662  {
-
663  return *static_cast<CodecvtImpl const *>(this);
-
664  }
-
665 
-
666  generic_codecvt(size_t refs = 0) : std::codecvt<char,char,std::mbstate_t>(refs)
-
667  {
-
668  }
-
669 };
-
670 
-
671 } // locale
-
672 } // namespace boost
-
673 
-
674 #endif
-
675 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
bool is_valid_codepoint(code_point v)
the function checks if v is a valid code point
Definition: utf.hpp:49
-
The state would be used by to_unicode functions.
Definition: generic_codecvt.hpp:40
-
static const code_point incomplete
Special constant that defines incomplete code point.
Definition: utf.hpp:44
-
initial_convertion_state
Definition: generic_codecvt.hpp:39
-
static const code_point illegal
Special constant that defines illegal code point.
Definition: utf.hpp:39
-
A base class that used to define constants for generic_codecvt.
Definition: generic_codecvt.hpp:34
-
Geneneric generic codecvt facet, various stateless encodings to UTF-16 and UTF-32 using wchar_t...
Definition: generic_codecvt.hpp:140
-
The state would be used by from_unicode functions.
Definition: generic_codecvt.hpp:41
-
-
- - - - - - diff --git a/doc/html/gettext_for_windows.html b/doc/html/gettext_for_windows.html deleted file mode 100644 index 678b5ac1..00000000 --- a/doc/html/gettext_for_windows.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -Boost.Locale: Using Gettext Tools on Windows - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Using Gettext Tools on Windows
-
-
-

In order to get the Gettext tools like msgfmt, msgmerge, xgettext for Windows you have basically several options:

-
    -
  • Download the package from CppCMS project (where the Boost.Locale was developed originally)
  • -
  • Download the a set of packages from MinGW project
  • -
  • Build it on your own
  • -
  • Use Cygwin's packages
  • -
-

-Getting gettext utilities from CppCMS project

-

Boost.Locale was developed for needs of CppCMS project and thus CppCMS hosts a convince package for Windows users of pre-build, statically liked gettext runtime utilities like xgettext, msgfmt, etc.

-

So you can download a zip file gettext-tools-static-XXX.zip from a CppCMS downloads page under boost_locale/gettext_for_windows.

-

Extract the file and use the executable files inside.

-

-Getting Gettext via MinGW project

-

MinGW project provides GNU tools for Windows, including GNU compilers and various runtime utilities. Thus you can always install full MinGW distribution including gettext tools. However, if you a want minimalistic runtime version that allows you to extract messages and create catalogs you need to download several packages manually.

-

In order to install Gettext via MinGW distributing you need to download, a GCC's runtime, iconv library and gettext itself.

-

So visit a downloads page of MinGW project and download following files (chose the latest versions of each package):

-
    -
  • From: MinGW/BaseSystem/GCC/Version4/gcc-xxx/
    - File: libgcc-xxx-mingw32-dll-1.tar.lzma
  • -
  • From MinGW/Gettext/gettext-yyy/
    - Files: gettext-yyy-mingw32-dev.tar.lzma, libgettextpo-yyy-mingw32-dll-0.tar.lzma, libintl-yyy-mingw32-dll-8.tar.lzma
  • -
  • From MinGW/libiconv/libiconv-zzz/
    - Files: libiconv-zzz-mingw32-dll-2.tar.lzma, libcharset-zzz-mingw32-dll-1.tar.lzma
  • -
-

For example, at June 23, 2011 it was:

-
    -
  • GNU Runtime: libgcc-4.5.2-1-mingw32-dll-1.tar.lzma
  • -
  • iconv: libiconv-1.13.1-1-mingw32-dll-2.tar.lzma and libcharset-1.13.1-1-mingw32-dll-1.tar.lzma
  • -
  • gettext: libintl-0.17-1-mingw32-dll-8.tar.lzma, libgettextpo-0.17-1-mingw32-dll-0.tar.lzma and gettext-0.17-1-mingw32-dev.tar.lzma.
  • -
-

After you download the packages, extract all the files to the same directory using tools like 7zip and you'll get all the executables and dll's you need under bin subdirectory.

-
Note
the version on MinGW site is slightly outdated (0.17.1) while gettext provides currently 0.18.1.
-

-Building latest version on your own.

-

You can build your own version of GNU Gettext using MinGW environment, you'll need to have up-to-date gcc compiler and the shell, you'll need to install iconv first and then build a gettext with it.

-

Basic and simplest way would be to open a MinGW shell

-

Build iconv:

-
cd libiconv-SOMEVERSION
-
./configure --prefix=c:/mygettext --disable-shared
-
make
-
make install
-
cd ..
-
cd gettext-SOMEVERSION
-
./configure --prefix=c:/mygettext --disable-shared --with-libiconv-prefix=c:/mygettext
-
make
-
make install
-

And now you have in c:\mygettext\bin all appropriate executable files to use.

-

-Using Cygwin

-

If you already have Cygwin - just use gettext tools provided with it.

-
-
- - - - - - diff --git a/doc/html/glossary.html b/doc/html/glossary.html deleted file mode 100644 index 94d536d6..00000000 --- a/doc/html/glossary.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - -Boost.Locale: Glossary - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Glossary
-
-
-
    -
  • Basic Multilingual Plane (BMP) – a part of the Universal Character Set with code points in the range U-0000–U-FFFF. The most commonly used UCS characters lay in this plane, including all Western, Cyrillic, Hebrew, Thai, Arabic and CJK characters. However there are many characters that lay outside the BMP and they are absolutely required for correct support of East Asian languages.
  • -
  • Code Point – a unique number that represents a "character" in the Universal Character Set. Code points lay in the range of 0-0x10FFFF, and are usually displayed as U+XXXX or U+XXXXXX, where X represents a hexadecimal digit.
  • -
  • Collation – a sorting order for text, usually alphabetical. It can differ between languages and countries, even for the same characters.
  • -
  • Encoding - a representation of a character set. Some encodings are capable of representing the full UCS range, like UTF-8, and others can only represent a subset of it – ISO-8859-8 represents only a small subset of about 250 characters of the UCS.
    - Non-Unicode encodings are still very popular, for example the Latin-1 (or ISO-8859-1) encoding covers most of the characters for Western European languages and significantly simplifies the processing of text for applications designed to handle only such languages.
    - For Boost.Locale you should provide an eight-bit (std::string) encoding as part of the locale name, like en_US.UTF-8 or he_IL.cp1255 . UTF-8 is recommended.
  • -
  • Facet - or std::locale::facet – a base class that every object that describes a specific locale is derived from. Facets can be added to a locale to provide additional culture information.
  • -
  • Formatting - representation of various values according to locale preferences. For example, a number 1234.5 (C representation) should be displayed as 1,234.5 in the US locale and 1.234,5 in the Russian locale. The date November 1st, 2005 would be represented as 11/01/2005 in the United States, and 01.11.2005 in Russia. This is an important part of localization.
    - For example: does "You have to bring 134,230 kg of rice on 04/01/2010" means "134 tons of rice on the first of April" or "134 kg 230 g - of rice on January 4th"? That is quite different.
  • -
  • Gettext - The GNU localization library used for message formatting. Today it is the de-facto standard localization library in the Open Source world. Boost.Locale message formatting is entirely built on Gettext message catalogs.
  • -
  • Locale - a set of parameters that define specific preferences for users in different cultures. It is generally defined by language, country, variants, and encoding, and provides information like: collation order, date-time formatting, message formatting, number formatting and many others. In C++, locale information is represented by the std::locale class.
  • -
  • Message Formatting – the representation of user interface strings in the user's language. The process of translation of UI strings is generally done using some dictionary provided by the program's translator.
  • -
  • Message Domain – in gettext terms, the keyword that represents a message catalog. This is usually an application name. When gettext and Boost.Locale search for a specific message catalog, they search in the specified path for a file named after the domain.
  • -
  • Normalization - Unicode normalization is the process of converting strings to a standard form, suitable for text processing and comparison. For example, character "ü" can be represented by a single code point or a combination of the character "u" and the diaeresis "¨". Normalization is an important part of Unicode text processing.
    - Normalization is not locale-dependent, but because it is an important part of Unicode processing, it is included in the Boost.Locale library.
  • -
  • UCS-2 - a fixed-width Unicode encoding, capable of representing only code points in the Basic Multilingual Plane (BMP). It is a legacy encoding and is not recommended for use.
  • -
  • Unicode – the industry standard that defines the representation and manipulation of text suitable for most languages and countries. It should not be confused with the Universal Character Set, it is a much larger standard that also defines algorithms like bidirectional display order, Arabic shaping, etc.
  • -
  • Universal Character Set (UCS) - an international standard that defines a set of characters for many scripts and their code points.
  • -
  • UTF-8 - a variable-width Unicode transformation format. Each UCS code point is represented as a sequence of between 1 and 4 octets that can be easily distinguished. It includes ASCII as a subset. It is the most popular Unicode encoding for web applications, data transfer and storage, and is the de-facto standard encoding for most POSIX operation systems.
  • -
  • UTF-16 - a variable-width Unicode transformation format. Each UCS code point is represented as a sequence of one or two 16-bit words. It is a very popular encoding for platforms such as the Win32 API, Java, C#, Python, etc. However, it is frequently confused with the UCS-2 fixed-width encoding, which can only represent characters in the Basic Multilingual Plane (BMP).
    - This encoding is used for std::wstring under the Win32 platform, where sizeof(wchar_t)==2.
  • -
  • UTF-32/UCS-4 - a fixed-width Unicode transformation format, where each code point is represented as a single 32-bit word. It has the advantage of simple code point representation, but is wasteful in terms of memory usage. It is used for std::wstring encoding for most POSIX platforms, where sizeof(wchar_t)==4.
  • -
  • Case Folding - is a process of converting a text to case independent representation. For example case folding for a word "Grüßen" is "grüssen" - where the letter "ß" is represented in case independent way as "ss".
  • -
  • Title Case - Is a text conversion where the words are capitalized. For example "hello world" is converted to "Hello World"
  • -
-
-
- - - - - - diff --git a/doc/html/gnu__gettext_8hpp_source.html b/doc/html/gnu__gettext_8hpp_source.html deleted file mode 100644 index 8e546da4..00000000 --- a/doc/html/gnu__gettext_8hpp_source.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/gnu_gettext.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
gnu_gettext.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCLAE_GNU_GETTEXT_HPP
-
9 #define BOOST_LOCLAE_GNU_GETTEXT_HPP
-
10 
-
11 #include <boost/locale/message.hpp>
-
12 #include <boost/function.hpp>
-
13 #include <stdexcept>
-
14 
-
15 namespace boost {
-
16 namespace locale {
-
19 
-
20 
-
24 namespace gnu_gettext {
-
25 
-
34  struct messages_info {
-
35  messages_info() :
-
36  language("C"),
-
37  locale_category("LC_MESSAGES")
-
38  {
-
39  }
-
40 
-
41  std::string language;
-
42  std::string country;
-
43  std::string variant;
-
44  std::string encoding;
-
45  std::string locale_category;
-
47  struct domain {
-
56 
-
57  std::string name;
-
58  std::string encoding;
-
59  domain() {}
-
66  domain(std::string const &n)
-
67  {
-
68  size_t pos = n.find("/");
-
69  if(pos==std::string::npos) {
-
70  name = n;
-
71  encoding = "UTF-8";
-
72  }
-
73  else {
-
74  name = n.substr(0,pos);
-
75  encoding = n.substr(pos+1);
-
76  }
-
77 
-
78  }
-
79 
-
83  bool operator==(domain const &other) const
-
84  {
-
85  return name==other.name;
-
86  }
-
90  bool operator!=(domain const &other) const
-
91  {
-
92  return !(*this==other);
-
93  }
-
94 
-
95  };
-
96 
-
97  typedef std::vector<domain> domains_type;
- -
100  std::vector<std::string> paths;
-
102 
-
114  typedef function<
-
115  std::vector<char>(
-
116  std::string const &file_name,
-
117  std::string const &encoding
-
118  )
- -
120 
- -
126 
-
127  };
-
128 
-
133 
-
134  template<typename CharType>
- -
136 
-
138 
-
139  template<>
- -
141 
-
142  template<>
- -
144 
-
145  #ifdef BOOST_LOCALE_ENABLE_CHAR16_T
-
146  template<>
- -
148  #endif
-
149 
-
150  #ifdef BOOST_LOCALE_ENABLE_CHAR32_T
-
151  template<>
- -
153  #endif
-
154 
-
156 
-
157 } // gnu_gettext
-
158 
-
160 
-
161 } // locale
-
162 } // boost
-
163 
-
164 #endif
-
165 
-
166 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
167 
-
a facet that holds general information about locale
Definition: info.hpp:27
-
domains_type domains
Definition: gnu_gettext.hpp:99
-
bool operator!=(domain const &other) const
Definition: gnu_gettext.hpp:90
-
std::string encoding
Definition: gnu_gettext.hpp:44
-
std::string locale_category
Definition: gnu_gettext.hpp:46
-
This structure holds all information required for creating gnu-gettext message catalogs,.
Definition: gnu_gettext.hpp:34
-
domain(std::string const &n)
Definition: gnu_gettext.hpp:66
-
bool operator==(domain const &other) const
Definition: gnu_gettext.hpp:83
-
std::vector< std::string > paths
Definition: gnu_gettext.hpp:101
-
This facet provides message formatting abilities.
Definition: message.hpp:47
-
This type represents GNU Gettext domain name for the messages.
Definition: gnu_gettext.hpp:55
-
std::string language
The language we load the catalog for, like "ru", "en", "de".
Definition: gnu_gettext.hpp:41
-
std::vector< domain > domains_type
Definition: gnu_gettext.hpp:97
-
std::string name
The name of the domain.
Definition: gnu_gettext.hpp:57
-
function< std::vector< char > std::string const &file_name, std::string const &encoding) > callback_type
Definition: gnu_gettext.hpp:119
-
callback_type callback
Definition: gnu_gettext.hpp:125
-
std::string country
The country we load the catalog for, like "US", "IL".
Definition: gnu_gettext.hpp:42
-
message_format< CharType > * create_messages_facet(messages_info const &info)
-
std::string variant
Language variant, like "euro" so it would look for catalog like de_DE@euro.
Definition: gnu_gettext.hpp:43
-
std::string encoding
The character encoding for the domain.
Definition: gnu_gettext.hpp:58
-
-
- - - - - - diff --git a/doc/html/group__boundary.html b/doc/html/group__boundary.html deleted file mode 100644 index 3678254a..00000000 --- a/doc/html/group__boundary.html +++ /dev/null @@ -1,1719 +0,0 @@ - - - - - - -Boost.Locale: Boundary Analysis - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
- -
-
Boundary Analysis
-
-
- - - - - - - - - - - - - - - - - - - - -

-Classes

class  boost::locale::boundary::boundary_point< IteratorType >
 This class represents a boundary point in the text. More...
 
struct  boost::locale::boundary::break_info
 This structure is used for representing boundary point that follows the offset. More...
 
class  boost::locale::boundary::boundary_indexing< CharType >
 This facet generates an index for boundary analysis for a given text. More...
 
class  boost::locale::boundary::segment_index< BaseIterator >
 This class holds an index of segments in the text range and allows to iterate over them. More...
 
class  boost::locale::boundary::boundary_point_index< BaseIterator >
 This class holds an index of boundary points and allows iterating over them. More...
 
class  boost::locale::boundary::segment< IteratorType >
 a segment object that represents a pair of two iterators that define the range where this segment exits and a rule that defines it. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef std::vector< break_info > boost::locale::boundary::index_type
 
typedef BaseIterator boost::locale::boundary::segment_index< BaseIterator >::base_iterator
 
typedef unspecified_iterator_type boost::locale::boundary::segment_index< BaseIterator >::iterator
 
typedef unspecified_iterator_type boost::locale::boundary::segment_index< BaseIterator >::const_iterator
 
typedef segment< base_iterator > boost::locale::boundary::segment_index< BaseIterator >::value_type
 
typedef BaseIterator boost::locale::boundary::boundary_point_index< BaseIterator >::base_iterator
 
typedef unspecified_iterator_type boost::locale::boundary::boundary_point_index< BaseIterator >::iterator
 
typedef unspecified_iterator_type boost::locale::boundary::boundary_point_index< BaseIterator >::const_iterator
 
typedef boundary_point
-< base_iterator > 
boost::locale::boundary::boundary_point_index< BaseIterator >::value_type
 
-typedef segment_index
-< std::string::const_iterator > 
boost::locale::boundary::ssegment_index
 convenience typedef
 
-typedef segment_index
-< std::wstring::const_iterator > 
boost::locale::boundary::wssegment_index
 convenience typedef
 
-typedef segment_index
-< std::u16string::const_iterator > 
boost::locale::boundary::u16ssegment_index
 convenience typedef
 
-typedef segment_index
-< std::u32string::const_iterator > 
boost::locale::boundary::u32ssegment_index
 convenience typedef
 
-typedef segment_index< char
-const * > 
boost::locale::boundary::csegment_index
 convenience typedef
 
-typedef segment_index< wchar_t
-const * > 
boost::locale::boundary::wcsegment_index
 convenience typedef
 
-typedef segment_index
-< char16_t const * > 
boost::locale::boundary::u16csegment_index
 convenience typedef
 
-typedef segment_index
-< char32_t const * > 
boost::locale::boundary::u32csegment_index
 convenience typedef
 
-typedef boundary_point_index
-< std::string::const_iterator > 
boost::locale::boundary::sboundary_point_index
 convenience typedef
 
-typedef boundary_point_index
-< std::wstring::const_iterator > 
boost::locale::boundary::wsboundary_point_index
 convenience typedef
 
-typedef boundary_point_index
-< std::u16string::const_iterator > 
boost::locale::boundary::u16sboundary_point_index
 convenience typedef
 
-typedef boundary_point_index
-< std::u32string::const_iterator > 
boost::locale::boundary::u32sboundary_point_index
 convenience typedef
 
-typedef boundary_point_index
-< char const * > 
boost::locale::boundary::cboundary_point_index
 convenience typedef
 
-typedef boundary_point_index
-< wchar_t const * > 
boost::locale::boundary::wcboundary_point_index
 convenience typedef
 
-typedef boundary_point_index
-< char16_t const * > 
boost::locale::boundary::u16cboundary_point_index
 convenience typedef
 
-typedef boundary_point_index
-< char32_t const * > 
boost::locale::boundary::u32cboundary_point_index
 convenience typedef
 
-typedef segment
-< std::string::const_iterator > 
boost::locale::boundary::ssegment
 convenience typedef
 
-typedef segment
-< std::wstring::const_iterator > 
boost::locale::boundary::wssegment
 convenience typedef
 
-typedef segment
-< std::u16string::const_iterator > 
boost::locale::boundary::u16ssegment
 convenience typedef
 
-typedef segment
-< std::u32string::const_iterator > 
boost::locale::boundary::u32ssegment
 convenience typedef
 
-typedef segment< char const * > boost::locale::boundary::csegment
 convenience typedef
 
-typedef segment< wchar_t const * > boost::locale::boundary::wcsegment
 convenience typedef
 
-typedef segment< char16_t const * > boost::locale::boundary::u16csegment
 convenience typedef
 
-typedef segment< char32_t const * > boost::locale::boundary::u32csegment
 convenience typedef
 
typedef uint32_t boost::locale::boundary::rule_type
 Flags used with word boundary analysis – the type of the word, line or sentence boundary found. More...
 
- - - -

-Enumerations

enum  boost::locale::boundary::boundary_type { boost::locale::boundary::character, -boost::locale::boundary::word, -boost::locale::boundary::sentence, -boost::locale::boundary::line - }
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename BaseIterator >
bool boost::locale::boundary::operator== (BaseIterator const &l, boundary_point< BaseIterator > const &r)
 
template<typename BaseIterator >
bool boost::locale::boundary::operator!= (BaseIterator const &l, boundary_point< BaseIterator > const &r)
 
 boost::locale::boundary::segment_index< BaseIterator >::segment_index ()
 
 boost::locale::boundary::segment_index< BaseIterator >::segment_index (boundary_type type, base_iterator begin, base_iterator end, rule_type mask, std::locale const &loc=std::locale())
 
 boost::locale::boundary::segment_index< BaseIterator >::segment_index (boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())
 
 boost::locale::boundary::segment_index< BaseIterator >::segment_index (boundary_point_index< base_iterator > const &)
 
segment_index const & boost::locale::boundary::segment_index< BaseIterator >::operator= (boundary_point_index< base_iterator > const &)
 
void boost::locale::boundary::segment_index< BaseIterator >::map (boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())
 
iterator boost::locale::boundary::segment_index< BaseIterator >::begin () const
 
iterator boost::locale::boundary::segment_index< BaseIterator >::end () const
 
iterator boost::locale::boundary::segment_index< BaseIterator >::find (base_iterator p) const
 
rule_type boost::locale::boundary::segment_index< BaseIterator >::rule () const
 
void boost::locale::boundary::segment_index< BaseIterator >::rule (rule_type v)
 
bool boost::locale::boundary::segment_index< BaseIterator >::full_select () const
 
void boost::locale::boundary::segment_index< BaseIterator >::full_select (bool v)
 
 boost::locale::boundary::boundary_point_index< BaseIterator >::boundary_point_index ()
 
 boost::locale::boundary::boundary_point_index< BaseIterator >::boundary_point_index (boundary_type type, base_iterator begin, base_iterator end, rule_type mask, std::locale const &loc=std::locale())
 
 boost::locale::boundary::boundary_point_index< BaseIterator >::boundary_point_index (boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())
 
 boost::locale::boundary::boundary_point_index< BaseIterator >::boundary_point_index (segment_index< base_iterator > const &other)
 
boundary_point_index const & boost::locale::boundary::boundary_point_index< BaseIterator >::operator= (segment_index< base_iterator > const &other)
 
void boost::locale::boundary::boundary_point_index< BaseIterator >::map (boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())
 
iterator boost::locale::boundary::boundary_point_index< BaseIterator >::begin () const
 
iterator boost::locale::boundary::boundary_point_index< BaseIterator >::end () const
 
iterator boost::locale::boundary::boundary_point_index< BaseIterator >::find (base_iterator p) const
 
rule_type boost::locale::boundary::boundary_point_index< BaseIterator >::rule () const
 
void boost::locale::boundary::boundary_point_index< BaseIterator >::rule (rule_type v)
 
-template<typename IteratorL , typename IteratorR >
bool boost::locale::boundary::operator== (segment< IteratorL > const &l, segment< IteratorR > const &r)
 Compare two segments.
 
-template<typename IteratorL , typename IteratorR >
bool boost::locale::boundary::operator!= (segment< IteratorL > const &l, segment< IteratorR > const &r)
 Compare two segments.
 
-template<typename IteratorL , typename IteratorR >
bool boost::locale::boundary::operator< (segment< IteratorL > const &l, segment< IteratorR > const &r)
 Compare two segments.
 
-template<typename IteratorL , typename IteratorR >
bool boost::locale::boundary::operator<= (segment< IteratorL > const &l, segment< IteratorR > const &r)
 Compare two segments.
 
-template<typename IteratorL , typename IteratorR >
bool boost::locale::boundary::operator> (segment< IteratorL > const &l, segment< IteratorR > const &r)
 Compare two segments.
 
-template<typename IteratorL , typename IteratorR >
bool boost::locale::boundary::operator>= (segment< IteratorL > const &l, segment< IteratorR > const &r)
 Compare two segments.
 
-template<typename CharType , typename Traits , typename Alloc , typename IteratorR >
bool boost::locale::boundary::operator== (std::basic_string< CharType, Traits, Alloc > const &l, segment< IteratorR > const &r)
 Compare string and segment.
 
-template<typename CharType , typename Traits , typename Alloc , typename IteratorR >
bool boost::locale::boundary::operator!= (std::basic_string< CharType, Traits, Alloc > const &l, segment< IteratorR > const &r)
 Compare string and segment.
 
-template<typename CharType , typename Traits , typename Alloc , typename IteratorR >
bool boost::locale::boundary::operator< (std::basic_string< CharType, Traits, Alloc > const &l, segment< IteratorR > const &r)
 Compare string and segment.
 
-template<typename CharType , typename Traits , typename Alloc , typename IteratorR >
bool boost::locale::boundary::operator<= (std::basic_string< CharType, Traits, Alloc > const &l, segment< IteratorR > const &r)
 Compare string and segment.
 
-template<typename CharType , typename Traits , typename Alloc , typename IteratorR >
bool boost::locale::boundary::operator> (std::basic_string< CharType, Traits, Alloc > const &l, segment< IteratorR > const &r)
 Compare string and segment.
 
-template<typename CharType , typename Traits , typename Alloc , typename IteratorR >
bool boost::locale::boundary::operator>= (std::basic_string< CharType, Traits, Alloc > const &l, segment< IteratorR > const &r)
 Compare string and segment.
 
-template<typename Iterator , typename CharType , typename Traits , typename Alloc >
bool boost::locale::boundary::operator== (segment< Iterator > const &l, std::basic_string< CharType, Traits, Alloc > const &r)
 Compare string and segment.
 
-template<typename Iterator , typename CharType , typename Traits , typename Alloc >
bool boost::locale::boundary::operator!= (segment< Iterator > const &l, std::basic_string< CharType, Traits, Alloc > const &r)
 Compare string and segment.
 
-template<typename Iterator , typename CharType , typename Traits , typename Alloc >
bool boost::locale::boundary::operator< (segment< Iterator > const &l, std::basic_string< CharType, Traits, Alloc > const &r)
 Compare string and segment.
 
-template<typename Iterator , typename CharType , typename Traits , typename Alloc >
bool boost::locale::boundary::operator<= (segment< Iterator > const &l, std::basic_string< CharType, Traits, Alloc > const &r)
 Compare string and segment.
 
-template<typename Iterator , typename CharType , typename Traits , typename Alloc >
bool boost::locale::boundary::operator> (segment< Iterator > const &l, std::basic_string< CharType, Traits, Alloc > const &r)
 Compare string and segment.
 
-template<typename Iterator , typename CharType , typename Traits , typename Alloc >
bool boost::locale::boundary::operator>= (segment< Iterator > const &l, std::basic_string< CharType, Traits, Alloc > const &r)
 Compare string and segment.
 
-template<typename CharType , typename IteratorR >
bool boost::locale::boundary::operator== (CharType const *l, segment< IteratorR > const &r)
 Compare C string and segment.
 
-template<typename CharType , typename IteratorR >
bool boost::locale::boundary::operator!= (CharType const *l, segment< IteratorR > const &r)
 Compare C string and segment.
 
-template<typename CharType , typename IteratorR >
bool boost::locale::boundary::operator< (CharType const *l, segment< IteratorR > const &r)
 Compare C string and segment.
 
-template<typename CharType , typename IteratorR >
bool boost::locale::boundary::operator<= (CharType const *l, segment< IteratorR > const &r)
 Compare C string and segment.
 
-template<typename CharType , typename IteratorR >
bool boost::locale::boundary::operator> (CharType const *l, segment< IteratorR > const &r)
 Compare C string and segment.
 
-template<typename CharType , typename IteratorR >
bool boost::locale::boundary::operator>= (CharType const *l, segment< IteratorR > const &r)
 Compare C string and segment.
 
-template<typename Iterator , typename CharType >
bool boost::locale::boundary::operator== (segment< Iterator > const &l, CharType const *r)
 Compare C string and segment.
 
-template<typename Iterator , typename CharType >
bool boost::locale::boundary::operator!= (segment< Iterator > const &l, CharType const *r)
 Compare C string and segment.
 
-template<typename Iterator , typename CharType >
bool boost::locale::boundary::operator< (segment< Iterator > const &l, CharType const *r)
 Compare C string and segment.
 
-template<typename Iterator , typename CharType >
bool boost::locale::boundary::operator<= (segment< Iterator > const &l, CharType const *r)
 Compare C string and segment.
 
-template<typename Iterator , typename CharType >
bool boost::locale::boundary::operator> (segment< Iterator > const &l, CharType const *r)
 Compare C string and segment.
 
-template<typename Iterator , typename CharType >
bool boost::locale::boundary::operator>= (segment< Iterator > const &l, CharType const *r)
 Compare C string and segment.
 
template<typename CharType , typename TraitsType , typename Iterator >
std::basic_ostream< CharType,
-TraitsType > & 
boost::locale::boundary::operator<< (std::basic_ostream< CharType, TraitsType > &out, segment< Iterator > const &tok)
 
rule_type boost::locale::boundary::boundary_rule (boundary_type t)
 
- - - - - -

-Friends

-class boost::locale::boundary::segment_index< BaseIterator >::boundary_point_index< base_iterator >
 
-class boost::locale::boundary::boundary_point_index< BaseIterator >::segment_index< base_iterator >
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Flags that describe a type of word selected

-
-static const rule_type boost::locale::boundary::word_none = 0x0000F
 Not a word, like white space or punctuation mark.
 
-static const rule_type boost::locale::boundary::word_number = 0x000F0
 Word that appear to be a number.
 
-static const rule_type boost::locale::boundary::word_letter = 0x00F00
 Word that contains letters, excluding kana and ideographic characters.
 
-static const rule_type boost::locale::boundary::word_kana = 0x0F000
 Word that contains kana characters.
 
-static const rule_type boost::locale::boundary::word_ideo = 0xF0000
 Word that contains ideographic characters.
 
-static const rule_type boost::locale::boundary::word_any = 0xFFFF0
 Any word including numbers, 0 is special flag, equivalent to 15.
 
-static const rule_type boost::locale::boundary::word_letters = 0xFFF00
 Any word, excluding numbers but including letters, kana and ideograms.
 
-static const rule_type boost::locale::boundary::word_kana_ideo = 0xFF000
 Word that includes kana or ideographic characters.
 
static const rule_type boost::locale::boundary::word_mask = 0xFFFFF
 
- - - - - - - - - - - - - - -

-Flags that describe a type of line break

-
-static const rule_type boost::locale::boundary::line_soft = 0x0F
 Soft line break: optional but not required.
 
-static const rule_type boost::locale::boundary::line_hard = 0xF0
 Hard line break: like break is required (as per CR/LF)
 
-static const rule_type boost::locale::boundary::line_any = 0xFF
 Soft or Hard line break.
 
-static const rule_type boost::locale::boundary::line_mask = 0xFF
 Select all types of line breaks.
 
- - - - - - - - - - - - - - -

-Flags that describe a type of sentence break

-
-static const rule_type boost::locale::boundary::sentence_term = 0x0F
 The sentence was terminated with a sentence terminator like ".", "!" possible followed by hard separator like CR, LF, PS.
 
-static const rule_type boost::locale::boundary::sentence_sep = 0xF0
 The sentence does not contain terminator like ".", "!" but ended with hard separator like CR, LF, PS or end of input.
 
-static const rule_type boost::locale::boundary::sentence_any = 0xFF
 Either first or second sentence break type;.
 
-static const rule_type boost::locale::boundary::sentence_mask = 0xFF
 Select all sentence breaking points.
 
- - - - - - - - -

-Flags that describe a type of character break.

At this point break iterator does not distinguish different kinds of characters so it is used for consistency.

-
-static const rule_type boost::locale::boundary::character_any = 0xF
 Not in use, just for consistency.
 
-static const rule_type boost::locale::boundary::character_mask = 0xF
 Select all character breaking points.
 
-

Detailed Description

-

This module contains all operations required for boundary analysis of text: character, word, like and sentence boundaries

-

This module contains all operations required for boundary analysis of text: character, word, like and sentence boundaries

-

Typedef Documentation

- -
-
-
-template<typename BaseIterator>
- - - - -
typedef BaseIterator boost::locale::boundary::segment_index< BaseIterator >::base_iterator
-
-

The type of the iterator used to iterate over the original text

- -
-
- -
-
-
-template<typename BaseIterator >
- - - - -
typedef BaseIterator boost::locale::boundary::boundary_point_index< BaseIterator >::base_iterator
-
-

The type of the iterator used to iterate over the original text

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - -
typedef unspecified_iterator_type boost::locale::boundary::segment_index< BaseIterator >::const_iterator
-
- -

-

The bidirectional iterator that iterates over value_type objects.

-
    -
  • The iterators may be invalidated by use of any non-const member function including but not limited to rule(rule_type) and full_select(bool).
  • -
  • The returned value_type object is valid as long as iterator points to it. So this following code is wrong as t used after p was updated:
    segment_index<some_iterator>::iterator p=index.begin();
    -
    segment<some_iterator> &t = *p;
    -
    ++p;
    -
    cout << t.str() << endl;
    -
  • -
- -
-
- -
-
-
-template<typename BaseIterator >
- - - - -
typedef unspecified_iterator_type boost::locale::boundary::boundary_point_index< BaseIterator >::const_iterator
-
- -

-

The bidirectional iterator that iterates over value_type objects.

-
    -
  • The iterators may be invalidated by use of any non-const member function including but not limited to rule(rule_type) member function.
  • -
  • The returned value_type object is valid as long as iterator points to it. So this following code is wrong as t used after p was updated:
    boundary_point_index<some_iterator>::iterator p=index.begin();
    -
    boundary_point<some_iterator> &t = *p;
    -
    ++p;
    -
    rule_type r = t->rule();
    -
  • -
- -
-
- -
-
- - - - -
typedef std::vector<break_info> boost::locale::boundary::index_type
-
-

This type holds the analysis of the text - all its break points with marks

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - -
typedef unspecified_iterator_type boost::locale::boundary::segment_index< BaseIterator >::iterator
-
-

The bidirectional iterator that iterates over value_type objects.

-
    -
  • The iterators may be invalidated by use of any non-const member function including but not limited to rule(rule_type) and full_select(bool).
  • -
  • The returned value_type object is valid as long as iterator points to it. So this following code is wrong as t used after p was updated:
    segment_index<some_iterator>::iterator p=index.begin();
    -
    segment<some_iterator> &t = *p;
    -
    ++p;
    -
    cout << t.str() << endl;
    -
  • -
- -
-
- -
-
-
-template<typename BaseIterator >
- - - - -
typedef unspecified_iterator_type boost::locale::boundary::boundary_point_index< BaseIterator >::iterator
-
-

The bidirectional iterator that iterates over value_type objects.

-
    -
  • The iterators may be invalidated by use of any non-const member function including but not limited to rule(rule_type) member function.
  • -
  • The returned value_type object is valid as long as iterator points to it. So this following code is wrong as t used after p was updated:
    boundary_point_index<some_iterator>::iterator p=index.begin();
    -
    boundary_point<some_iterator> &t = *p;
    -
    ++p;
    -
    rule_type r = t->rule();
    -
  • -
- -
-
- -
-
- - - - -
typedef uint32_t boost::locale::boundary::rule_type
-
- -

Flags used with word boundary analysis – the type of the word, line or sentence boundary found.

-

It is a bit-mask that represents various combinations of rules used to select this specific boundary.

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - -
typedef segment<base_iterator> boost::locale::boundary::segment_index< BaseIterator >::value_type
-
-

The type dereferenced by the iterator and const_iterator. It is an object that represents selected segment.

- -
-
- -
-
-
-template<typename BaseIterator >
- - - - -
typedef boundary_point<base_iterator> boost::locale::boundary::boundary_point_index< BaseIterator >::value_type
-
-

The type dereferenced by the iterator and const_iterator. It is an object that represents the selected boundary point.

- -
-
-

Enumeration Type Documentation

- -
-
-

This type describes a possible boundary analysis alternatives.

- - - - - -
Enumerator
character  -

Analyse the text for character boundaries.

-
word  -

Analyse the text for word boundaries.

-
sentence  -

Analyse the text for Find sentence boundaries.

-
line  -

Analyse the text for positions suitable for line breaks.

-
- -
-
-

Function Documentation

- -
-
-
-template<typename BaseIterator>
- - - - - -
- - - - - - - -
iterator boost::locale::boundary::segment_index< BaseIterator >::begin () const
-
-inline
-
-

Get the iterator on the beginning of the segments range.

-

Preconditions: the segment_index should have a mapping

-
Note
-

The returned iterator is invalidated by access to any non-const member functions of this object

- -
-
- -
-
-
-template<typename BaseIterator >
- - - - - -
- - - - - - - -
iterator boost::locale::boundary::boundary_point_index< BaseIterator >::begin () const
-
-inline
-
-

Get the iterator on the beginning of the boundary points range.

-

Preconditions: this boundary_point_index should have a mapping

-
Note
-

The returned iterator is invalidated by access to any non-const member functions of this object

- -
-
- -
-
-
-template<typename BaseIterator >
- - - - - -
- - - - - - - -
boost::locale::boundary::boundary_point_index< BaseIterator >::boundary_point_index ()
-
-inline
-
-

Default constructor.

-
Note
-

When this object is constructed by default it does not include a valid index, thus calling begin(), end() or find() member functions would lead to undefined behavior

- -
-
- -
-
-
-template<typename BaseIterator >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
boost::locale::boundary::boundary_point_index< BaseIterator >::boundary_point_index (boundary_type type,
base_iterator begin,
base_iterator end,
rule_type mask,
std::locale const & loc = std::locale() 
)
-
-inline
-
-

Create a segment_index for boundary analysis type of the text in range [begin,end) using a rule mask for locale loc.

- -
-
- -
-
-
-template<typename BaseIterator >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
boost::locale::boundary::boundary_point_index< BaseIterator >::boundary_point_index (boundary_type type,
base_iterator begin,
base_iterator end,
std::locale const & loc = std::locale() 
)
-
-inline
-
-

Create a segment_index for boundary analysis type of the text in range [begin,end) selecting all possible boundary points (full mask) for locale loc.

- -
-
- -
-
-
-template<typename BaseIterator >
- - - - - - - - -
boost::locale::boundary::boundary_point_index< BaseIterator >::boundary_point_index (segment_index< base_iterator > const & other)
-
-

Create a boundary_point_index from a segment_index. It copies all indexing information and uses the default rule (all possible boundary points)

-

This operation is very cheap, so if you use boundary_point_index and segment_index on same text range it is much better to create one from another rather then indexing the same range twice.

-
Note
rule() flags are not copied
- -
-
- -
-
- - - - - -
- - - - - - - - -
rule_type boost::locale::boundary::boundary_rule (boundary_type t)
-
-inline
-
-

This function returns the mask that covers all variants for specific boundary type

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - - -
- - - - - - - -
iterator boost::locale::boundary::segment_index< BaseIterator >::end () const
-
-inline
-
-

Get the iterator on the ending of the segments range.

-

Preconditions: the segment_index should have a mapping

-

The returned iterator is invalidated by access to any non-const member functions of this object

- -
-
- -
-
-
-template<typename BaseIterator >
- - - - - -
- - - - - - - -
iterator boost::locale::boundary::boundary_point_index< BaseIterator >::end () const
-
-inline
-
-

Get the iterator on the ending of the boundary points range.

-

Preconditions: this boundary_point_index should have a mapping

-
Note
-

The returned iterator is invalidated by access to any non-const member functions of this object

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - - -
- - - - - - - - -
iterator boost::locale::boundary::segment_index< BaseIterator >::find (base_iterator p) const
-
-inline
-
-

Find a first valid segment following a position p.

-

If p is inside a valid segment this segment is selected:

-

For example: For word boundary analysis with word_any rule():

-
    -
  • "to| be or ", would point to "be",
  • -
  • "t|o be or ", would point to "to",
  • -
  • "to be or| ", would point to end.
  • -
-

Preconditions: the segment_index should have a mapping and p should be valid iterator to the text in the mapped range.

-

The returned iterator is invalidated by access to any non-const member functions of this object

- -
-
- -
-
-
-template<typename BaseIterator >
- - - - - -
- - - - - - - - -
iterator boost::locale::boundary::boundary_point_index< BaseIterator >::find (base_iterator p) const
-
-inline
-
-

Find a first valid boundary point on a position p or following it.

-

For example: For word boundary analysis of the text "to be or"

-
    -
  • "|to be", would return boundary point at "|to be",
  • -
  • "t|o be", would point to "to| be"
  • -
-

Preconditions: the boundary_point_index should have a mapping and p should be valid iterator to the text in the mapped range.

-

The returned iterator is invalidated by access to any non-const member functions of this object

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - - -
- - - - - - - -
bool boost::locale::boundary::segment_index< BaseIterator >::full_select () const
-
-inline
-
-

Get the full_select property value - should segment include in the range values that not belong to specific rule() or not.

-

The default value is false.

-

For example for sentence boundary with rule sentence_term the segments of text "Hello! How\nare you?" are "Hello!\", "are you?" when full_select() is false because "How\n" is selected as sentence by a rule spits the text by line feed. If full_select() is true the returned segments are "Hello! ", "How\nare you?" where "How\n" is joined with the following part "are you?"

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - - -
- - - - - - - - -
void boost::locale::boundary::segment_index< BaseIterator >::full_select (bool v)
-
-inline
-
-

Set the full_select property value - should segment include in the range values that not belong to specific rule() or not.

-

The default value is false.

-

For example for sentence boundary with rule sentence_term the segments of text "Hello! How\nare you?" are "Hello!\", "are you?" when full_select() is false because "How\n" is selected as sentence by a rule spits the text by line feed. If full_select() is true the returned segments are "Hello! ", "How\nare you?" where "How\n" is joined with the following part "are you?"

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void boost::locale::boundary::segment_index< BaseIterator >::map (boundary_type type,
base_iterator begin,
base_iterator end,
std::locale const & loc = std::locale() 
)
-
-inline
-
-

Create a new index for boundary analysis type of the text in range [begin,end) for locale loc.

-
Note
rule() and full_select() remain unchanged.
-
Examples:
boundary.cpp, and wboundary.cpp.
-
-
-
- -
-
-
-template<typename BaseIterator >
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void boost::locale::boundary::boundary_point_index< BaseIterator >::map (boundary_type type,
base_iterator begin,
base_iterator end,
std::locale const & loc = std::locale() 
)
-
-inline
-
-

Create a new index for boundary analysis type of the text in range [begin,end) for locale loc.

-
Note
rule() remains unchanged.
- -
-
- -
-
-
-template<typename BaseIterator >
- - - - - - - - - - - - - - - - - - -
bool boost::locale::boundary::operator!= (BaseIterator const & l,
boundary_point< BaseIterator > const & r 
)
-
-

Check if the boundary point r points to different location from an iterator l

- -
-
- -
-
-
-template<typename CharType , typename TraitsType , typename Iterator >
- - - - - - - - - - - - - - - - - - -
std::basic_ostream<CharType,TraitsType>& boost::locale::boundary::operator<< (std::basic_ostream< CharType, TraitsType > & out,
segment< Iterator > const & tok 
)
-
-

Write the segment to the stream character by character

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - - - - - -
segment_index const& boost::locale::boundary::segment_index< BaseIterator >::operator= (boundary_point_index< base_iterator > const & )
-
-

Copy an index from a boundary_point_index. It copies all indexing information and uses the default rule (all possible segments)

-

This operation is very cheap, so if you use boundary_point_index and segment_index on same text range it is much better to create one from another rather then indexing the same range twice.

-
Note
rule() flags are not copied
- -
-
- -
-
-
-template<typename BaseIterator >
- - - - - - - - -
boundary_point_index const& boost::locale::boundary::boundary_point_index< BaseIterator >::operator= (segment_index< base_iterator > const & other)
-
-

Copy a boundary_point_index from a segment_index. It copies all indexing information and keeps the current rule() unchanged

-

This operation is very cheap, so if you use boundary_point_index and segment_index on same text range it is much better to create one from another rather then indexing the same range twice.

-
Note
rule() flags are not copied
- -
-
- -
-
-
-template<typename BaseIterator >
- - - - - - - - - - - - - - - - - - -
bool boost::locale::boundary::operator== (BaseIterator const & l,
boundary_point< BaseIterator > const & r 
)
-
-

Check if the boundary point r points to same location as an iterator l

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - - -
- - - - - - - -
rule_type boost::locale::boundary::segment_index< BaseIterator >::rule () const
-
-inline
-
-

Get the mask of rules that are used

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - - -
- - - - - - - - -
void boost::locale::boundary::segment_index< BaseIterator >::rule (rule_type v)
-
-inline
-
-

Set the mask of rules that are used

- -
-
- -
-
-
-template<typename BaseIterator >
- - - - - -
- - - - - - - -
rule_type boost::locale::boundary::boundary_point_index< BaseIterator >::rule () const
-
-inline
-
-

Get the mask of rules that are used

- -
-
- -
-
-
-template<typename BaseIterator >
- - - - - -
- - - - - - - - -
void boost::locale::boundary::boundary_point_index< BaseIterator >::rule (rule_type v)
-
-inline
-
-

Set the mask of rules that are used

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - - -
- - - - - - - -
boost::locale::boundary::segment_index< BaseIterator >::segment_index ()
-
-inline
-
-

Default constructor.

-
Note
-

When this object is constructed by default it does not include a valid index, thus calling begin(), end() or find() member functions would lead to undefined behavior

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
boost::locale::boundary::segment_index< BaseIterator >::segment_index (boundary_type type,
base_iterator begin,
base_iterator end,
rule_type mask,
std::locale const & loc = std::locale() 
)
-
-inline
-
-

Create a segment_index for boundary analysis type of the text in range [begin,end) using a rule mask for locale loc.

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
boost::locale::boundary::segment_index< BaseIterator >::segment_index (boundary_type type,
base_iterator begin,
base_iterator end,
std::locale const & loc = std::locale() 
)
-
-inline
-
-

Create a segment_index for boundary analysis type of the text in range [begin,end) selecting all possible segments (full mask) for locale loc.

- -
-
- -
-
-
-template<typename BaseIterator>
- - - - - - - - -
boost::locale::boundary::segment_index< BaseIterator >::segment_index (boundary_point_index< base_iterator > const & )
-
-

Create a segment_index from a boundary_point_index. It copies all indexing information and used default rule (all possible segments)

-

This operation is very cheap, so if you use boundary_point_index and segment_index on same text range it is much better to create one from another rather then indexing the same range twice.

-
Note
rule() flags are not copied
- -
-
-

Variable Documentation

- -
-
- - - - - -
- - - - -
const rule_type boost::locale::boundary::word_mask = 0xFFFFF
-
-static
-
-

Full word mask - select all possible variants

- -
-
-
-
- - - - - - diff --git a/doc/html/group__boundary.js b/doc/html/group__boundary.js deleted file mode 100644 index 4200724b..00000000 --- a/doc/html/group__boundary.js +++ /dev/null @@ -1,206 +0,0 @@ -var group__boundary = -[ - [ "boundary_point", "classboost_1_1locale_1_1boundary_1_1boundary__point.html", [ - [ "iterator_type", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#af3c3a74a9a79690ff44f38d267b3b694", null ], - [ "boundary_point", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#aabbbee60c2c97ffd95210206a86c9298", null ], - [ "boundary_point", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a653a1c0d7480006ff647a656c74521df", null ], - [ "iterator", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a5ea18137618a1a84ff0b75c3b166c495", null ], - [ "iterator", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#af279d5382e1b28c2ce82035c1929ea66", null ], - [ "operator iterator_type", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#aa2dc88b4d02151aea939a01b7fc88730", null ], - [ "operator!=", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a4347b22dd7edb8af49d1316a6f86d0c2", null ], - [ "operator!=", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a4cd03f39d75bb054be9a0ae23189fa7a", null ], - [ "operator==", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a058ffbcbd43fc41a40a4a1cf5be987f2", null ], - [ "operator==", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a87a96a1745184ff7495db87943aca424", null ], - [ "rule", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a757b28e11c66f9871d3f51fe93a51bdb", null ], - [ "rule", "classboost_1_1locale_1_1boundary_1_1boundary__point.html#a75e2f04f0f7c1065470f722d1f2e004b", null ] - ] ], - [ "break_info", "structboost_1_1locale_1_1boundary_1_1break__info.html", [ - [ "break_info", "structboost_1_1locale_1_1boundary_1_1break__info.html#a2ad400451f8cf8ca04924a26cb694043", null ], - [ "break_info", "structboost_1_1locale_1_1boundary_1_1break__info.html#ab2012ba50dc8730bf7e2b448fff8be33", null ], - [ "operator<", "structboost_1_1locale_1_1boundary_1_1break__info.html#a6ef38e6f115ed9121e4d8f6189f6c4e2", null ], - [ "offset", "structboost_1_1locale_1_1boundary_1_1break__info.html#a47cdf1764bf8e294ea8a1079501a8c44", null ], - [ "rule", "structboost_1_1locale_1_1boundary_1_1break__info.html#a1a9b497daacb471f297682101696f4eb", null ] - ] ], - [ "boundary_indexing", "classboost_1_1locale_1_1boundary_1_1boundary__indexing.html", [ - [ "boundary_indexing", "classboost_1_1locale_1_1boundary_1_1boundary__indexing.html#a0e4c06efec1f1fca78bec34988aec881", null ], - [ "map", "classboost_1_1locale_1_1boundary_1_1boundary__indexing.html#ac971f4219181ee587844d2c74cca7ef4", null ], - [ "id", "classboost_1_1locale_1_1boundary_1_1boundary__indexing.html#aa7050fa0d55227034c80f811bc9ca97c", null ] - ] ], - [ "segment_index", "classboost_1_1locale_1_1boundary_1_1segment__index.html", [ - [ "base_iterator", "group__boundary.html#ga06f2faacb9d196ebc659ad5382ea2ca5", null ], - [ "const_iterator", "group__boundary.html#ga5f8e61b5babc3f0fa95f5fb8acae3724", null ], - [ "iterator", "group__boundary.html#gaf7a775e77dbbca3495e11d646df96fd2", null ], - [ "value_type", "group__boundary.html#ga067c663d18faee08adb3355701ae72ba", null ], - [ "segment_index", "group__boundary.html#ga2c354f4cc03677b58c97038cd84dc465", null ], - [ "segment_index", "group__boundary.html#ga06ddc335e95479ec51e9b16d0f829bb3", null ], - [ "segment_index", "group__boundary.html#ga46a5f584d5a1a43ad4bc0fff07183fcc", null ], - [ "segment_index", "group__boundary.html#ga8187f58177fc89ef2f8f818a37111363", null ], - [ "begin", "group__boundary.html#gaf74ff9c86c177efa8f74856277d659af", null ], - [ "end", "group__boundary.html#ga8757062d2446b35675b585651c5fea9f", null ], - [ "find", "group__boundary.html#ga2480236106971797460187777f2a4411", null ], - [ "full_select", "group__boundary.html#gace7faa10d536c85df0f2d5cac85f2bbc", null ], - [ "full_select", "group__boundary.html#ga205fd51daa439a18527675e663a0802f", null ], - [ "map", "group__boundary.html#gafa2a756b10d3522743204b45b794bb3e", null ], - [ "operator=", "group__boundary.html#gae7941dc874ca05d2ef2a03f781c5b78a", null ], - [ "rule", "group__boundary.html#ga72b4ceb5bacec0eded2601c43a4d671a", null ], - [ "rule", "group__boundary.html#gad19735180401edb15acbdbbeb21e5a73", null ], - [ "boundary_point_index< base_iterator >", "group__boundary.html#ga960209e8a9453221641eda6bd8c4989b", null ] - ] ], - [ "boundary_point_index", "classboost_1_1locale_1_1boundary_1_1boundary__point__index.html", [ - [ "base_iterator", "group__boundary.html#gab3189e2eaf4386cdf37598e0ba16cfd5", null ], - [ "const_iterator", "group__boundary.html#gac9ce9158eb2fb030c1baf93376203d16", null ], - [ "iterator", "group__boundary.html#ga1af6e72b3c384edcebc0cf319fe97efe", null ], - [ "value_type", "group__boundary.html#ga7f7328a860cf485a4bd8f17658c291e1", null ], - [ "boundary_point_index", "group__boundary.html#gaba6993dd50ad8cf2db8921e5cf668a69", null ], - [ "boundary_point_index", "group__boundary.html#gacc189288792012cfdb21c07fddbadc4f", null ], - [ "boundary_point_index", "group__boundary.html#ga9b926379fa2fcc7f87dc067953049d69", null ], - [ "boundary_point_index", "group__boundary.html#gac48665ff53789c6ee44a423963b6550d", null ], - [ "begin", "group__boundary.html#ga56f42a32f0378b6e157671f9e17bd66f", null ], - [ "end", "group__boundary.html#gaf3d66d578e32a63b3f0ffbb59740667b", null ], - [ "find", "group__boundary.html#ga0bb71a287afca990e85b17246568492d", null ], - [ "map", "group__boundary.html#ga6b4b5d5cf80b55302a88e7b36c812418", null ], - [ "operator=", "group__boundary.html#ga83d57b993b00686b2cac711667c6a931", null ], - [ "rule", "group__boundary.html#ga1d214029f1a780b7bf6e3f23a3004c03", null ], - [ "rule", "group__boundary.html#ga56e63913f51109e05a24a7136472a975", null ], - [ "segment_index< base_iterator >", "group__boundary.html#gaa8ba2e18ec3780af8f001ba85e40b9e2", null ] - ] ], - [ "segment", "classboost_1_1locale_1_1boundary_1_1segment.html", [ - [ "char_type", "classboost_1_1locale_1_1boundary_1_1segment.html#ad3785355ea817c087bf428315a332169", null ], - [ "const_iterator", "classboost_1_1locale_1_1boundary_1_1segment.html#aa24dcd83aefe4925bfc11b0285e2517a", null ], - [ "difference_type", "classboost_1_1locale_1_1boundary_1_1segment.html#a79ee4d48248ffbc23f84a33355ca3b62", null ], - [ "iterator", "classboost_1_1locale_1_1boundary_1_1segment.html#a31960fd7b416715d012b686bc1f2c205", null ], - [ "string_type", "classboost_1_1locale_1_1boundary_1_1segment.html#a795d3328ac4d1692294f172c8480da47", null ], - [ "value_type", "classboost_1_1locale_1_1boundary_1_1segment.html#ab7ba55015262b4fb85bb531882a32ead", null ], - [ "segment", "classboost_1_1locale_1_1boundary_1_1segment.html#a4e785bc97dba9e8e25f18b43957723e5", null ], - [ "segment", "classboost_1_1locale_1_1boundary_1_1segment.html#aea72505bb4940b21bb00a3660fefb7b7", null ], - [ "begin", "classboost_1_1locale_1_1boundary_1_1segment.html#a5428ff79bc05b78989f56519b58a6d9c", null ], - [ "begin", "classboost_1_1locale_1_1boundary_1_1segment.html#a445da30d993880a1bd6d998e78755a44", null ], - [ "empty", "classboost_1_1locale_1_1boundary_1_1segment.html#a84022afa120893d0716fc446816eb83f", null ], - [ "end", "classboost_1_1locale_1_1boundary_1_1segment.html#aaedd7bb4760bae3dcdb165b330806261", null ], - [ "end", "classboost_1_1locale_1_1boundary_1_1segment.html#a7e36b7f1c88ad1f5756ba6e501454bc4", null ], - [ "length", "classboost_1_1locale_1_1boundary_1_1segment.html#a45edfde079b2afe36c55043c7a00b438", null ], - [ "operator std::basic_string< char_type, T, A >", "classboost_1_1locale_1_1boundary_1_1segment.html#a5230094b346bd26dc83529b47ca97153", null ], - [ "operator!=", "classboost_1_1locale_1_1boundary_1_1segment.html#a2e38c575af16843a3aa140a4332646a3", null ], - [ "operator==", "classboost_1_1locale_1_1boundary_1_1segment.html#a9a30e70d41591b25c8c77961bff00057", null ], - [ "rule", "classboost_1_1locale_1_1boundary_1_1segment.html#a5b36a522d7013306617dbcccc9919343", null ], - [ "rule", "classboost_1_1locale_1_1boundary_1_1segment.html#a962c26b7e2024767ad25f2be080fd53a", null ], - [ "str", "classboost_1_1locale_1_1boundary_1_1segment.html#ac139eae8c07ed82ba8343fedfa76c2bf", null ] - ] ], - [ "base_iterator", "group__boundary.html#ga06f2faacb9d196ebc659ad5382ea2ca5", null ], - [ "base_iterator", "group__boundary.html#gab3189e2eaf4386cdf37598e0ba16cfd5", null ], - [ "cboundary_point_index", "group__boundary.html#ga31f0617de9388783205020a8679b40af", null ], - [ "const_iterator", "group__boundary.html#ga5f8e61b5babc3f0fa95f5fb8acae3724", null ], - [ "const_iterator", "group__boundary.html#gac9ce9158eb2fb030c1baf93376203d16", null ], - [ "csegment", "group__boundary.html#ga7a89ba0de6cad23a0f1b0b90ca5296f0", null ], - [ "csegment_index", "group__boundary.html#ga82c153957bff0be844a5ce4490d4e7f8", null ], - [ "index_type", "group__boundary.html#ga7b4dd7af8fad53fabd77e629da24d466", null ], - [ "iterator", "group__boundary.html#gaf7a775e77dbbca3495e11d646df96fd2", null ], - [ "iterator", "group__boundary.html#ga1af6e72b3c384edcebc0cf319fe97efe", null ], - [ "rule_type", "group__boundary.html#ga25e193c81052ef1795f1b53b46bc2095", null ], - [ "sboundary_point_index", "group__boundary.html#ga485e82cdd9debd15dc4fd6f57be10727", null ], - [ "ssegment", "group__boundary.html#gaac5031c17bd3f7ddc5138546af121064", null ], - [ "ssegment_index", "group__boundary.html#gad4785439a3f03ee455c93830b8f1366c", null ], - [ "u16cboundary_point_index", "group__boundary.html#ga1a89414f77d0b11b7fa8c3a5fa896266", null ], - [ "u16csegment", "group__boundary.html#ga5ff9e98f81ad61dbcd480fc61780fee1", null ], - [ "u16csegment_index", "group__boundary.html#gaa20a99d93e3202680bb0660481e1d414", null ], - [ "u16sboundary_point_index", "group__boundary.html#gaba43501d4ed1922c9446db3bf14a918f", null ], - [ "u16ssegment", "group__boundary.html#ga5084d9529f752361d18c2196f38df3c0", null ], - [ "u16ssegment_index", "group__boundary.html#ga6fff9ef7a0971ed3c686f3e8d5c56bf4", null ], - [ "u32cboundary_point_index", "group__boundary.html#ga1d16a23d328240464f9068cf58fb38d7", null ], - [ "u32csegment", "group__boundary.html#gaf2077b28c5de700fb5bff9688fe410d6", null ], - [ "u32csegment_index", "group__boundary.html#gaacc781106af79ec27693fa8012d54cb9", null ], - [ "u32sboundary_point_index", "group__boundary.html#ga1379f8968dd611be0b59d04218a1aae8", null ], - [ "u32ssegment", "group__boundary.html#gaffcc722694a39291a9ea7f68a95e1e27", null ], - [ "u32ssegment_index", "group__boundary.html#ga3a7b82f5a7e29bd079dd48ca13b79f20", null ], - [ "value_type", "group__boundary.html#ga067c663d18faee08adb3355701ae72ba", null ], - [ "value_type", "group__boundary.html#ga7f7328a860cf485a4bd8f17658c291e1", null ], - [ "wcboundary_point_index", "group__boundary.html#gabcb5bcc788909afeb8c68d857284cb59", null ], - [ "wcsegment", "group__boundary.html#gab9d26aae843dad891a3bfa736871e843", null ], - [ "wcsegment_index", "group__boundary.html#ga29ce0d14d0466a28c205b5dc9d0d6a36", null ], - [ "wsboundary_point_index", "group__boundary.html#gad539aad8c788c8e90cdf08aeed5df4a3", null ], - [ "wssegment", "group__boundary.html#gaca0e28d417ee314f3035c7561ed5134a", null ], - [ "wssegment_index", "group__boundary.html#ga579cfdfccf9c682ac4dae5fb65d4a843", null ], - [ "boundary_type", "group__boundary.html#ga15de9963ce9bb6037c8525901dfbf641", [ - [ "character", "group__boundary.html#gga15de9963ce9bb6037c8525901dfbf641ae80c964112541d88af9b875dafb6605d", null ], - [ "word", "group__boundary.html#gga15de9963ce9bb6037c8525901dfbf641a99aad8b8a5e25baa9f695abe5e574bb6", null ], - [ "sentence", "group__boundary.html#gga15de9963ce9bb6037c8525901dfbf641a88aa1509eace7589f5df87d4694871e9", null ], - [ "line", "group__boundary.html#gga15de9963ce9bb6037c8525901dfbf641a72895419fdd7219b3695cf0abd602ea4", null ] - ] ], - [ "begin", "group__boundary.html#gaf74ff9c86c177efa8f74856277d659af", null ], - [ "begin", "group__boundary.html#ga56f42a32f0378b6e157671f9e17bd66f", null ], - [ "boundary_point_index", "group__boundary.html#gaba6993dd50ad8cf2db8921e5cf668a69", null ], - [ "boundary_point_index", "group__boundary.html#gacc189288792012cfdb21c07fddbadc4f", null ], - [ "boundary_point_index", "group__boundary.html#ga9b926379fa2fcc7f87dc067953049d69", null ], - [ "boundary_point_index", "group__boundary.html#gac48665ff53789c6ee44a423963b6550d", null ], - [ "boundary_rule", "group__boundary.html#ga99daacb708289fe81def9f1ce4486515", null ], - [ "end", "group__boundary.html#ga8757062d2446b35675b585651c5fea9f", null ], - [ "end", "group__boundary.html#gaf3d66d578e32a63b3f0ffbb59740667b", null ], - [ "find", "group__boundary.html#ga2480236106971797460187777f2a4411", null ], - [ "find", "group__boundary.html#ga0bb71a287afca990e85b17246568492d", null ], - [ "full_select", "group__boundary.html#gace7faa10d536c85df0f2d5cac85f2bbc", null ], - [ "full_select", "group__boundary.html#ga205fd51daa439a18527675e663a0802f", null ], - [ "map", "group__boundary.html#gafa2a756b10d3522743204b45b794bb3e", null ], - [ "map", "group__boundary.html#ga6b4b5d5cf80b55302a88e7b36c812418", null ], - [ "operator!=", "group__boundary.html#gab92086846a31a6826c00a3df90027f0f", null ], - [ "operator!=", "group__boundary.html#gae4458cb23aa62b0f94396d3300e838f9", null ], - [ "operator!=", "group__boundary.html#gabb7b2978a45e993d6aa9922cbc381e8b", null ], - [ "operator!=", "group__boundary.html#gab36f95a4500a4c2a31b2ece4a0ae9cd1", null ], - [ "operator!=", "group__boundary.html#gab8256de904b797b2a57905d3a53f87d7", null ], - [ "operator!=", "group__boundary.html#gaf50154c65385afc65e206b5fa34fc4ac", null ], - [ "operator<", "group__boundary.html#ga01671fcf3519166189dff3664f68c870", null ], - [ "operator<", "group__boundary.html#gac57b915b6feed86f731424c5a5ed531c", null ], - [ "operator<", "group__boundary.html#gabf992487402ed47358bf790a6372059d", null ], - [ "operator<", "group__boundary.html#ga5d3bf0c32d4deefe23fa474960b0dea6", null ], - [ "operator<", "group__boundary.html#gad4be80936d6d852d8a07322ea46c49dd", null ], - [ "operator<<", "group__boundary.html#ga66d8f6c9b1c81c36a55aecebd4960b5d", null ], - [ "operator<=", "group__boundary.html#gaef3ac4dbd5172a67ec68e27fe6a7a008", null ], - [ "operator<=", "group__boundary.html#gaec0814b0634157834f1ecd949ea4f935", null ], - [ "operator<=", "group__boundary.html#gab800ff341ec09a99c803dd5fd56e5a81", null ], - [ "operator<=", "group__boundary.html#gad8fc1bd6bf20fe5337dd91dab7f9084c", null ], - [ "operator<=", "group__boundary.html#ga1f813e25280a6165cc270ced46bc8c58", null ], - [ "operator=", "group__boundary.html#gae7941dc874ca05d2ef2a03f781c5b78a", null ], - [ "operator=", "group__boundary.html#ga83d57b993b00686b2cac711667c6a931", null ], - [ "operator==", "group__boundary.html#ga47bc5ece5c461aa4c538354a9e80a707", null ], - [ "operator==", "group__boundary.html#ga5e70e909a5fb4d2cf87b485894c9b4db", null ], - [ "operator==", "group__boundary.html#ga22e4d38b1dd21bd663847fdbc09fca46", null ], - [ "operator==", "group__boundary.html#ga1e22ac8a99d4e743942c5d6e94270e27", null ], - [ "operator==", "group__boundary.html#ga04c0513778ff3cf9712dd03244a7ecb3", null ], - [ "operator==", "group__boundary.html#ga2aa32c6dabd5833c3f4806a7a40c0808", null ], - [ "operator>", "group__boundary.html#ga458e3170d3967ae25c4a40a3970701ba", null ], - [ "operator>", "group__boundary.html#gad19346448d1464f02f706a3d90932837", null ], - [ "operator>", "group__boundary.html#gaf32c4f420aae266e1d6d4b37e716cc30", null ], - [ "operator>", "group__boundary.html#gaa79f6bb9e721e55d071d7898a3010f8e", null ], - [ "operator>", "group__boundary.html#ga4b12a40f6e30c03e064973a66f8697b8", null ], - [ "operator>=", "group__boundary.html#ga4d9854493e000ea610108d4689d2f6f1", null ], - [ "operator>=", "group__boundary.html#ga48fc6bd37670c164d9fcdf918d20ab9f", null ], - [ "operator>=", "group__boundary.html#gadfbbd6c86914627ffdc08397023b020a", null ], - [ "operator>=", "group__boundary.html#ga4fb2d214673569bf63a5ef97847d8bc3", null ], - [ "operator>=", "group__boundary.html#gae867939516d7fd9cbca258414a0c8377", null ], - [ "rule", "group__boundary.html#ga72b4ceb5bacec0eded2601c43a4d671a", null ], - [ "rule", "group__boundary.html#gad19735180401edb15acbdbbeb21e5a73", null ], - [ "rule", "group__boundary.html#ga1d214029f1a780b7bf6e3f23a3004c03", null ], - [ "rule", "group__boundary.html#ga56e63913f51109e05a24a7136472a975", null ], - [ "segment_index", "group__boundary.html#ga2c354f4cc03677b58c97038cd84dc465", null ], - [ "segment_index", "group__boundary.html#ga06ddc335e95479ec51e9b16d0f829bb3", null ], - [ "segment_index", "group__boundary.html#ga46a5f584d5a1a43ad4bc0fff07183fcc", null ], - [ "segment_index", "group__boundary.html#ga8187f58177fc89ef2f8f818a37111363", null ], - [ "character_any", "group__boundary.html#ga9f9e97f7d234139cabe4c4df92a6d4b5", null ], - [ "character_mask", "group__boundary.html#gad151135cfe341d3c1f63bf459f6a1f4c", null ], - [ "line_any", "group__boundary.html#ga33fb765abbab27ee07cf70bfab8f47e0", null ], - [ "line_hard", "group__boundary.html#ga04faac8129ca14e4e5a789652ee8ecab", null ], - [ "line_mask", "group__boundary.html#gad5d8f2ac695f14b58d5df277aa5939f9", null ], - [ "line_soft", "group__boundary.html#gaa6a7b6ea3c63a1101a945b82eb10ebd0", null ], - [ "sentence_any", "group__boundary.html#gae2042518b20123ec14fbf71458ec9c79", null ], - [ "sentence_mask", "group__boundary.html#gacd2a521edb550e75c624000a1089934c", null ], - [ "sentence_sep", "group__boundary.html#gaf67883341dd3d8f786e7281d40790000", null ], - [ "sentence_term", "group__boundary.html#ga3befefe67f79691c117bf5588741355b", null ], - [ "word_any", "group__boundary.html#ga3ab98808dbb1cc4a346dcc2554c9d8dc", null ], - [ "word_ideo", "group__boundary.html#ga705ab96f9e62810c8ed977c90d404ef8", null ], - [ "word_kana", "group__boundary.html#ga52d8c63e1f3f8c898c645352206a78ef", null ], - [ "word_kana_ideo", "group__boundary.html#ga5de65589628267ab7f2a51f4147d43f9", null ], - [ "word_letter", "group__boundary.html#ga8b7e6ce2fcb185845fa85a1a4c42b3c4", null ], - [ "word_letters", "group__boundary.html#gae412d31a918dc793500fed7278663047", null ], - [ "word_mask", "group__boundary.html#gad11031065617b6be9d4662d2c06afd52", null ], - [ "word_none", "group__boundary.html#ga90cf4f01b95658f659685377226677e7", null ], - [ "word_number", "group__boundary.html#gaac78a3a6b9e671e253a2591cb56a479b", null ] -]; \ No newline at end of file diff --git a/doc/html/group__codepage.html b/doc/html/group__codepage.html deleted file mode 100644 index 524f50bf..00000000 --- a/doc/html/group__codepage.html +++ /dev/null @@ -1,862 +0,0 @@ - - - - - - -Boost.Locale: Character conversion functions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
- -
-
Character conversion functions
-
-
- - - - - - - - -

-Classes

class  boost::locale::conv::conversion_error
 The excepton that is thrown in case of conversion error. More...
 
class  boost::locale::conv::invalid_charset_error
 This exception is thrown in case of use of unsupported or invalid character set. More...
 
- - - -

-Enumerations

enum  boost::locale::conv::method_type { boost::locale::conv::skip = 0, -boost::locale::conv::stop = 1, -boost::locale::conv::default_method = skip - }
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename CharType >
std::basic_string< CharType > boost::locale::conv::to_utf (char const *begin, char const *end, std::string const &charset, method_type how=default_method)
 
template<typename CharType >
std::string boost::locale::conv::from_utf (CharType const *begin, CharType const *end, std::string const &charset, method_type how=default_method)
 
template<typename CharType >
std::basic_string< CharType > boost::locale::conv::to_utf (char const *begin, char const *end, std::locale const &loc, method_type how=default_method)
 
template<typename CharType >
std::string boost::locale::conv::from_utf (CharType const *begin, CharType const *end, std::locale const &loc, method_type how=default_method)
 
template<typename CharType >
std::basic_string< CharType > boost::locale::conv::to_utf (std::string const &text, std::string const &charset, method_type how=default_method)
 
template<typename CharType >
std::string boost::locale::conv::from_utf (std::basic_string< CharType > const &text, std::string const &charset, method_type how=default_method)
 
template<typename CharType >
std::basic_string< CharType > boost::locale::conv::to_utf (char const *text, std::string const &charset, method_type how=default_method)
 
template<typename CharType >
std::string boost::locale::conv::from_utf (CharType const *text, std::string const &charset, method_type how=default_method)
 
template<typename CharType >
std::basic_string< CharType > boost::locale::conv::to_utf (std::string const &text, std::locale const &loc, method_type how=default_method)
 
template<typename CharType >
std::string boost::locale::conv::from_utf (std::basic_string< CharType > const &text, std::locale const &loc, method_type how=default_method)
 
template<typename CharType >
std::basic_string< CharType > boost::locale::conv::to_utf (char const *text, std::locale const &loc, method_type how=default_method)
 
template<typename CharType >
std::string boost::locale::conv::from_utf (CharType const *text, std::locale const &loc, method_type how=default_method)
 
std::string boost::locale::conv::between (char const *begin, char const *end, std::string const &to_encoding, std::string const &from_encoding, method_type how=default_method)
 
std::string boost::locale::conv::between (char const *text, std::string const &to_encoding, std::string const &from_encoding, method_type how=default_method)
 
std::string boost::locale::conv::between (std::string const &text, std::string const &to_encoding, std::string const &from_encoding, method_type how=default_method)
 
template<typename CharOut , typename CharIn >
std::basic_string< CharOut > boost::locale::conv::utf_to_utf (CharIn const *begin, CharIn const *end, method_type how=default_method)
 
template<typename CharOut , typename CharIn >
std::basic_string< CharOut > boost::locale::conv::utf_to_utf (CharIn const *str, method_type how=default_method)
 
template<typename CharOut , typename CharIn >
std::basic_string< CharOut > boost::locale::conv::utf_to_utf (std::basic_string< CharIn > const &str, method_type how=default_method)
 
-

Detailed Description

-

Enumeration Type Documentation

- -
-
-

enum that defines conversion policy

- - - - -
Enumerator
skip  -

Skip illegal/unconvertable characters.

-
stop  -

Stop conversion and throw conversion_error.

-
default_method  -

Default method - skip.

-
- -
-
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::string boost::locale::conv::between (char const * begin,
char const * end,
std::string const & to_encoding,
std::string const & from_encoding,
method_type how = default_method 
)
-
-

Convert a text in range [begin,end) to to_encoding from from_encoding

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::string boost::locale::conv::between (char const * text,
std::string const & to_encoding,
std::string const & from_encoding,
method_type how = default_method 
)
-
-inline
-
-

Convert a text to to_encoding from from_encoding

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::string boost::locale::conv::between (std::string const & text,
std::string const & to_encoding,
std::string const & from_encoding,
method_type how = default_method 
)
-
-inline
-
-

Convert a text to to_encoding from from_encoding

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::string boost::locale::conv::from_utf (CharType const * begin,
CharType const * end,
std::string const & charset,
method_type how = default_method 
)
-
-

convert UTF text in range [begin,end) to a text encoded with charset according to policy how

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::string boost::locale::conv::from_utf (CharType const * begin,
CharType const * end,
std::locale const & loc,
method_type how = default_method 
)
-
-

convert UTF text in range [begin,end) to a text encoded according to locale loc according to policy how

-
Note
throws std::bad_cast if the loc does not have info facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::string boost::locale::conv::from_utf (std::basic_string< CharType > const & text,
std::string const & charset,
method_type how = default_method 
)
-
-

Convert a text from charset to UTF string

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::string boost::locale::conv::from_utf (CharType const * text,
std::string const & charset,
method_type how = default_method 
)
-
-

Convert a text from UTF to charset

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::string boost::locale::conv::from_utf (std::basic_string< CharType > const & text,
std::locale const & loc,
method_type how = default_method 
)
-
-

Convert a text in UTF to locale encoding given by loc

-
Note
throws std::bad_cast if the loc does not have info facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::string boost::locale::conv::from_utf (CharType const * text,
std::locale const & loc,
method_type how = default_method 
)
-
-

Convert a text in UTF to locale encoding given by loc

-
Note
throws std::bad_cast if the loc does not have info facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::conv::to_utf (char const * begin,
char const * end,
std::string const & charset,
method_type how = default_method 
)
-
-

convert string to UTF string from text in range [begin,end) encoded with charset according to policy how

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::conv::to_utf (char const * begin,
char const * end,
std::locale const & loc,
method_type how = default_method 
)
-
-

convert string to UTF string from text in range [begin,end) encoded according to locale loc according to policy how

-
Note
throws std::bad_cast if the loc does not have info facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::conv::to_utf (std::string const & text,
std::string const & charset,
method_type how = default_method 
)
-
-

convert a string text encoded with charset to UTF string

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::conv::to_utf (char const * text,
std::string const & charset,
method_type how = default_method 
)
-
-

Convert a text from charset to UTF string

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::conv::to_utf (std::string const & text,
std::locale const & loc,
method_type how = default_method 
)
-
-

Convert a text in locale encoding given by loc to UTF

-
Note
throws std::bad_cast if the loc does not have info facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::conv::to_utf (char const * text,
std::locale const & loc,
method_type how = default_method 
)
-
-

Convert a text in locale encoding given by loc to UTF

-
Note
throws std::bad_cast if the loc does not have info facet installed
- -
-
- -
-
-
-template<typename CharOut , typename CharIn >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharOut> boost::locale::conv::utf_to_utf (CharIn const * begin,
CharIn const * end,
method_type how = default_method 
)
-
-

Convert a Unicode text in range [begin,end) to other Unicode encoding

- -
-
- -
-
-
-template<typename CharOut , typename CharIn >
- - - - - - - - - - - - - - - - - - -
std::basic_string<CharOut> boost::locale::conv::utf_to_utf (CharIn const * str,
method_type how = default_method 
)
-
-

Convert a Unicode NUL terminated string str other Unicode encoding

- -
-
- -
-
-
-template<typename CharOut , typename CharIn >
- - - - - - - - - - - - - - - - - - -
std::basic_string<CharOut> boost::locale::conv::utf_to_utf (std::basic_string< CharIn > const & str,
method_type how = default_method 
)
-
-

Convert a Unicode string str other Unicode encoding

- -
-
-
-
- - - - - - diff --git a/doc/html/group__codepage.js b/doc/html/group__codepage.js deleted file mode 100644 index 0b29c017..00000000 --- a/doc/html/group__codepage.js +++ /dev/null @@ -1,32 +0,0 @@ -var group__codepage = -[ - [ "conversion_error", "classboost_1_1locale_1_1conv_1_1conversion__error.html", [ - [ "conversion_error", "classboost_1_1locale_1_1conv_1_1conversion__error.html#aba6b713c35f3538d9e130d3c6cd32d49", null ] - ] ], - [ "invalid_charset_error", "classboost_1_1locale_1_1conv_1_1invalid__charset__error.html", [ - [ "invalid_charset_error", "classboost_1_1locale_1_1conv_1_1invalid__charset__error.html#ae951e3a99a115a60cc87d4d258764681", null ] - ] ], - [ "method_type", "group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84", [ - [ "skip", "group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84ae9b554a2955deddf714757788819edf9", null ], - [ "stop", "group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84aab08f9ee241c405ef40bd3cedb43b383", null ], - [ "default_method", "group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559", null ] - ] ], - [ "between", "group__codepage.html#ga7eda9058b8cbac9b05886bcc894faeff", null ], - [ "between", "group__codepage.html#ga612607a8616add30cf21ceb086e664d5", null ], - [ "between", "group__codepage.html#gad7f6c33cf95749ab48174ccafddf7b62", null ], - [ "from_utf", "group__codepage.html#gaef8fb7771dce60511d081770547a4139", null ], - [ "from_utf", "group__codepage.html#ga0eee2960f0d6d15491c5b95dd3054d9a", null ], - [ "from_utf", "group__codepage.html#ga17c2c9d8659281848db73822fcc38092", null ], - [ "from_utf", "group__codepage.html#gab784637ee28adb9538b8002dadf0b273", null ], - [ "from_utf", "group__codepage.html#ga85cc81b352a88e12191926b95eb39aeb", null ], - [ "from_utf", "group__codepage.html#ga2a41ad85803d97f7e1906d5c0561eefa", null ], - [ "to_utf", "group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1", null ], - [ "to_utf", "group__codepage.html#ga5ae3d72f015dc847ddfd688a0a40ff66", null ], - [ "to_utf", "group__codepage.html#ga25227e4e43f6c695dac13844a94741ea", null ], - [ "to_utf", "group__codepage.html#ga2be733c3e2028aa43e4b35100bdb1322", null ], - [ "to_utf", "group__codepage.html#ga4c22a2bcb97338274752f95e2d265442", null ], - [ "to_utf", "group__codepage.html#gac298fcddef144915332f031f4565feb0", null ], - [ "utf_to_utf", "group__codepage.html#gaf0ad39959911b000706e0538ec059d44", null ], - [ "utf_to_utf", "group__codepage.html#gaa4de44e37cbe5ec4a4b79e1d9bbaf4a7", null ], - [ "utf_to_utf", "group__codepage.html#ga1951228e7f528a20e40258d73cf17f5c", null ] -]; \ No newline at end of file diff --git a/doc/html/group__collation.html b/doc/html/group__collation.html deleted file mode 100644 index 359b7399..00000000 --- a/doc/html/group__collation.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - -Boost.Locale: Collation - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
- -
-
Collation
-
-
- - - - - - - - - - - -

-Classes

class  boost::locale::collator_base
 a base class that includes collation level flags More...
 
class  boost::locale::collator< CharType >
 Collation facet. More...
 
struct  boost::locale::comparator< CharType, default_level >
 This class can be used in STL algorithms and containers for comparison of strings with a level other than primary. More...
 
-

Detailed Description

-

This module introduces collation related classes

-
-
- - - - - - diff --git a/doc/html/group__collation.js b/doc/html/group__collation.js deleted file mode 100644 index d2251248..00000000 --- a/doc/html/group__collation.js +++ /dev/null @@ -1,34 +0,0 @@ -var group__collation = -[ - [ "collator_base", "classboost_1_1locale_1_1collator__base.html", [ - [ "level_type", "classboost_1_1locale_1_1collator__base.html#a73c12de809733273304fef7f0af28b22", [ - [ "primary", "classboost_1_1locale_1_1collator__base.html#a73c12de809733273304fef7f0af28b22ae57e842f398a27ee490208f5af39675b", null ], - [ "secondary", "classboost_1_1locale_1_1collator__base.html#a73c12de809733273304fef7f0af28b22ad8e103443d69f03f00ac4b68a7181866", null ], - [ "tertiary", "classboost_1_1locale_1_1collator__base.html#a73c12de809733273304fef7f0af28b22a3a852752e9663b7b3340c435d0cfe36a", null ], - [ "quaternary", "classboost_1_1locale_1_1collator__base.html#a73c12de809733273304fef7f0af28b22a22ca1875fd63667fbb018df16b0aedba", null ], - [ "identical", "classboost_1_1locale_1_1collator__base.html#a73c12de809733273304fef7f0af28b22a3c209055ff840e311581ab43013026f2", null ] - ] ] - ] ], - [ "collator", "classboost_1_1locale_1_1collator.html", [ - [ "char_type", "classboost_1_1locale_1_1collator.html#a2b74a0b9a613a4a4337632bf34644c6f", null ], - [ "string_type", "classboost_1_1locale_1_1collator.html#a106a3fe9e068530013c428661758733d", null ], - [ "collator", "classboost_1_1locale_1_1collator.html#a25a8b21a756756e850a7488a54610053", null ], - [ "~collator", "classboost_1_1locale_1_1collator.html#a290227d0745b79033f6ec24b5b989527", null ], - [ "compare", "classboost_1_1locale_1_1collator.html#ab90dc7bb909a71d3cd9a5e8d7b2eb80e", null ], - [ "compare", "classboost_1_1locale_1_1collator.html#a9ccdfec693cdc5a71b5adc1f083881bf", null ], - [ "do_compare", "classboost_1_1locale_1_1collator.html#ada3a683bed35789e081b710a8e9a9a07", null ], - [ "do_compare", "classboost_1_1locale_1_1collator.html#a5d04cf6c4ab84cf3eac20be402ac6bf9", null ], - [ "do_hash", "classboost_1_1locale_1_1collator.html#aa093cd4ed0b4be4a5e38f0f04a56ac0b", null ], - [ "do_hash", "classboost_1_1locale_1_1collator.html#a7748d5a6ef0d4dd149096b080938d4c4", null ], - [ "do_transform", "classboost_1_1locale_1_1collator.html#a84b5cb6ff01cf1a1330e1556a2c674d5", null ], - [ "do_transform", "classboost_1_1locale_1_1collator.html#a0ee27b7bc751b7a7fda4de1b0d896d57", null ], - [ "hash", "classboost_1_1locale_1_1collator.html#a89752e2023643f972b6cc8024340d5d4", null ], - [ "hash", "classboost_1_1locale_1_1collator.html#a76000f6cf10bfe63dd7fd10652de3f5b", null ], - [ "transform", "classboost_1_1locale_1_1collator.html#a8dc6443fb193616332ca50f207a9b189", null ], - [ "transform", "classboost_1_1locale_1_1collator.html#aa9976b4fa0fba6c5d1a1dea9b5ef02ca", null ] - ] ], - [ "comparator", "structboost_1_1locale_1_1comparator.html", [ - [ "comparator", "structboost_1_1locale_1_1comparator.html#af40ee48c6c93b6e5d91492a3e0cb96a8", null ], - [ "operator()", "structboost_1_1locale_1_1comparator.html#abd62dbc2af0eb6e6c261a7c88e09f752", null ] - ] ] -]; \ No newline at end of file diff --git a/doc/html/group__convert.html b/doc/html/group__convert.html deleted file mode 100644 index bff17e5d..00000000 --- a/doc/html/group__convert.html +++ /dev/null @@ -1,691 +0,0 @@ - - - - - - -Boost.Locale: Text Conversions - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
- -
-
Text Conversions
-
-
- - - - - - - - -

-Classes

class  boost::locale::converter_base
 This class provides base flags for text manipulation. It is used as base for converter facet. More...
 
class  boost::locale::converter< CharType >
 The facet that implements text manipulation. More...
 
- - - -

-Enumerations

enum  boost::locale::norm_type {
-  boost::locale::norm_nfd, -boost::locale::norm_nfc, -boost::locale::norm_nfkd, -boost::locale::norm_nfkc, -
-  boost::locale::norm_default = norm_nfc -
- }
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename CharType >
std::basic_string< CharType > boost::locale::normalize (std::basic_string< CharType > const &str, norm_type n=norm_default, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::normalize (CharType const *str, norm_type n=norm_default, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::normalize (CharType const *begin, CharType const *end, norm_type n=norm_default, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::to_upper (std::basic_string< CharType > const &str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::to_upper (CharType const *str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::to_upper (CharType const *begin, CharType const *end, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::to_lower (std::basic_string< CharType > const &str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::to_lower (CharType const *str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::to_lower (CharType const *begin, CharType const *end, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::to_title (std::basic_string< CharType > const &str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::to_title (CharType const *str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::to_title (CharType const *begin, CharType const *end, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::fold_case (std::basic_string< CharType > const &str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::fold_case (CharType const *str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::fold_case (CharType const *begin, CharType const *end, std::locale const &loc=std::locale())
 
-

Detailed Description

-

This module provides various function for string manipulation like Unicode normalization, case conversion etc.

-

Enumeration Type Documentation

- -
-
- - - - -
enum boost::locale::norm_type
-
-

The type that defined normalization form

- - - - - - -
Enumerator
norm_nfd  -

Canonical decomposition.

-
norm_nfc  -

Canonical decomposition followed by canonical composition.

-
norm_nfkd  -

Compatibility decomposition.

-
norm_nfkc  -

Compatibility decomposition followed by canonical composition.

-
norm_default  -

Default normalization - canonical decomposition followed by canonical composition.

-
- -
-
-

Function Documentation

- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::fold_case (std::basic_string< CharType > const & str,
std::locale const & loc = std::locale() 
)
-
-

Fold case of a string str according to locale loc

-
Note
throws std::bad_cast if loc does not have converter facet installed
-
Examples:
hello.cpp, and whello.cpp.
-
-
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::fold_case (CharType const * str,
std::locale const & loc = std::locale() 
)
-
-

Fold case of a NUL terminated string str according to locale loc

-
Note
throws std::bad_cast if loc does not have converter facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::fold_case (CharType const * begin,
CharType const * end,
std::locale const & loc = std::locale() 
)
-
-

Fold case of a string in range [begin,end) according to locale loc

-
Note
throws std::bad_cast if loc does not have converter facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::normalize (std::basic_string< CharType > const & str,
norm_type n = norm_default,
std::locale const & loc = std::locale() 
)
-
-

Normalize Unicode string str according to normalization form n

-

Note: This function receives only Unicode strings, i.e.: UTF-8, UTF-16 or UTF-32. It does not take in account the locale encoding, because Unicode decomposition and composition are meaningless outside of a Unicode character set.

-
Note
throws std::bad_cast if loc does not have converter facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::normalize (CharType const * str,
norm_type n = norm_default,
std::locale const & loc = std::locale() 
)
-
-

Normalize NUL terminated Unicode string str according to normalization form n

-

Note: This function receives only Unicode strings, i.e.: UTF-8, UTF-16 or UTF-32. It does not take in account the locale encoding, because Unicode decomposition and composition are meaningless outside of a Unicode character set.

-
Note
throws std::bad_cast if loc does not have converter facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::normalize (CharType const * begin,
CharType const * end,
norm_type n = norm_default,
std::locale const & loc = std::locale() 
)
-
-

Normalize Unicode string in range [begin,end) according to normalization form n

-

Note: This function receives only Unicode strings, i.e.: UTF-8, UTF-16 or UTF-32. It does not take in account the locale encoding, because Unicode decomposition and composition are meaningless outside of a Unicode character set.

-
Note
throws std::bad_cast if loc does not have converter facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::to_lower (std::basic_string< CharType > const & str,
std::locale const & loc = std::locale() 
)
-
-

Convert a string str to lower case according to locale loc

-
Note
throws std::bad_cast if loc does not have converter facet installed
-
Examples:
conversions.cpp, hello.cpp, wconversions.cpp, and whello.cpp.
-
-
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::to_lower (CharType const * str,
std::locale const & loc = std::locale() 
)
-
-

Convert a NUL terminated string str to lower case according to locale loc

-
Note
throws std::bad_cast if loc does not have converter facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::to_lower (CharType const * begin,
CharType const * end,
std::locale const & loc = std::locale() 
)
-
-

Convert a string in range [begin,end) to lower case according to locale loc

-
Note
throws std::bad_cast if loc does not have converter facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::to_title (std::basic_string< CharType > const & str,
std::locale const & loc = std::locale() 
)
-
-

Convert a string str to title case according to locale loc

-
Note
throws std::bad_cast if loc does not have converter facet installed
-
Examples:
hello.cpp, and whello.cpp.
-
-
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::to_title (CharType const * str,
std::locale const & loc = std::locale() 
)
-
-

Convert a NUL terminated string str to title case according to locale loc

-
Note
throws std::bad_cast if loc does not have converter facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::to_title (CharType const * begin,
CharType const * end,
std::locale const & loc = std::locale() 
)
-
-

Convert a string in range [begin,end) to title case according to locale loc

-
Note
throws std::bad_cast if loc does not have converter facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::to_upper (std::basic_string< CharType > const & str,
std::locale const & loc = std::locale() 
)
-
-

Convert a string str to upper case according to locale loc

-
Note
throws std::bad_cast if loc does not have converter facet installed
-
Examples:
conversions.cpp, hello.cpp, wconversions.cpp, and whello.cpp.
-
-
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::to_upper (CharType const * str,
std::locale const & loc = std::locale() 
)
-
-

Convert a NUL terminated string str to upper case according to locale loc

-
Note
throws std::bad_cast if loc does not have converter facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::to_upper (CharType const * begin,
CharType const * end,
std::locale const & loc = std::locale() 
)
-
-

Convert a string in range [begin,end) to upper case according to locale loc

-
Note
throws std::bad_cast if loc does not have converter facet installed
- -
-
-
-
- - - - - - diff --git a/doc/html/group__convert.js b/doc/html/group__convert.js deleted file mode 100644 index b0e1dca9..00000000 --- a/doc/html/group__convert.js +++ /dev/null @@ -1,39 +0,0 @@ -var group__convert = -[ - [ "converter_base", "classboost_1_1locale_1_1converter__base.html", [ - [ "conversion_type", "classboost_1_1locale_1_1converter__base.html#a726bc2bbcbb6f1e550cca14163fb669b", [ - [ "normalization", "classboost_1_1locale_1_1converter__base.html#a726bc2bbcbb6f1e550cca14163fb669bae20bf7eface68062a0b9f2396833354a", null ], - [ "upper_case", "classboost_1_1locale_1_1converter__base.html#a726bc2bbcbb6f1e550cca14163fb669ba0fee54e09732910ab30856d0e34c8ad2", null ], - [ "lower_case", "classboost_1_1locale_1_1converter__base.html#a726bc2bbcbb6f1e550cca14163fb669ba2c5c38c6bc6ca01fb9e573c148ba8ebe", null ], - [ "case_folding", "classboost_1_1locale_1_1converter__base.html#a726bc2bbcbb6f1e550cca14163fb669ba91936aed5b7c3a82b4d2c2354ead03d3", null ], - [ "title_case", "classboost_1_1locale_1_1converter__base.html#a726bc2bbcbb6f1e550cca14163fb669bac136b257286085de7bd7eb4a7876dfa7", null ] - ] ] - ] ], - [ "converter", "classboost_1_1locale_1_1converter.html", [ - [ "converter", "classboost_1_1locale_1_1converter.html#aa9bd91f48f4ce7b6c270c5281c8b0313", null ], - [ "convert", "classboost_1_1locale_1_1converter.html#a85ce9bf935c59b2fdd196ed40a6a5f85", null ], - [ "id", "classboost_1_1locale_1_1converter.html#ae18f930e621fbe9848d08a91138f37e1", null ] - ] ], - [ "norm_type", "group__convert.html#ga6a595a415b83b8a0c8f14c34eb66cc9f", [ - [ "norm_nfd", "group__convert.html#gga6a595a415b83b8a0c8f14c34eb66cc9fa6648d0eabb931f2e9d258570b297e98f", null ], - [ "norm_nfc", "group__convert.html#gga6a595a415b83b8a0c8f14c34eb66cc9faf6fe7be275e5e13df415ab258105ada0", null ], - [ "norm_nfkd", "group__convert.html#gga6a595a415b83b8a0c8f14c34eb66cc9fa0fbc2ac042fc6f58af5818bfd06d5379", null ], - [ "norm_nfkc", "group__convert.html#gga6a595a415b83b8a0c8f14c34eb66cc9fa0305c1f3405ea70facf4c6a5ffa40583", null ], - [ "norm_default", "group__convert.html#gga6a595a415b83b8a0c8f14c34eb66cc9faa29173d73d9be7fefcbb18c8712465d2", null ] - ] ], - [ "fold_case", "group__convert.html#gadf59d16355babd955766deef89d470ea", null ], - [ "fold_case", "group__convert.html#ga297f148881cbfce1edd747a22e451ee6", null ], - [ "fold_case", "group__convert.html#gabcb2a619f203306eee30b03061a5cbee", null ], - [ "normalize", "group__convert.html#ga867733c9d4455aaa13a42cf67367d575", null ], - [ "normalize", "group__convert.html#gaa2e01f28fa12ea71a6318f8277f2745e", null ], - [ "normalize", "group__convert.html#ga03ee131e44c37c2191d15683cc281e5f", null ], - [ "to_lower", "group__convert.html#ga4a3eb15f42f5cbae7bdd00c9e9cac222", null ], - [ "to_lower", "group__convert.html#gaa7854d1e3ce4c854f4e1fa18703ffed2", null ], - [ "to_lower", "group__convert.html#ga4763a6d37777254390658d1e050262a5", null ], - [ "to_title", "group__convert.html#ga684efb375e060c71cd3e1799a6329f7f", null ], - [ "to_title", "group__convert.html#ga16e9258de2d6009546fb0fb07afd67b7", null ], - [ "to_title", "group__convert.html#gab2ff15b36c6f177737c7ae737eb70794", null ], - [ "to_upper", "group__convert.html#ga2ceae621801e8cf4f77c60d1e3047ae8", null ], - [ "to_upper", "group__convert.html#ga2197dbd88d8b42a5e6b2b76fb67ed07d", null ], - [ "to_upper", "group__convert.html#ga55257608f61f0bde86f7306b477c993a", null ] -]; \ No newline at end of file diff --git a/doc/html/group__date__time.html b/doc/html/group__date__time.html deleted file mode 100644 index 719d2756..00000000 --- a/doc/html/group__date__time.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - -Boost.Locale: Date, Time, Timezone and Calendar manipulations - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
- -
-
Date, Time, Timezone and Calendar manipulations
-
-
- - - - - - - - -

-Namespaces

 boost::locale::period
 Namespace that contains various types for manipulation with dates.
 
 boost::locale::time_zone
 namespace that holds functions for operating with global time zone
 
- - - - - - - - - - - - - - - - - - - -

-Classes

class  boost::locale::date_time_error
 This error is thrown in case of invalid state that occurred. More...
 
struct  boost::locale::date_time_period
 This class represents a pair of period_type and the integer values that describes its amount. For example 3 days or 4 years. More...
 
class  boost::locale::date_time_period_set
 this class that represents a set of periods, More...
 
class  boost::locale::calendar
 this class provides an access to general calendar information. More...
 
class  boost::locale::date_time
 this class represents a date time and allows to perform various operation according to the locale settings. More...
 
class  boost::locale::date_time_duration
 This class represents a period: a pair of two date_time objects. More...
 
- - - - - - - - - - - - - -

-Functions

date_time_period_set boost::locale::operator+ (date_time_period_set const &a, date_time_period_set const &b)
 
date_time_period_set boost::locale::operator- (date_time_period_set const &a, date_time_period_set const &b)
 
template<typename CharType >
std::basic_ostream< CharType > & boost::locale::operator<< (std::basic_ostream< CharType > &out, date_time const &t)
 
template<typename CharType >
std::basic_istream< CharType > & boost::locale::operator>> (std::basic_istream< CharType > &in, date_time &t)
 
date_time_duration boost::locale::operator- (date_time const &later, date_time const &earlier)
 
-

Detailed Description

-

This module provides various calendar, timezone and date time services

-

Function Documentation

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
date_time_period_set boost::locale::operator+ (date_time_period_set const & a,
date_time_period_set const & b 
)
-
-inline
-
-

Append two periods sets. Note this operator is not commutative

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
date_time_period_set boost::locale::operator- (date_time_period_set const & a,
date_time_period_set const & b 
)
-
-inline
-
-

Append two period sets when all periods of set change their sign

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
date_time_duration boost::locale::operator- (date_time const & later,
date_time const & earlier 
)
-
-inline
-
-

Calculates the difference between two dates, the left operand is a later point on time line. Returns date_time_duration object.

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_ostream<CharType>& boost::locale::operator<< (std::basic_ostream< CharType > & out,
date_time const & t 
)
-
-

Writes date_time t to output stream out.

-

This function uses locale, calendar and time zone of the target stream in.

-

For example:

-
date_time now(time(0),hebrew_calendar)
-
cout << "Year: " << period::year(now) <<" Full Date:"<< now;
-

The output may be Year:5770 Full Date:Jan 1, 2010

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_istream<CharType>& boost::locale::operator>> (std::basic_istream< CharType > & in,
date_time & t 
)
-
-

Reads date_time t from output stream in

-

This function uses locale, calendar and time zone of the source stream in.

- -
-
-
-
- - - - - - diff --git a/doc/html/group__date__time.js b/doc/html/group__date__time.js deleted file mode 100644 index a8f069a6..00000000 --- a/doc/html/group__date__time.js +++ /dev/null @@ -1,109 +0,0 @@ -var group__date__time = -[ - [ "period", "namespaceboost_1_1locale_1_1period.html", null ], - [ "time_zone", "namespaceboost_1_1locale_1_1time__zone.html", null ], - [ "date_time_error", "classboost_1_1locale_1_1date__time__error.html", [ - [ "date_time_error", "classboost_1_1locale_1_1date__time__error.html#abbd57421fc4617b23ecb33c398152dc8", null ] - ] ], - [ "date_time_period", "structboost_1_1locale_1_1date__time__period.html", [ - [ "date_time_period", "structboost_1_1locale_1_1date__time__period.html#a61b11b2243098412dddd804ca7e104af", null ], - [ "operator+", "structboost_1_1locale_1_1date__time__period.html#a219fa833071824e308a45dc44384fb99", null ], - [ "operator-", "structboost_1_1locale_1_1date__time__period.html#ab3937bd69fcfeac096dceeee0f13437e", null ], - [ "type", "structboost_1_1locale_1_1date__time__period.html#aa6511600eb5264c8597f700668e9c628", null ], - [ "value", "structboost_1_1locale_1_1date__time__period.html#aec776b16ed46a22833308a4112886ca4", null ] - ] ], - [ "date_time_period_set", "classboost_1_1locale_1_1date__time__period__set.html", [ - [ "date_time_period_set", "classboost_1_1locale_1_1date__time__period__set.html#a635b8d91c4c8da99857810e42a0aff65", null ], - [ "date_time_period_set", "classboost_1_1locale_1_1date__time__period__set.html#a0966962f5da78fc06121d1455efcbbae", null ], - [ "date_time_period_set", "classboost_1_1locale_1_1date__time__period__set.html#a144842e64250343d87aaff270a9b53a0", null ], - [ "add", "classboost_1_1locale_1_1date__time__period__set.html#a0e70247c1738dbf6869e6d8c04461893", null ], - [ "operator[]", "classboost_1_1locale_1_1date__time__period__set.html#a177a4c3cb2de3b5c9b5fe5738660eba4", null ], - [ "size", "classboost_1_1locale_1_1date__time__period__set.html#a0b726bd57ce8b631de89bbf404b8df2a", null ] - ] ], - [ "calendar", "classboost_1_1locale_1_1calendar.html", [ - [ "calendar", "classboost_1_1locale_1_1calendar.html#a889746f73b03bb21f5c8459cbe9b293d", null ], - [ "calendar", "classboost_1_1locale_1_1calendar.html#aece160bf9ded6145ac5a066448085bae", null ], - [ "calendar", "classboost_1_1locale_1_1calendar.html#ad9f47a96941c041996da64384bc5879d", null ], - [ "calendar", "classboost_1_1locale_1_1calendar.html#af9538c3aab4b8eaf7229ed2d9af18328", null ], - [ "calendar", "classboost_1_1locale_1_1calendar.html#a56c55c24fbbb29fac5a18c44d3a27beb", null ], - [ "~calendar", "classboost_1_1locale_1_1calendar.html#a378ecd62f6cc64928ab308b180c98b21", null ], - [ "calendar", "classboost_1_1locale_1_1calendar.html#ad33ad15b5b032ba5234ebe5959159668", null ], - [ "first_day_of_week", "classboost_1_1locale_1_1calendar.html#a8144b98a316798476040348483fe2a6e", null ], - [ "get_locale", "classboost_1_1locale_1_1calendar.html#aaf669f493ef0226aefbb6d13db8c27d1", null ], - [ "get_time_zone", "classboost_1_1locale_1_1calendar.html#af4063debebd6cc08cf25171ce5ee220e", null ], - [ "greatest_minimum", "classboost_1_1locale_1_1calendar.html#a3c2475ee3ebb107e47701cf732532f9f", null ], - [ "is_gregorian", "classboost_1_1locale_1_1calendar.html#a657ece3d3d59b8fc3c817bc05227620b", null ], - [ "least_maximum", "classboost_1_1locale_1_1calendar.html#a4c708d889ef92487982d918a78be5eda", null ], - [ "maximum", "classboost_1_1locale_1_1calendar.html#abd88cbf4c3b9f072430f9e7d9ab2d744", null ], - [ "minimum", "classboost_1_1locale_1_1calendar.html#a6670c7319dcaec257819b7a802d2c5f7", null ], - [ "operator!=", "classboost_1_1locale_1_1calendar.html#ab0d93fe1d3bfb7b66f8ef631ede93236", null ], - [ "operator=", "classboost_1_1locale_1_1calendar.html#a7125a6c3f3d629f871ddb0f3c2f5a181", null ], - [ "operator==", "classboost_1_1locale_1_1calendar.html#a8939fba5987659b3153cb18eea9af969", null ], - [ "date_time", "classboost_1_1locale_1_1calendar.html#a7c627d823bfb1186af76ed36016cbb31", null ] - ] ], - [ "date_time", "classboost_1_1locale_1_1date__time.html", [ - [ "date_time", "classboost_1_1locale_1_1date__time.html#ae7a3b74e7512ddc4d618eb1f51c3d2b0", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#a7d98e552f2ff8a421a5c226102ba0138", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#a45008e76b980e7487e3d61b8372d67ae", null ], - [ "~date_time", "classboost_1_1locale_1_1date__time.html#a4865b1ef879fa0bfeecad3289370852f", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#addfee06ea6efa5fdca252191176b5756", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#ab806af3aee6d70057d1f8e6fbfd09216", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#ada52e84093a2775db6e0b3c399b0b9cf", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#abfa9db762ab227427778d8fc3c2bf73d", null ], - [ "date_time", "classboost_1_1locale_1_1date__time.html#a871745debde77a28f5fbc6e2b2a5f869", null ], - [ "difference", "classboost_1_1locale_1_1date__time.html#a36df44f891d2a39ca16f57e568b67a3d", null ], - [ "get", "classboost_1_1locale_1_1date__time.html#af6436a546d3b944238f9fa952e5e18bd", null ], - [ "is_in_daylight_saving_time", "classboost_1_1locale_1_1date__time.html#a047e6e010df55fee166dcb3c9e7d3b95", null ], - [ "maximum", "classboost_1_1locale_1_1date__time.html#adb258ce11408b62bc0f14a60a05f0752", null ], - [ "minimum", "classboost_1_1locale_1_1date__time.html#a3363a0c562300095432a17e472d2e52d", null ], - [ "operator!=", "classboost_1_1locale_1_1date__time.html#a289953d80af568f86ddf533c0b161663", null ], - [ "operator+", "classboost_1_1locale_1_1date__time.html#a0df3596add1804b1f64d363fea181fe2", null ], - [ "operator+", "classboost_1_1locale_1_1date__time.html#a4e23796608a8ef0cbd5338f21d220a73", null ], - [ "operator+", "classboost_1_1locale_1_1date__time.html#aa362fdfe044d1c56c4fe939bd3d406bc", null ], - [ "operator+=", "classboost_1_1locale_1_1date__time.html#ab3117067df65d1c33e89ab375f03d27c", null ], - [ "operator+=", "classboost_1_1locale_1_1date__time.html#a7116785ff9f8b5f403e10a24b9b4477d", null ], - [ "operator+=", "classboost_1_1locale_1_1date__time.html#a1e5c7d2a8fed92d1e71f3dda2548b637", null ], - [ "operator-", "classboost_1_1locale_1_1date__time.html#ac870c0fcba5814cd91bb9c63823e280a", null ], - [ "operator-", "classboost_1_1locale_1_1date__time.html#af83662eb6a5d2298cda9159f5277a563", null ], - [ "operator-", "classboost_1_1locale_1_1date__time.html#a464e16b35656568b21f34cb8b3e2c81a", null ], - [ "operator-=", "classboost_1_1locale_1_1date__time.html#a38468aff1a820dc1c41a2a8280120848", null ], - [ "operator-=", "classboost_1_1locale_1_1date__time.html#a6780aae474f33f0a64e7b457789d7524", null ], - [ "operator-=", "classboost_1_1locale_1_1date__time.html#ae03dfadaf23e2ff93ae3d456dd3eb05f", null ], - [ "operator/", "classboost_1_1locale_1_1date__time.html#ac2a3a8f6fdba552b19e478bb6757523e", null ], - [ "operator<", "classboost_1_1locale_1_1date__time.html#a7b27ad955eade1013a43336e2a17adec", null ], - [ "operator<<", "classboost_1_1locale_1_1date__time.html#a22d2b503e2d58c7e2983b89c69ed13bd", null ], - [ "operator<<", "classboost_1_1locale_1_1date__time.html#afc9286cc1d2ad907200a3d9ba5d91c00", null ], - [ "operator<<", "classboost_1_1locale_1_1date__time.html#a2fb78903ee3c27d320798a72bb29a0b0", null ], - [ "operator<<=", "classboost_1_1locale_1_1date__time.html#ae71279d6e8dcc984fe3703b61d545416", null ], - [ "operator<<=", "classboost_1_1locale_1_1date__time.html#aa95d61963c07fb1e39d01d099a4c281a", null ], - [ "operator<<=", "classboost_1_1locale_1_1date__time.html#a048c4e2a1967351e84006177c14ef5e2", null ], - [ "operator<=", "classboost_1_1locale_1_1date__time.html#a76c5b0bbc01bd561c25cb83f26e5f535", null ], - [ "operator=", "classboost_1_1locale_1_1date__time.html#abe5d459e7552ca13b127c682e0d9caab", null ], - [ "operator=", "classboost_1_1locale_1_1date__time.html#a2f7ccfb9e28fa3bb172be9f0446caafd", null ], - [ "operator==", "classboost_1_1locale_1_1date__time.html#a4f11ded4c5383cc3fcd3684d0aa43892", null ], - [ "operator>", "classboost_1_1locale_1_1date__time.html#a1907c677ae9b7d0736705df8ad58b3aa", null ], - [ "operator>=", "classboost_1_1locale_1_1date__time.html#a4d807fa280bbe8d88efbc9a05f4a2d7c", null ], - [ "operator>>", "classboost_1_1locale_1_1date__time.html#a3a53ba943cb5140bafbfbda3d44b4083", null ], - [ "operator>>", "classboost_1_1locale_1_1date__time.html#a50f73791a4a5b4b4a32483030d20e324", null ], - [ "operator>>", "classboost_1_1locale_1_1date__time.html#ad7132f1fb92d1703925b4d3d054c0c19", null ], - [ "operator>>=", "classboost_1_1locale_1_1date__time.html#a178faa979338310b9a92370a3618fa0e", null ], - [ "operator>>=", "classboost_1_1locale_1_1date__time.html#a4605cf04447095908cba7a1cba700b9e", null ], - [ "operator>>=", "classboost_1_1locale_1_1date__time.html#a797242365127dae7142f0a950c4e4e78", null ], - [ "set", "classboost_1_1locale_1_1date__time.html#a4c0ed3be4d5d3bb44014a2ea12927ff8", null ], - [ "swap", "classboost_1_1locale_1_1date__time.html#a704626c84b012080f5e0b73db3d080fb", null ], - [ "time", "classboost_1_1locale_1_1date__time.html#a17aa2b54462ebcf1860f8e4db9f7868e", null ], - [ "time", "classboost_1_1locale_1_1date__time.html#a71bc51cd2ef635dfb0da6c0b740dcb5f", null ] - ] ], - [ "date_time_duration", "classboost_1_1locale_1_1date__time__duration.html", [ - [ "date_time_duration", "classboost_1_1locale_1_1date__time__duration.html#ac4b0d49c998032003553e8faf0e5f2cb", null ], - [ "end", "classboost_1_1locale_1_1date__time__duration.html#a100bac2003f4e07ea498e10d0dd1f6b1", null ], - [ "get", "classboost_1_1locale_1_1date__time__duration.html#a5d1b702c281d205e1dafbb15ce85b447", null ], - [ "operator/", "classboost_1_1locale_1_1date__time__duration.html#ac1a04091cc80b98f6faf7e5e73ce5f35", null ], - [ "start", "classboost_1_1locale_1_1date__time__duration.html#afc2f075595d1774c866250d192b9db31", null ] - ] ], - [ "operator+", "group__date__time.html#gaa7e728633f76cae8fa19e76cfb5e113b", null ], - [ "operator-", "group__date__time.html#ga023333646e070abf361be3890c12560b", null ], - [ "operator-", "group__date__time.html#ga13c05afeb4ea7904b944b42f6c685022", null ], - [ "operator<<", "group__date__time.html#ga759109f4470f00ec3d91f5797db82b9b", null ], - [ "operator>>", "group__date__time.html#gaf6e30351fc67e887e37853723c228484", null ] -]; \ No newline at end of file diff --git a/doc/html/group__format.html b/doc/html/group__format.html deleted file mode 100644 index a90dd138..00000000 --- a/doc/html/group__format.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - -Boost.Locale: Format - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
- -
-
Format
-
-
- - - - - -

-Classes

class  boost::locale::basic_format< CharType >
 a printf like class that allows type-safe and locale aware message formatting More...
 
- - - - - - - - - -

-Typedefs

typedef basic_format< char > boost::locale::format
 
typedef basic_format< wchar_t > boost::locale::wformat
 
typedef basic_format< char16_t > boost::locale::u16format
 
typedef basic_format< char32_t > boost::locale::u32format
 
- - - - -

-Functions

template<typename CharType >
std::basic_ostream< CharType > & boost::locale::operator<< (std::basic_ostream< CharType > &out, basic_format< CharType > const &fmt)
 
-

Detailed Description

-

This module provides printf like functionality integrated into iostreams and suitable for localization

-

Typedef Documentation

- -
-
- - - - -
typedef basic_format<char> boost::locale::format
-
-

Definition of char based format

-
Examples:
calendar.cpp, and hello.cpp.
-
-
-
- -
-
- - - - -
typedef basic_format<char16_t> boost::locale::u16format
-
-

Definition of char16_t based format

- -
-
- -
-
- - - - -
typedef basic_format<char32_t> boost::locale::u32format
-
-

Definition of char32_t based format

- -
-
- -
-
- - - - -
typedef basic_format<wchar_t> boost::locale::wformat
-
-

Definition of wchar_t based format

-
Examples:
whello.cpp.
-
-
-
-

Function Documentation

- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_ostream<CharType>& boost::locale::operator<< (std::basic_ostream< CharType > & out,
basic_format< CharType > const & fmt 
)
-
-

Write formatted message to stream.

-

This operator actually causes actual text formatting. It uses the locale of out stream

- -
-
-
-
- - - - - - diff --git a/doc/html/group__format.js b/doc/html/group__format.js deleted file mode 100644 index 5890f5d4..00000000 --- a/doc/html/group__format.js +++ /dev/null @@ -1,19 +0,0 @@ -var group__format = -[ - [ "basic_format", "classboost_1_1locale_1_1basic__format.html", [ - [ "char_type", "classboost_1_1locale_1_1basic__format.html#a45c16f2e69842b8d223d240bbd6e210a", null ], - [ "message_type", "classboost_1_1locale_1_1basic__format.html#a75213e5cc9d113f6b25e72542a4841f5", null ], - [ "stream_type", "classboost_1_1locale_1_1basic__format.html#a6aba7e54f0065f2697d13ff8a859309a", null ], - [ "string_type", "classboost_1_1locale_1_1basic__format.html#a0e1263d23f67aa38b4d857031fccf973", null ], - [ "basic_format", "classboost_1_1locale_1_1basic__format.html#a4c885ae60a5b867863b79acb75feff9e", null ], - [ "basic_format", "classboost_1_1locale_1_1basic__format.html#a155e8e60061da7461bbcc958d600c190", null ], - [ "operator%", "classboost_1_1locale_1_1basic__format.html#a24de7f69a5d95fd6181d888f07fc6770", null ], - [ "str", "classboost_1_1locale_1_1basic__format.html#a6bc65d7993e3ab6ad51809ef8fb65400", null ], - [ "write", "classboost_1_1locale_1_1basic__format.html#a457c9228d13e80da3c807a51aa5ef6cd", null ] - ] ], - [ "format", "group__format.html#gad7914df7b54382c1ad7f5360676fe2e8", null ], - [ "u16format", "group__format.html#ga7e1b668f020290ebca6570b4c12a36e6", null ], - [ "u32format", "group__format.html#ga70ce1d532e859739182439f1f3321032", null ], - [ "wformat", "group__format.html#ga610f3ae827801febc962019cf82a2227", null ], - [ "operator<<", "group__format.html#ga3af8a407e83e679baaf375da5e2ba048", null ] -]; \ No newline at end of file diff --git a/doc/html/group__manipulators.html b/doc/html/group__manipulators.html deleted file mode 100644 index 2120eb75..00000000 --- a/doc/html/group__manipulators.html +++ /dev/null @@ -1,920 +0,0 @@ - - - - - - -Boost.Locale: I/O Stream manipulators - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
- -
-
I/O Stream manipulators
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

std::ios_base & boost::locale::as::posix (std::ios_base &ios)
 
std::ios_base & boost::locale::as::number (std::ios_base &ios)
 
std::ios_base & boost::locale::as::currency (std::ios_base &ios)
 
std::ios_base & boost::locale::as::percent (std::ios_base &ios)
 
std::ios_base & boost::locale::as::date (std::ios_base &ios)
 
std::ios_base & boost::locale::as::time (std::ios_base &ios)
 
std::ios_base & boost::locale::as::datetime (std::ios_base &ios)
 
std::ios_base & boost::locale::as::strftime (std::ios_base &ios)
 
std::ios_base & boost::locale::as::spellout (std::ios_base &ios)
 
std::ios_base & boost::locale::as::ordinal (std::ios_base &ios)
 
std::ios_base & boost::locale::as::currency_default (std::ios_base &ios)
 
std::ios_base & boost::locale::as::currency_iso (std::ios_base &ios)
 
std::ios_base & boost::locale::as::currency_national (std::ios_base &ios)
 
std::ios_base & boost::locale::as::time_default (std::ios_base &ios)
 
std::ios_base & boost::locale::as::time_short (std::ios_base &ios)
 
std::ios_base & boost::locale::as::time_medium (std::ios_base &ios)
 
std::ios_base & boost::locale::as::time_long (std::ios_base &ios)
 
std::ios_base & boost::locale::as::time_full (std::ios_base &ios)
 
std::ios_base & boost::locale::as::date_default (std::ios_base &ios)
 
std::ios_base & boost::locale::as::date_short (std::ios_base &ios)
 
std::ios_base & boost::locale::as::date_medium (std::ios_base &ios)
 
std::ios_base & boost::locale::as::date_long (std::ios_base &ios)
 
std::ios_base & boost::locale::as::date_full (std::ios_base &ios)
 
template<typename CharType >
unspecified_type boost::locale::as::ftime (std::basic_string< CharType > const &format)
 
template<typename CharType >
unspecified_type boost::locale::as::ftime (CharType const *format)
 
std::ios_base & boost::locale::as::gmt (std::ios_base &ios)
 
std::ios_base & boost::locale::as::local_time (std::ios_base &ios)
 
unspecified_type boost::locale::as::time_zone (char const *id)
 
unspecified_type boost::locale::as::time_zone (std::string const &id)
 
unspecified_type boost::locale::as::domain (std::string const &id)
 
-

Detailed Description

-

Function Documentation

- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::currency (std::ios_base & ios)
-
-inline
-
-

Format currency, number is treated like amount of money

-
Examples:
hello.cpp, and whello.cpp.
-
-
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::currency_default (std::ios_base & ios)
-
-inline
-
-

Set default currency formatting style – national, like "$"

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::currency_iso (std::ios_base & ios)
-
-inline
-
-

Set ISO currency formatting style, like "USD", (requires ICU >= 4.2)

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::currency_national (std::ios_base & ios)
-
-inline
-
-

Set national currency formatting style, like "$"

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::date (std::ios_base & ios)
-
-inline
-
-

Format a date, number is treated as POSIX time

-
Examples:
hello.cpp, and whello.cpp.
-
-
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::date_default (std::ios_base & ios)
-
-inline
-
-

set default (medium) date formatting style

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::date_full (std::ios_base & ios)
-
-inline
-
-

set full date formatting style

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::date_long (std::ios_base & ios)
-
-inline
-
-

set long date formatting style

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::date_medium (std::ios_base & ios)
-
-inline
-
-

set medium date formatting style

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::date_short (std::ios_base & ios)
-
-inline
-
-

set short date formatting style

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::datetime (std::ios_base & ios)
-
-inline
-
-

Format a date and time, number is treated as POSIX time

- -
-
- -
-
- - - - - -
- - - - - - - - -
unspecified_type boost::locale::as::domain (std::string const & id)
-
-inline
-
-

Manipulator for switching message domain in ostream,

-
Note
The returned object throws std::bad_cast if the I/O stream does not have message_format facet installed
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - -
unspecified_type boost::locale::as::ftime (std::basic_string< CharType > const & format)
-
-

Set strftime like formatting string

-

Please note, formatting flags are very similar but not exactly the same as flags for C function strftime. Differences: some flags as "%e" do not add blanks to fill text up to two spaces, not all flags supported.

-

Flags:

-
    -
  • "%a" – Abbreviated weekday (Sun.)
  • -
  • "%A" – Full weekday (Sunday)
  • -
  • "%b" – Abbreviated month (Jan.)
  • -
  • "%B" – Full month (January)
  • -
  • "%c" – Locale date-time format. Note: prefer using "as::datetime"
  • -
  • "%d" – Day of Month [01,31]
  • -
  • "%e" – Day of Month [1,31]
  • -
  • "%h" – Same as "%b"
  • -
  • "%H" – 24 clock hour [00,23]
  • -
  • "%I" – 12 clock hour [01,12]
  • -
  • "%j" – Day of year [1,366]
  • -
  • "%m" – Month [01,12]
  • -
  • "%M" – Minute [00,59]
  • -
  • "%n" – New Line
  • -
  • "%p" – AM/PM in locale representation
  • -
  • "%r" – Time with AM/PM, same as "%I:%M:%S %p"
  • -
  • "%R" – Same as "%H:%M"
  • -
  • "%S" – Second [00,61]
  • -
  • "%t" – Tab character
  • -
  • "%T" – Same as "%H:%M:%S"
  • -
  • "%x" – Local date representation. Note: prefer using "as::date"
  • -
  • "%X" – Local time representation. Note: prefer using "as::time"
  • -
  • "%y" – Year [00,99]
  • -
  • "%Y" – 4 digits year. (2009)
  • -
  • "%Z" – Time Zone
  • -
  • "%%" – Percent symbol
  • -
- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - -
unspecified_type boost::locale::as::ftime (CharType const * format)
-
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::gmt (std::ios_base & ios)
-
-inline
-
-

Set GMT time zone to stream

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::local_time (std::ios_base & ios)
-
-inline
-
-

Set local time zone to stream

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::number (std::ios_base & ios)
-
-inline
-
-

Format a number. Note, unlike standard number formatting, integers would be treated like real numbers when std::fixed or std::scientific manipulators were applied

-
Examples:
hello.cpp, and whello.cpp.
-
-
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::ordinal (std::ios_base & ios)
-
-inline
-
-

Write an order of the number like 4th.

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::percent (std::ios_base & ios)
-
-inline
-
-

Format percent, value 0.3 is treated as 30%.

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::posix (std::ios_base & ios)
-
-inline
-
-

Format values with "POSIX" or "C" locale. Note, if locale was created with additional non-classic locale then These numbers may be localized

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::spellout (std::ios_base & ios)
-
-inline
-
-

Spell the number, like "one hundred and ten"

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::strftime (std::ios_base & ios)
-
-inline
-
-

Create formatted date time, Please note, this manipulator only changes formatting mode, and not format itself, so you are probably looking for ftime manipulator

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::time (std::ios_base & ios)
-
-inline
-
-

Format a time, number is treated as POSIX time

-
Examples:
hello.cpp, and whello.cpp.
-
-
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::time_default (std::ios_base & ios)
-
-inline
-
-

set default (medium) time formatting style

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::time_full (std::ios_base & ios)
-
-inline
-
-

set full time formatting style

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::time_long (std::ios_base & ios)
-
-inline
-
-

set long time formatting style

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::time_medium (std::ios_base & ios)
-
-inline
-
-

set medium time formatting style

- -
-
- -
-
- - - - - -
- - - - - - - - -
std::ios_base& boost::locale::as::time_short (std::ios_base & ios)
-
-inline
-
-

set short time formatting style

- -
-
- -
-
- - - - - -
- - - - - - - - -
unspecified_type boost::locale::as::time_zone (char const * id)
-
-inline
-
-

Set time zone using id

- -
-
- -
-
- - - - - -
- - - - - - - - -
unspecified_type boost::locale::as::time_zone (std::string const & id)
-
-inline
-
-

Set time zone using id

- -
-
-
-
- - - - - - diff --git a/doc/html/group__manipulators.js b/doc/html/group__manipulators.js deleted file mode 100644 index 664b9429..00000000 --- a/doc/html/group__manipulators.js +++ /dev/null @@ -1,33 +0,0 @@ -var group__manipulators = -[ - [ "currency", "group__manipulators.html#ga97c4997f9692834ea7b5ed3e8137d5fd", null ], - [ "currency_default", "group__manipulators.html#ga18f1cb392e5b26c12a9deaff816e7998", null ], - [ "currency_iso", "group__manipulators.html#gab8bc145e8147e45e9b9dc0ee9edd9fbe", null ], - [ "currency_national", "group__manipulators.html#ga2b1ea6b22e2c6f3a162264d9e59d3f95", null ], - [ "date", "group__manipulators.html#gae05b82e6658dc573521518fed5f5c77f", null ], - [ "date_default", "group__manipulators.html#gacb5b9243e6537a9378e2d020a4e6a57a", null ], - [ "date_full", "group__manipulators.html#gad8d6858ec18524c9a993da387c896d0e", null ], - [ "date_long", "group__manipulators.html#gac553a86e8d0606c4a6f6d75c3cb104e7", null ], - [ "date_medium", "group__manipulators.html#ga3b9dcc64afbd67883603cfa7bb67e6c4", null ], - [ "date_short", "group__manipulators.html#ga295c7b48ce2732c196df31a70660b7b9", null ], - [ "datetime", "group__manipulators.html#ga820edf843e20847a0c4ccb8da0c4acd8", null ], - [ "domain", "group__manipulators.html#gab522188e3d82f1d2898b290b9132925e", null ], - [ "ftime", "group__manipulators.html#ga84cc8985e5305ef54394e84c10223866", null ], - [ "ftime", "group__manipulators.html#gae7814e66e9b73b632c28f9cdc58592eb", null ], - [ "gmt", "group__manipulators.html#gac90c969d876305b8584def8632ae1808", null ], - [ "local_time", "group__manipulators.html#gac6cb5458543daf651cd6b48812891541", null ], - [ "number", "group__manipulators.html#gaee05db73f5525d9a010cdc3aa02f634f", null ], - [ "ordinal", "group__manipulators.html#ga50cc23779fd846809182e50345b4eb7c", null ], - [ "percent", "group__manipulators.html#ga365767c66c9c82fb646458f5eace8534", null ], - [ "posix", "group__manipulators.html#ga879b679c0a88b7af9ac059a6e8f67c0a", null ], - [ "spellout", "group__manipulators.html#gac65e6cd9619db80d60793bbd86a3bd77", null ], - [ "strftime", "group__manipulators.html#ga782b256b82922e6a5f32446787a6f7dc", null ], - [ "time", "group__manipulators.html#gae669b101cbeaed6f6d246ebdcaa8f39c", null ], - [ "time_default", "group__manipulators.html#ga0970bc4cb3a4ab8070faa04808f65052", null ], - [ "time_full", "group__manipulators.html#ga9a8bd936176e3c81dfa07748e1cbabd4", null ], - [ "time_long", "group__manipulators.html#gad6590ea48c57d53899b90d3464cf3c0b", null ], - [ "time_medium", "group__manipulators.html#ga3f3cc44eeeaffc3b90bebe7660b3e853", null ], - [ "time_short", "group__manipulators.html#gada3d88eef293c9495a3f7d756d369fd3", null ], - [ "time_zone", "group__manipulators.html#gad51fbdc634fe0c81e5183915e9eeb238", null ], - [ "time_zone", "group__manipulators.html#ga4348099506fc7c52945e639683398a20", null ] -]; \ No newline at end of file diff --git a/doc/html/group__message.html b/doc/html/group__message.html deleted file mode 100644 index 9284fea4..00000000 --- a/doc/html/group__message.html +++ /dev/null @@ -1,1526 +0,0 @@ - - - - - - -Boost.Locale: Message Formatting (translation) - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
- -
-
Message Formatting (translation)
-
-
- - - - -

-Modules

 I/O Stream manipulators
 
- - - - - - - -

-Namespaces

 boost::locale::gnu_gettext
 This namespace holds classes that provide GNU Gettext message catalogs support.
 
 boost::locale::as
 This namespace includes all manipulators that can be used on IO streams.
 
- - - - - - - -

-Classes

class  boost::locale::message_format< CharType >
 This facet provides message formatting abilities. More...
 
class  boost::locale::basic_message< CharType >
 This class represents a message that can be converted to a specific locale message. More...
 
- - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef CharType boost::locale::message_format< CharType >::char_type
 
typedef std::basic_string
-< CharType > 
boost::locale::message_format< CharType >::string_type
 
-typedef CharType boost::locale::basic_message< CharType >::char_type
 The character this message object is used with.
 
-typedef std::basic_string
-< char_type > 
boost::locale::basic_message< CharType >::string_type
 The string type this object can be used with.
 
-typedef message_format< char_type > boost::locale::basic_message< CharType >::facet_type
 The type of the facet the messages are fetched with.
 
typedef basic_message< char > boost::locale::message
 
typedef basic_message< wchar_t > boost::locale::wmessage
 
typedef basic_message< char16_t > boost::locale::u16message
 
typedef basic_message< char32_t > boost::locale::u32message
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

 boost::locale::message_format< CharType >::message_format (size_t refs=0)
 
virtual char_type const * boost::locale::message_format< CharType >::get (int domain_id, char_type const *context, char_type const *id) const =0
 
virtual char_type const * boost::locale::message_format< CharType >::get (int domain_id, char_type const *context, char_type const *single_id, int n) const =0
 
virtual int boost::locale::message_format< CharType >::domain (std::string const &domain) const =0
 
virtual char_type const * boost::locale::message_format< CharType >::convert (char_type const *msg, string_type &buffer) const =0
 
 boost::locale::basic_message< CharType >::basic_message ()
 
 boost::locale::basic_message< CharType >::basic_message (char_type const *id)
 
 boost::locale::basic_message< CharType >::basic_message (char_type const *single, char_type const *plural, int n)
 
 boost::locale::basic_message< CharType >::basic_message (char_type const *context, char_type const *id)
 
 boost::locale::basic_message< CharType >::basic_message (char_type const *context, char_type const *single, char_type const *plural, int n)
 
 boost::locale::basic_message< CharType >::basic_message (string_type const &id)
 
 boost::locale::basic_message< CharType >::basic_message (string_type const &single, string_type const &plural, int number)
 
 boost::locale::basic_message< CharType >::basic_message (string_type const &context, string_type const &id)
 
 boost::locale::basic_message< CharType >::basic_message (string_type const &context, string_type const &single, string_type const &plural, int number)
 
 boost::locale::basic_message< CharType >::basic_message (basic_message const &other)
 
basic_message const & boost::locale::basic_message< CharType >::operator= (basic_message const &other)
 
void boost::locale::basic_message< CharType >::swap (basic_message &other)
 
 boost::locale::basic_message< CharType >::operator string_type () const
 
string_type boost::locale::basic_message< CharType >::str () const
 
string_type boost::locale::basic_message< CharType >::str (std::locale const &locale) const
 
string_type boost::locale::basic_message< CharType >::str (std::locale const &locale, std::string const &domain_id) const
 
string_type boost::locale::basic_message< CharType >::str (std::string const &domain_id) const
 
string_type boost::locale::basic_message< CharType >::str (std::locale const &loc, int id) const
 
void boost::locale::basic_message< CharType >::write (std::basic_ostream< char_type > &out) const
 
template<typename CharType >
std::basic_ostream< CharType > & boost::locale::operator<< (std::basic_ostream< CharType > &out, basic_message< CharType > const &msg)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Indirect message translation function family

-
-template<typename CharType >
basic_message< CharType > boost::locale::translate (CharType const *msg)
 Translate a message, msg is not copied.
 
-template<typename CharType >
basic_message< CharType > boost::locale::translate (CharType const *context, CharType const *msg)
 Translate a message in context, msg and context are not copied.
 
-template<typename CharType >
basic_message< CharType > boost::locale::translate (CharType const *single, CharType const *plural, int n)
 Translate a plural message form, single and plural are not copied.
 
-template<typename CharType >
basic_message< CharType > boost::locale::translate (CharType const *context, CharType const *single, CharType const *plural, int n)
 Translate a plural message from in constext, context, single and plural are not copied.
 
-template<typename CharType >
basic_message< CharType > boost::locale::translate (std::basic_string< CharType > const &msg)
 Translate a message, msg is copied.
 
-template<typename CharType >
basic_message< CharType > boost::locale::translate (std::basic_string< CharType > const &context, std::basic_string< CharType > const &msg)
 Translate a message in context,context and msg is copied.
 
-template<typename CharType >
basic_message< CharType > boost::locale::translate (std::basic_string< CharType > const &context, std::basic_string< CharType > const &single, std::basic_string< CharType > const &plural, int n)
 Translate a plural message form in constext, context, single and plural are copied.
 
-template<typename CharType >
basic_message< CharType > boost::locale::translate (std::basic_string< CharType > const &single, std::basic_string< CharType > const &plural, int n)
 Translate a plural message form, single and plural are copied.
 
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Direct message translation functions family

-
template<typename CharType >
std::basic_string< CharType > boost::locale::gettext (CharType const *id, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::ngettext (CharType const *s, CharType const *p, int n, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::dgettext (char const *domain, CharType const *id, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::dngettext (char const *domain, CharType const *s, CharType const *p, int n, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::pgettext (CharType const *context, CharType const *id, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::npgettext (CharType const *context, CharType const *s, CharType const *p, int n, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::dpgettext (char const *domain, CharType const *context, CharType const *id, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > boost::locale::dnpgettext (char const *domain, CharType const *context, CharType const *s, CharType const *p, int n, std::locale const &loc=std::locale())
 
-

Detailed Description

-

This module provides message translation functionality, i.e. allow your application to speak native language

-

Typedef Documentation

- -
-
-
-template<typename CharType>
- - - - -
typedef CharType boost::locale::message_format< CharType >::char_type
-
-

Character type

- -
-
- -
-
- - - - -
typedef basic_message<char> boost::locale::message
-
-

Convenience typedef for char

- -
-
- -
-
-
-template<typename CharType>
- - - - -
typedef std::basic_string<CharType> boost::locale::message_format< CharType >::string_type
-
-

String type

- -
-
- -
-
- - - - -
typedef basic_message<char16_t> boost::locale::u16message
-
-

Convenience typedef for char16_t

- -
-
- -
-
- - - - -
typedef basic_message<char32_t> boost::locale::u32message
-
-

Convenience typedef for char32_t

- -
-
- -
-
- - - - -
typedef basic_message<wchar_t> boost::locale::wmessage
-
-

Convenience typedef for wchar_t

- -
-
-

Function Documentation

- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - -
boost::locale::basic_message< CharType >::basic_message ()
-
-inline
-
-

Create default empty message

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - -
boost::locale::basic_message< CharType >::basic_message (char_type const * id)
-
-inlineexplicit
-
-

Create a simple message from 0 terminated string. The string should exist until the message is destroyed. Generally useful with static constant strings

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
boost::locale::basic_message< CharType >::basic_message (char_type const * single,
char_type const * plural,
int n 
)
-
-inlineexplicit
-
-

Create a simple plural form message from 0 terminated strings. The strings should exist until the message is destroyed. Generally useful with static constant strings.

-

n is the number, single and plural are singular and plural forms of the message

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - - - - - - - - - - - -
boost::locale::basic_message< CharType >::basic_message (char_type const * context,
char_type const * id 
)
-
-inlineexplicit
-
-

Create a simple message from 0 terminated strings, with context information. The string should exist until the message is destroyed. Generally useful with static constant strings

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
boost::locale::basic_message< CharType >::basic_message (char_type const * context,
char_type const * single,
char_type const * plural,
int n 
)
-
-inlineexplicit
-
-

Create a simple plural form message from 0 terminated strings, with context. The strings should exist until the message is destroyed. Generally useful with static constant strings.

-

n is the number, single and plural are singular and plural forms of the message

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - -
boost::locale::basic_message< CharType >::basic_message (string_type const & id)
-
-inlineexplicit
-
-

Create a simple message from a string.

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
boost::locale::basic_message< CharType >::basic_message (string_type const & single,
string_type const & plural,
int number 
)
-
-inlineexplicit
-
-

Create a simple plural form message from strings.

-

n is the number, single and plural are single and plural forms of the message

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - - - - - - - - - - - -
boost::locale::basic_message< CharType >::basic_message (string_type const & context,
string_type const & id 
)
-
-inlineexplicit
-
-

Create a simple message from a string with context.

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
boost::locale::basic_message< CharType >::basic_message (string_type const & context,
string_type const & single,
string_type const & plural,
int number 
)
-
-inlineexplicit
-
-

Create a simple plural form message from strings.

-

n is the number, single and plural are single and plural forms of the message

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - -
boost::locale::basic_message< CharType >::basic_message (basic_message< CharType > const & other)
-
-inline
-
-

Copy an object

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual char_type const* boost::locale::message_format< CharType >::convert (char_type const * msg,
string_typebuffer 
) const
-
-pure virtual
-
-

Convert the string msg to target locale's encoding. If msg is already in target encoding it would be returned otherwise the converted string is stored in temporary buffer and buffer.c_str() is returned.

-

Note: for char_type that is char16_t, char32_t and wchar_t it is no-op, returns msg

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::dgettext (char const * domain,
CharType const * id,
std::locale const & loc = std::locale() 
)
-
-

Translate message id according to locale loc in domain domain

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::dngettext (char const * domain,
CharType const * s,
CharType const * p,
int n,
std::locale const & loc = std::locale() 
)
-
-

Translate plural form according to locale loc in domain domain

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::dnpgettext (char const * domain,
CharType const * context,
CharType const * s,
CharType const * p,
int n,
std::locale const & loc = std::locale() 
)
-
-

Translate plural form according to locale loc in domain domain in context context

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - -
virtual int boost::locale::message_format< CharType >::domain (std::string const & domain) const
-
-pure virtual
-
-

Convert a string that defines domain to the integer id used by get functions

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::dpgettext (char const * domain,
CharType const * context,
CharType const * id,
std::locale const & loc = std::locale() 
)
-
-

Translate message id according to locale loc in domain domain in context context

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
virtual char_type const* boost::locale::message_format< CharType >::get (int domain_id,
char_type const * context,
char_type const * id 
) const
-
-pure virtual
-
-

This function returns a pointer to the string for a message defined by a context and identification string id. Both create a single key for message lookup in a domain defined by domain_id.

-

If context is NULL it is not considered to be a part of the key

-

If a translated string is found, it is returned, otherwise NULL is returned

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
virtual char_type const* boost::locale::message_format< CharType >::get (int domain_id,
char_type const * context,
char_type const * single_id,
int n 
) const
-
-pure virtual
-
-

This function returns a pointer to the string for a plural message defined by a context and identification string single_id.

-

If context is NULL it is not considered to be a part of the key

-

Both create a single key for message lookup in a domain defined domain_id. n is used to pick the correct translation string for a specific number.

-

If a translated string is found, it is returned, otherwise NULL is returned

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::gettext (CharType const * id,
std::locale const & loc = std::locale() 
)
-
-

Translate message id according to locale loc

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - -
boost::locale::message_format< CharType >::message_format (size_t refs = 0)
-
-inline
-
-

Default constructor

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::ngettext (CharType const * s,
CharType const * p,
int n,
std::locale const & loc = std::locale() 
)
-
-

Translate plural form according to locale loc

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::npgettext (CharType const * context,
CharType const * s,
CharType const * p,
int n,
std::locale const & loc = std::locale() 
)
-
-

Translate plural form according to locale loc in context context

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - -
boost::locale::basic_message< CharType >::operator string_type () const
-
-inline
-
-

Message class can be explicitly converted to string class

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - -
std::basic_ostream<CharType>& boost::locale::operator<< (std::basic_ostream< CharType > & out,
basic_message< CharType > const & msg 
)
-
-

Translate message msg and write it to stream

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - -
basic_message const& boost::locale::basic_message< CharType >::operator= (basic_message< CharType > const & other)
-
-inline
-
-

Assign other message object to this one

- -
-
- -
-
-
-template<typename CharType >
- - - - - - - - - - - - - - - - - - - - - - - - -
std::basic_string<CharType> boost::locale::pgettext (CharType const * context,
CharType const * id,
std::locale const & loc = std::locale() 
)
-
-

Translate message id according to locale loc in context context

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - -
string_type boost::locale::basic_message< CharType >::str () const
-
-inline
-
-

Translate message to a string in the default global locale, using default domain

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - -
string_type boost::locale::basic_message< CharType >::str (std::locale const & locale) const
-
-inline
-
-

Translate message to a string in the locale locale, using default domain

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - - - - - - - - - - - -
string_type boost::locale::basic_message< CharType >::str (std::locale const & locale,
std::string const & domain_id 
) const
-
-inline
-
-

Translate message to a string using locale locale and message domain domain_id

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - -
string_type boost::locale::basic_message< CharType >::str (std::string const & domain_id) const
-
-inline
-
-

Translate message to a string using the default locale and message domain domain_id

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - - - - - - - - - - - -
string_type boost::locale::basic_message< CharType >::str (std::locale const & loc,
int id 
) const
-
-inline
-
-

Translate message to a string using locale loc and message domain index id

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - -
void boost::locale::basic_message< CharType >::swap (basic_message< CharType > & other)
-
-inline
-
-

Swap two message objects

- -
-
- -
-
-
-template<typename CharType>
- - - - - -
- - - - - - - - -
void boost::locale::basic_message< CharType >::write (std::basic_ostream< char_type > & out) const
-
-inline
-
-

Translate message and write to stream out, using imbued locale and domain set to the stream

- -
-
-
-
- - - - - - diff --git a/doc/html/group__message.js b/doc/html/group__message.js deleted file mode 100644 index 1643330a..00000000 --- a/doc/html/group__message.js +++ /dev/null @@ -1,90 +0,0 @@ -var group__message = -[ - [ "I/O Stream manipulators", "group__manipulators.html", "group__manipulators" ], - [ "gnu_gettext", "namespaceboost_1_1locale_1_1gnu__gettext.html", null ], - [ "as", "namespaceboost_1_1locale_1_1as.html", null ], - [ "message_format", "classboost_1_1locale_1_1message__format.html", [ - [ "char_type", "group__message.html#ga83f473295edf14b9e1ae1476b81231bc", null ], - [ "string_type", "group__message.html#gaaa932705310ce196fccc9d672b25518f", null ], - [ "message_format", "group__message.html#gafa681d0df94a35f9d75c16dea099d03e", null ], - [ "~message_format", "group__message.html#ga13350b28d416a59a92eddd22f68e57fc", null ], - [ "convert", "group__message.html#ga3f2c9d7f9a363efa607738083a986251", null ], - [ "domain", "group__message.html#ga73e25178ba9ef91ebe1df0aade4d8ae6", null ], - [ "get", "group__message.html#ga4f65e4e1c3995eb09dd8f8f0e150a012", null ], - [ "get", "group__message.html#gabb35b8a77bca9d28c5d5c266b66fe291", null ] - ] ], - [ "basic_message", "classboost_1_1locale_1_1basic__message.html", [ - [ "char_type", "group__message.html#gaa5d8dcf9d7aa01abbe73c841299345db", null ], - [ "facet_type", "group__message.html#gaa63527cb368d0bcd4cb0809138c927df", null ], - [ "string_type", "group__message.html#ga529423e08fc9a8ca9ceef5c56181c6d3", null ], - [ "basic_message", "group__message.html#ga33bdf7fbb164a96a8685b5747afc2b45", null ], - [ "basic_message", "group__message.html#gae32d7f89d5f268e8d6bae662d8008bae", null ], - [ "basic_message", "group__message.html#ga40bf56415a235f13ee666d51f645f280", null ], - [ "basic_message", "group__message.html#ga4d78f8f45467984d7244e2ddbb9e0f6e", null ], - [ "basic_message", "group__message.html#gabf9afe77f0254397389289c386bf8a73", null ], - [ "basic_message", "group__message.html#gabbb4365d621a33442ae34ac7c17a9d74", null ], - [ "basic_message", "group__message.html#ga380f3a258b3b28929bbf01f4e622e71a", null ], - [ "basic_message", "group__message.html#ga8c2fab962e10a46ea85f0188d08e499d", null ], - [ "basic_message", "group__message.html#gaf8ba10b7b1d45e6c78b84d77e8175d5d", null ], - [ "basic_message", "group__message.html#gae6ed9dded4ab78ff28e994b48c766c84", null ], - [ "operator string_type", "group__message.html#ga8da81038939b85ca248cba50f1deacf1", null ], - [ "operator=", "group__message.html#gae0e786e45ef32cf73efd8495cae45aed", null ], - [ "str", "group__message.html#ga11c5f400e03e0b16b9a60bd3fae3f168", null ], - [ "str", "group__message.html#ga26c6489f8269096f835abfb268498fdd", null ], - [ "str", "group__message.html#gaa907a1d3f43fe59cea938e1606f004ee", null ], - [ "str", "group__message.html#ga2d2ca0fe119e4ce4766fd3d42b549314", null ], - [ "str", "group__message.html#gaa51c0f65363d8d1cee83bb07fe45ced5", null ], - [ "swap", "group__message.html#gac204b563c7c9bd86e5555f129350f0e3", null ], - [ "write", "group__message.html#ga4dd81f4d40c4e8871bb1bf02bbc8e968", null ] - ] ], - [ "char_type", "group__message.html#ga83f473295edf14b9e1ae1476b81231bc", null ], - [ "char_type", "group__message.html#gaa5d8dcf9d7aa01abbe73c841299345db", null ], - [ "facet_type", "group__message.html#gaa63527cb368d0bcd4cb0809138c927df", null ], - [ "message", "group__message.html#ga556e3e7696302902b2242a7a94516dee", null ], - [ "string_type", "group__message.html#gaaa932705310ce196fccc9d672b25518f", null ], - [ "string_type", "group__message.html#ga529423e08fc9a8ca9ceef5c56181c6d3", null ], - [ "u16message", "group__message.html#ga43ddf342eec2ab9145d04727f8161e1c", null ], - [ "u32message", "group__message.html#ga6c0b40121a07c13de9e712845b43468f", null ], - [ "wmessage", "group__message.html#gafea131aa123d666905076f34b77326a9", null ], - [ "basic_message", "group__message.html#ga33bdf7fbb164a96a8685b5747afc2b45", null ], - [ "basic_message", "group__message.html#gae32d7f89d5f268e8d6bae662d8008bae", null ], - [ "basic_message", "group__message.html#ga40bf56415a235f13ee666d51f645f280", null ], - [ "basic_message", "group__message.html#ga4d78f8f45467984d7244e2ddbb9e0f6e", null ], - [ "basic_message", "group__message.html#gabf9afe77f0254397389289c386bf8a73", null ], - [ "basic_message", "group__message.html#gabbb4365d621a33442ae34ac7c17a9d74", null ], - [ "basic_message", "group__message.html#ga380f3a258b3b28929bbf01f4e622e71a", null ], - [ "basic_message", "group__message.html#ga8c2fab962e10a46ea85f0188d08e499d", null ], - [ "basic_message", "group__message.html#gaf8ba10b7b1d45e6c78b84d77e8175d5d", null ], - [ "basic_message", "group__message.html#gae6ed9dded4ab78ff28e994b48c766c84", null ], - [ "convert", "group__message.html#ga3f2c9d7f9a363efa607738083a986251", null ], - [ "dgettext", "group__message.html#ga0c4c54c5562ecc56396ef1c53582c799", null ], - [ "dngettext", "group__message.html#ga90b0cac98c7d6cd0e5157c10ba15ea29", null ], - [ "dnpgettext", "group__message.html#gae017bbb838e35f1e9b4864e822d8f5f6", null ], - [ "domain", "group__message.html#ga73e25178ba9ef91ebe1df0aade4d8ae6", null ], - [ "dpgettext", "group__message.html#ga0f9df82da4f38d900500a284cf1ab18f", null ], - [ "get", "group__message.html#ga4f65e4e1c3995eb09dd8f8f0e150a012", null ], - [ "get", "group__message.html#gabb35b8a77bca9d28c5d5c266b66fe291", null ], - [ "gettext", "group__message.html#ga1121f0001ff0f3b9455390b6412c6a2c", null ], - [ "message_format", "group__message.html#gafa681d0df94a35f9d75c16dea099d03e", null ], - [ "ngettext", "group__message.html#gaab79a005dda921603eead4839c116c52", null ], - [ "npgettext", "group__message.html#ga5023a270956a2febe1cd86c717d570a7", null ], - [ "operator string_type", "group__message.html#ga8da81038939b85ca248cba50f1deacf1", null ], - [ "operator<<", "group__message.html#ga6989a96196696d891accb078788e2a6b", null ], - [ "operator=", "group__message.html#gae0e786e45ef32cf73efd8495cae45aed", null ], - [ "pgettext", "group__message.html#gab2362c5a15141d3d58dbf731e6ef6bad", null ], - [ "str", "group__message.html#ga11c5f400e03e0b16b9a60bd3fae3f168", null ], - [ "str", "group__message.html#ga26c6489f8269096f835abfb268498fdd", null ], - [ "str", "group__message.html#gaa907a1d3f43fe59cea938e1606f004ee", null ], - [ "str", "group__message.html#ga2d2ca0fe119e4ce4766fd3d42b549314", null ], - [ "str", "group__message.html#gaa51c0f65363d8d1cee83bb07fe45ced5", null ], - [ "swap", "group__message.html#gac204b563c7c9bd86e5555f129350f0e3", null ], - [ "translate", "group__message.html#ga58e9599005608845d2b022d499dc97f6", null ], - [ "translate", "group__message.html#ga5fb25c892b2487d437c53cf68836d204", null ], - [ "translate", "group__message.html#ga4f0b199ac8500821ab1106a59f565fb3", null ], - [ "translate", "group__message.html#ga46f884a060b76ce4f71bf66605bc6546", null ], - [ "translate", "group__message.html#ga8cd3b2dc8d53c6bd05e5f1fc059882d4", null ], - [ "translate", "group__message.html#ga1dd13eea287051c834bee6bedc38e798", null ], - [ "translate", "group__message.html#ga4703ec0c6627f9ef55f3ffe2968973f8", null ], - [ "translate", "group__message.html#gab1ccc4a7a60200be76d4a4bf3f8e2217", null ], - [ "write", "group__message.html#ga4dd81f4d40c4e8871bb1bf02bbc8e968", null ] -]; \ No newline at end of file diff --git a/doc/html/hello_8cpp-example.html b/doc/html/hello_8cpp-example.html deleted file mode 100644 index 7ec92dcb..00000000 --- a/doc/html/hello_8cpp-example.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - -Boost.Locale: hello.cpp - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
hello.cpp
-
-
-

Basic example of using various functions provided by this library

-
//
-
// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
//
-
// Distributed under the Boost Software License, Version 1.0. (See
-
// accompanying file LICENSE_1_0.txt or copy at
-
// http://www.boost.org/LICENSE_1_0.txt)
-
//
-
#include <boost/locale.hpp>
-
#include <iostream>
-
-
#include <ctime>
-
-
int main()
-
{
-
using namespace boost::locale;
-
using namespace std;
-
generator gen;
-
locale loc=gen("");
-
// Create system default locale
-
-
locale::global(loc);
-
// Make it system global
-
-
cout.imbue(loc);
-
// Set as default locale for output
-
-
cout <<format("Today {1,date} at {1,time} we had run our first localization example") % time(0)
-
<<endl;
-
-
cout<<"This is how we show numbers in this locale "<<as::number << 103.34 <<endl;
-
cout<<"This is how we show currency in this locale "<<as::currency << 103.34 <<endl;
-
cout<<"This is typical date in the locale "<<as::date << std::time(0) <<endl;
-
cout<<"This is typical time in the locale "<<as::time << std::time(0) <<endl;
-
cout<<"This is upper case "<<to_upper("Hello World!")<<endl;
-
cout<<"This is lower case "<<to_lower("Hello World!")<<endl;
-
cout<<"This is title case "<<to_title("Hello World!")<<endl;
-
cout<<"This is fold case "<<fold_case("Hello World!")<<endl;
-
-
}
-
-
// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
-
- - - - - - diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html deleted file mode 100644 index c71b6f94..00000000 --- a/doc/html/hierarchy.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - -Boost.Locale: Class Hierarchy - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
Class Hierarchy
-
-
-
This inheritance list is sorted roughly, but not completely, alphabetically:
-
[detail level 12]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
oCboost::locale::abstract_calendar
oCboost::locale::util::base_converterThis class represent a simple stateless converter from UCS-4 and to UCS-4 for each single code point
oCbase_message_format
|\Cboost::locale::message_format< CharType >This facet provides message formatting abilities
oCboost::locale::basic_format< CharType >Printf like class that allows type-safe and locale aware message formatting
oCboost::locale::basic_message< CharType >This class represents a message that can be converted to a specific locale message
oCboost::locale::basic_message< char_type >
oCboost::locale::boundary::boundary_point< IteratorType >This class represents a boundary point in the text
oCboost::locale::boundary::boundary_point_index< BaseIterator >This class holds an index of boundary points and allows iterating over them
oCboost::locale::boundary::break_infoThis structure is used for representing boundary point that follows the offset
oCboost::locale::calendarThis class provides an access to general calendar information
oCcodecvt
|oCboost::locale::generic_codecvt< CharType, CodecvtImpl, 1 >
|oCboost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >UTF-16 to/from UTF-8 codecvt facet to use with char16_t or wchar_t on Windows
|\Cboost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >UTF-32 to/from UTF-8 codecvt facet to use with char32_t or wchar_t on POSIX platforms
oCcollate
|\Cboost::locale::collator< CharType >Collation facet
oCboost::locale::collator_baseBase class that includes collation level flags
|\Cboost::locale::collator< CharType >Collation facet
oCboost::locale::comparator< CharType, default_level >This class can be used in STL algorithms and containers for comparison of strings with a level other than primary
oCboost::locale::converter_baseThis class provides base flags for text manipulation. It is used as base for converter facet
|\Cboost::locale::converter< CharType >The facet that implements text manipulation
oCboost::locale::date_timeThis class represents a date time and allows to perform various operation according to the locale settings
oCboost::locale::date_time_durationThis class represents a period: a pair of two date_time objects
oCboost::locale::date_time_periodThis class represents a pair of period_type and the integer values that describes its amount. For example 3 days or 4 years
oCboost::locale::date_time_period_setThis class that represents a set of periods,
oCboost::locale::gnu_gettext::messages_info::domainThis type represents GNU Gettext domain name for the messages
oCfacet
|oCboost::locale::boundary::boundary_indexing< CharType >This facet generates an index for boundary analysis for a given text
|oCboost::locale::calendar_facetFacet that generates calendar for specific locale
|oCboost::locale::converter< CharType >The facet that implements text manipulation
|\Cboost::locale::infoFacet that holds general information about locale
oCboost::locale::generatorMajor class used for locale generation
oCboost::locale::generic_codecvt< CharType, CodecvtImpl, CharSize >Geneneric generic codecvt facet, various stateless encodings to UTF-16 and UTF-32 using wchar_t, char32_t and char16_t
oCboost::locale::generic_codecvt< CharType, utf8_codecvt< CharType > >
|\Cboost::locale::utf8_codecvt< CharType >Geneneric utf8 codecvt facet, it allows to convert UTF-8 strings to UTF-16 and UTF-32 using wchar_t, char32_t and char16_t
oCboost::locale::generic_codecvt_baseA base class that used to define constants for generic_codecvt
|oCboost::locale::generic_codecvt< CharType, CodecvtImpl, 1 >
|oCboost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >UTF-16 to/from UTF-8 codecvt facet to use with char16_t or wchar_t on Windows
|\Cboost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >UTF-32 to/from UTF-8 codecvt facet to use with char32_t or wchar_t on POSIX platforms
oCboost::locale::hold_ptr< T >Smart pointer similar to std::auto_ptr but it is non-copyable and the underlying object has the same constness as the pointer itself (unlike an ordinary pointer)
oCboost::locale::hold_ptr< boost::locale::abstract_calendar >
oCboost::locale::ios_infoThis class holds an external data - beyond existing fmtflags that std::ios_base holds
oCboost::locale::localization_backendThis class represents a localization backend that can be used for localizing your application
oCboost::locale::localization_backend_managerLocalization backend manager is a class that holds various backend and allows creation of their combination or selection
oCboost::locale::gnu_gettext::messages_infoThis structure holds all information required for creating gnu-gettext message catalogs,
oCpair
|\Cboost::locale::boundary::segment< IteratorType >Segment object that represents a pair of two iterators that define the range where this segment exits and a rule that defines it
oCboost::locale::period::period_typeThis class holds a type that represents certain period of time like year, hour, second and so on
oCboost::locale::posix_time
oCruntime_error
|oCboost::locale::conv::conversion_errorThe excepton that is thrown in case of conversion error
|oCboost::locale::conv::invalid_charset_errorThis exception is thrown in case of use of unsupported or invalid character set
|\Cboost::locale::date_time_errorThis error is thrown in case of invalid state that occurred
oCboost::locale::boundary::segment_index< BaseIterator >This class holds an index of segments in the text range and allows to iterate over them
oCboost::shared_ptr< Type >
oCboost::locale::utf8_codecvt< CharType >::state_type
\Cboost::locale::utf::utf_traits< CharType, size >UTF Traits class - functions to convert UTF sequences to and from Unicode code points
-
-
-
- - - - - - diff --git a/doc/html/hierarchy.js b/doc/html/hierarchy.js deleted file mode 100644 index 2a15dd04..00000000 --- a/doc/html/hierarchy.js +++ /dev/null @@ -1,71 +0,0 @@ -var hierarchy = -[ - [ "boost::locale::abstract_calendar", "classboost_1_1locale_1_1abstract__calendar.html", null ], - [ "boost::locale::util::base_converter", "classboost_1_1locale_1_1util_1_1base__converter.html", null ], - [ "base_message_format", null, [ - [ "boost::locale::message_format< CharType >", "classboost_1_1locale_1_1message__format.html", null ] - ] ], - [ "boost::locale::basic_format< CharType >", "classboost_1_1locale_1_1basic__format.html", null ], - [ "boost::locale::basic_message< CharType >", "classboost_1_1locale_1_1basic__message.html", null ], - [ "boost::locale::basic_message< char_type >", "classboost_1_1locale_1_1basic__message.html", null ], - [ "boost::locale::boundary::boundary_point< IteratorType >", "classboost_1_1locale_1_1boundary_1_1boundary__point.html", null ], - [ "boost::locale::boundary::boundary_point_index< BaseIterator >", "classboost_1_1locale_1_1boundary_1_1boundary__point__index.html", null ], - [ "boost::locale::boundary::break_info", "structboost_1_1locale_1_1boundary_1_1break__info.html", null ], - [ "boost::locale::calendar", "classboost_1_1locale_1_1calendar.html", null ], - [ "codecvt", null, [ - [ "boost::locale::generic_codecvt< CharType, CodecvtImpl, 1 >", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.html", null ], - [ "boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html", null ], - [ "boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html", null ] - ] ], - [ "collate", null, [ - [ "boost::locale::collator< CharType >", "classboost_1_1locale_1_1collator.html", null ] - ] ], - [ "boost::locale::collator_base", "classboost_1_1locale_1_1collator__base.html", [ - [ "boost::locale::collator< CharType >", "classboost_1_1locale_1_1collator.html", null ] - ] ], - [ "boost::locale::comparator< CharType, default_level >", "structboost_1_1locale_1_1comparator.html", null ], - [ "boost::locale::converter_base", "classboost_1_1locale_1_1converter__base.html", [ - [ "boost::locale::converter< CharType >", "classboost_1_1locale_1_1converter.html", null ] - ] ], - [ "boost::locale::date_time", "classboost_1_1locale_1_1date__time.html", null ], - [ "boost::locale::date_time_duration", "classboost_1_1locale_1_1date__time__duration.html", null ], - [ "boost::locale::date_time_period", "structboost_1_1locale_1_1date__time__period.html", null ], - [ "boost::locale::date_time_period_set", "classboost_1_1locale_1_1date__time__period__set.html", null ], - [ "boost::locale::gnu_gettext::messages_info::domain", "structboost_1_1locale_1_1gnu__gettext_1_1messages__info_1_1domain.html", null ], - [ "facet", null, [ - [ "boost::locale::boundary::boundary_indexing< CharType >", "classboost_1_1locale_1_1boundary_1_1boundary__indexing.html", null ], - [ "boost::locale::calendar_facet", "classboost_1_1locale_1_1calendar__facet.html", null ], - [ "boost::locale::converter< CharType >", "classboost_1_1locale_1_1converter.html", null ], - [ "boost::locale::info", "classboost_1_1locale_1_1info.html", null ] - ] ], - [ "boost::locale::generator", "classboost_1_1locale_1_1generator.html", null ], - [ "boost::locale::generic_codecvt< CharType, CodecvtImpl, CharSize >", "classboost_1_1locale_1_1generic__codecvt.html", null ], - [ "boost::locale::generic_codecvt< CharType, utf8_codecvt< CharType > >", "classboost_1_1locale_1_1generic__codecvt.html", [ - [ "boost::locale::utf8_codecvt< CharType >", "classboost_1_1locale_1_1utf8__codecvt.html", null ] - ] ], - [ "boost::locale::generic_codecvt_base", "classboost_1_1locale_1_1generic__codecvt__base.html", [ - [ "boost::locale::generic_codecvt< CharType, CodecvtImpl, 1 >", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_011_01_4.html", null ], - [ "boost::locale::generic_codecvt< CharType, CodecvtImpl, 2 >", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_012_01_4.html", null ], - [ "boost::locale::generic_codecvt< CharType, CodecvtImpl, 4 >", "classboost_1_1locale_1_1generic__codecvt_3_01CharType_00_01CodecvtImpl_00_014_01_4.html", null ] - ] ], - [ "boost::locale::hold_ptr< T >", "classboost_1_1locale_1_1hold__ptr.html", null ], - [ "boost::locale::hold_ptr< boost::locale::abstract_calendar >", "classboost_1_1locale_1_1hold__ptr.html", null ], - [ "boost::locale::ios_info", "classboost_1_1locale_1_1ios__info.html", null ], - [ "boost::locale::localization_backend", "classboost_1_1locale_1_1localization__backend.html", null ], - [ "boost::locale::localization_backend_manager", "classboost_1_1locale_1_1localization__backend__manager.html", null ], - [ "boost::locale::gnu_gettext::messages_info", "structboost_1_1locale_1_1gnu__gettext_1_1messages__info.html", null ], - [ "pair", null, [ - [ "boost::locale::boundary::segment< IteratorType >", "classboost_1_1locale_1_1boundary_1_1segment.html", null ] - ] ], - [ "boost::locale::period::period_type", "classboost_1_1locale_1_1period_1_1period__type.html", null ], - [ "boost::locale::posix_time", "structboost_1_1locale_1_1posix__time.html", null ], - [ "runtime_error", null, [ - [ "boost::locale::conv::conversion_error", "classboost_1_1locale_1_1conv_1_1conversion__error.html", null ], - [ "boost::locale::conv::invalid_charset_error", "classboost_1_1locale_1_1conv_1_1invalid__charset__error.html", null ], - [ "boost::locale::date_time_error", "classboost_1_1locale_1_1date__time__error.html", null ] - ] ], - [ "boost::locale::boundary::segment_index< BaseIterator >", "classboost_1_1locale_1_1boundary_1_1segment__index.html", null ], - [ "boost::shared_ptr< Type >", "classboost_1_1shared__ptr.html", null ], - [ "boost::locale::utf8_codecvt< CharType >::state_type", "structboost_1_1locale_1_1utf8__codecvt_1_1state__type.html", null ], - [ "boost::locale::utf::utf_traits< CharType, size >", "structboost_1_1locale_1_1utf_1_1utf__traits.html", null ] -]; \ No newline at end of file diff --git a/doc/html/hold__ptr_8hpp_source.html b/doc/html/hold__ptr_8hpp_source.html deleted file mode 100644 index e9fbea98..00000000 --- a/doc/html/hold__ptr_8hpp_source.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/hold_ptr.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
hold_ptr.hpp
-
-
-
1 //
-
2 // Copyright (c) 2010 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_HOLD_PTR_H
-
9 #define BOOST_LOCALE_HOLD_PTR_H
-
10 
-
11 namespace boost {
-
12 namespace locale {
-
17  template<typename T>
-
18  class hold_ptr {
-
19  hold_ptr(hold_ptr const &other); // non copyable
-
20  hold_ptr const &operator=(hold_ptr const &other); // non assignable
-
21  public:
-
25  hold_ptr() : ptr_(0) {}
-
29  explicit hold_ptr(T *v) : ptr_(v) {}
-
30 
- -
35  {
-
36  delete ptr_;
-
37  }
-
38 
-
42  T const *get() const { return ptr_; }
-
46  T *get() { return ptr_; }
-
47 
-
51  T const &operator *() const { return *ptr_; }
-
55  T &operator *() { return *ptr_; }
-
59  T const *operator->() const { return ptr_; }
-
63  T *operator->() { return ptr_; }
-
64 
-
68  T *release() { T *tmp=ptr_; ptr_=0; return tmp; }
-
69 
-
73  void reset(T *p=0)
-
74  {
-
75  if(ptr_) delete ptr_;
-
76  ptr_=p;
-
77  }
-
79  void swap(hold_ptr &other)
-
80  {
-
81  T *tmp=other.ptr_;
-
82  other.ptr_=ptr_;
-
83  ptr_=tmp;
-
84  }
-
85  private:
-
86  T *ptr_;
-
87  };
-
88 
-
89 } // locale
-
90 } // boost
-
91 
-
92 #endif
-
93 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
hold_ptr()
Definition: hold_ptr.hpp:25
-
T const & operator*() const
Definition: hold_ptr.hpp:51
-
hold_ptr(T *v)
Definition: hold_ptr.hpp:29
-
a smart pointer similar to std::auto_ptr but it is non-copyable and the underlying object has the sam...
Definition: hold_ptr.hpp:18
-
T const * operator->() const
Definition: hold_ptr.hpp:59
-
~hold_ptr()
Definition: hold_ptr.hpp:34
-
void reset(T *p=0)
Definition: hold_ptr.hpp:73
-
T * release()
Definition: hold_ptr.hpp:68
-
void swap(hold_ptr &other)
Swap two pointers.
Definition: hold_ptr.hpp:79
-
T * operator->()
Definition: hold_ptr.hpp:63
-
-
- - - - - - diff --git a/doc/html/index.html b/doc/html/index.html deleted file mode 100644 index a5774774..00000000 --- a/doc/html/index.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - -Boost.Locale: Boost.Locale - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - -
-
- -
-
-
- -
-
-
-
Boost.Locale
-
-
-

-What is Boost.Locale?

-

Boost.Locale is a library that provides high quality localization facilities in a C++ way. It was originally designed a part of CppCMS - C++ Web Framework project and then contributed to Boost.

-

Boost.Locale gives powerful tools for development of cross platform localized software - the software that talks to user in its language.

-

Provided Features:

-
    -
  • Correct case conversion, case folding and normalization.
  • -
  • Collation (sorting), including support for 4 Unicode collation levels.
  • -
  • Date, time, timezone and calendar manipulations, formatting and parsing, including transparent support for calendars other than Gregorian.
  • -
  • Boundary analysis for characters, words, sentences and line-breaks.
  • -
  • Number formatting, spelling and parsing.
  • -
  • Monetary formatting and parsing.
  • -
  • Powerful message formatting (string translation) including support for plural forms, using GNU catalogs.
  • -
  • Character set conversion.
  • -
  • Transparent support for 8-bit character sets like Latin1
  • -
  • Support for char and wchar_t
  • -
  • Experimental support for C++0x char16_t and char32_t strings and streams.
  • -
-

Boost.Locale enhances and unifies the standard library's API the way it becomes useful and convenient for development of cross platform and "cross-culture" software.

-

In order to achieve this goal Boost.Locale uses the-state-of-the-art Unicode and Localization library: ICU - International Components for Unicode.

-

Boost.Locale creates the natural glue between the C++ locales framework, iostreams, and the powerful ICU library.

-

Boost.Locale provides non-ICU based localization support as well. It is based on the operating system native API or on the standard C++ library support. Sacrificing some less important features, Boost.Locale becomes less powerful but lighter and easier to deploy and use library.

-

-Tutorials

- -
-
- - - - - - diff --git a/doc/html/index_8hpp_source.html b/doc/html/index_8hpp_source.html deleted file mode 100644 index ec1f1a77..00000000 --- a/doc/html/index_8hpp_source.html +++ /dev/null @@ -1,880 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/boundary/index.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
index.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_BOUNDARY_INDEX_HPP_INCLUDED
-
9 #define BOOST_LOCALE_BOUNDARY_INDEX_HPP_INCLUDED
-
10 
-
11 #include <boost/locale/config.hpp>
-
12 #include <boost/locale/boundary/types.hpp>
-
13 #include <boost/locale/boundary/facets.hpp>
-
14 #include <boost/locale/boundary/segment.hpp>
-
15 #include <boost/locale/boundary/boundary_point.hpp>
-
16 #include <boost/iterator/iterator_facade.hpp>
-
17 #include <boost/type_traits/is_same.hpp>
-
18 #include <boost/shared_ptr.hpp>
-
19 #include <boost/cstdint.hpp>
-
20 #include <boost/assert.hpp>
-
21 #ifdef BOOST_MSVC
-
22 # pragma warning(push)
-
23 # pragma warning(disable : 4275 4251 4231 4660)
-
24 #endif
-
25 #include <string>
-
26 #include <locale>
-
27 #include <vector>
-
28 #include <iterator>
-
29 #include <algorithm>
-
30 #include <stdexcept>
-
31 
-
32 #include <iostream>
-
33 
-
34 namespace boost {
-
35 
-
36  namespace locale {
-
37 
-
38  namespace boundary {
-
46 
-
48 
-
49  namespace details {
-
50 
-
51  template<typename IteratorType,typename CategoryType = typename std::iterator_traits<IteratorType>::iterator_category>
-
52  struct mapping_traits {
-
53  typedef typename std::iterator_traits<IteratorType>::value_type char_type;
-
54  static index_type map(boundary_type t,IteratorType b,IteratorType e,std::locale const &l)
-
55  {
-
56  std::basic_string<char_type> str(b,e);
-
57  return std::use_facet<boundary_indexing<char_type> >(l).map(t,str.c_str(),str.c_str()+str.size());
-
58  }
-
59  };
-
60 
-
61  template<typename CharType,typename SomeIteratorType>
-
62  struct linear_iterator_traits {
-
63  static const bool is_linear =
-
64  is_same<SomeIteratorType,CharType*>::value
-
65  || is_same<SomeIteratorType,CharType const*>::value
-
66  || is_same<SomeIteratorType,typename std::basic_string<CharType>::iterator>::value
-
67  || is_same<SomeIteratorType,typename std::basic_string<CharType>::const_iterator>::value
-
68  || is_same<SomeIteratorType,typename std::vector<CharType>::iterator>::value
-
69  || is_same<SomeIteratorType,typename std::vector<CharType>::const_iterator>::value
-
70  ;
-
71  };
-
72 
-
73 
-
74 
-
75  template<typename IteratorType>
-
76  struct mapping_traits<IteratorType,std::random_access_iterator_tag> {
-
77 
-
78  typedef typename std::iterator_traits<IteratorType>::value_type char_type;
-
79 
-
80 
-
81 
-
82  static index_type map(boundary_type t,IteratorType b,IteratorType e,std::locale const &l)
-
83  {
-
84  index_type result;
-
85 
-
86  //
-
87  // Optimize for most common cases
-
88  //
-
89  // C++0x requires that string is continious in memory and all known
-
90  // string implementations
-
91  // do this because of c_str() support.
-
92  //
-
93 
-
94  if(linear_iterator_traits<char_type,IteratorType>::is_linear && b!=e)
-
95  {
-
96  char_type const *begin = &*b;
-
97  char_type const *end = begin + (e-b);
-
98  index_type tmp=std::use_facet<boundary_indexing<char_type> >(l).map(t,begin,end);
-
99  result.swap(tmp);
-
100  }
-
101  else {
-
102  std::basic_string<char_type> str(b,e);
-
103  index_type tmp = std::use_facet<boundary_indexing<char_type> >(l).map(t,str.c_str(),str.c_str()+str.size());
-
104  result.swap(tmp);
-
105  }
-
106  return result;
-
107  }
-
108  };
-
109 
-
110  template<typename BaseIterator>
-
111  class mapping {
-
112  public:
-
113  typedef BaseIterator base_iterator;
-
114  typedef typename std::iterator_traits<base_iterator>::value_type char_type;
-
115 
-
116 
-
117  mapping(boundary_type type,
-
118  base_iterator begin,
-
119  base_iterator end,
-
120  std::locale const &loc)
-
121  :
-
122  index_(new index_type()),
-
123  begin_(begin),
-
124  end_(end)
-
125  {
-
126  index_type idx=details::mapping_traits<base_iterator>::map(type,begin,end,loc);
-
127  index_->swap(idx);
-
128  }
-
129 
-
130  mapping()
-
131  {
-
132  }
-
133 
-
134  index_type const &index() const
-
135  {
-
136  return *index_;
-
137  }
-
138 
-
139  base_iterator begin() const
-
140  {
-
141  return begin_;
-
142  }
-
143 
-
144  base_iterator end() const
-
145  {
-
146  return end_;
-
147  }
-
148 
-
149  private:
- -
151  base_iterator begin_,end_;
-
152  };
-
153 
-
154  template<typename BaseIterator>
-
155  class segment_index_iterator :
-
156  public boost::iterator_facade<
-
157  segment_index_iterator<BaseIterator>,
-
158  segment<BaseIterator>,
-
159  boost::bidirectional_traversal_tag,
-
160  segment<BaseIterator> const &
-
161  >
-
162  {
-
163  public:
-
164  typedef BaseIterator base_iterator;
-
165  typedef mapping<base_iterator> mapping_type;
-
166  typedef segment<base_iterator> segment_type;
-
167 
-
168  segment_index_iterator() : current_(0,0),map_(0)
-
169  {
-
170  }
-
171 
-
172  segment_index_iterator(base_iterator p,mapping_type const *map,rule_type mask,bool full_select) :
-
173  map_(map),
-
174  mask_(mask),
-
175  full_select_(full_select)
-
176  {
-
177  set(p);
-
178  }
-
179  segment_index_iterator(bool is_begin,mapping_type const *map,rule_type mask,bool full_select) :
-
180  map_(map),
-
181  mask_(mask),
-
182  full_select_(full_select)
-
183  {
-
184  if(is_begin)
-
185  set_begin();
-
186  else
-
187  set_end();
-
188  }
-
189 
-
190  segment_type const &dereference() const
-
191  {
-
192  return value_;
-
193  }
-
194 
-
195  bool equal(segment_index_iterator const &other) const
-
196  {
-
197  return map_ == other.map_ && current_.second == other.current_.second;
-
198  }
-
199 
-
200  void increment()
-
201  {
-
202  std::pair<size_t,size_t> next = current_;
-
203  if(full_select_) {
-
204  next.first = next.second;
-
205  while(next.second < size()) {
-
206  next.second++;
-
207  if(valid_offset(next.second))
-
208  break;
-
209  }
-
210  if(next.second == size())
-
211  next.first = next.second - 1;
-
212  }
-
213  else {
-
214  while(next.second < size()) {
-
215  next.first = next.second;
-
216  next.second++;
-
217  if(valid_offset(next.second))
-
218  break;
-
219  }
-
220  }
-
221  update_current(next);
-
222  }
-
223 
-
224  void decrement()
-
225  {
-
226  std::pair<size_t,size_t> next = current_;
-
227  if(full_select_) {
-
228  while(next.second >1) {
-
229  next.second--;
-
230  if(valid_offset(next.second))
-
231  break;
-
232  }
-
233  next.first = next.second;
-
234  while(next.first >0) {
-
235  next.first--;
-
236  if(valid_offset(next.first))
-
237  break;
-
238  }
-
239  }
-
240  else {
-
241  while(next.second >1) {
-
242  next.second--;
-
243  if(valid_offset(next.second))
-
244  break;
-
245  }
-
246  next.first = next.second - 1;
-
247  }
-
248  update_current(next);
-
249  }
-
250 
-
251  private:
-
252 
-
253  void set_end()
-
254  {
-
255  current_.first = size() - 1;
-
256  current_.second = size();
-
257  value_ = segment_type(map_->end(),map_->end(),0);
-
258  }
-
259  void set_begin()
-
260  {
-
261  current_.first = current_.second = 0;
-
262  value_ = segment_type(map_->begin(),map_->begin(),0);
-
263  increment();
-
264  }
-
265 
-
266  void set(base_iterator p)
-
267  {
-
268  size_t dist=std::distance(map_->begin(),p);
-
269  index_type::const_iterator b=map_->index().begin(),e=map_->index().end();
-
270  index_type::const_iterator
-
271  boundary_point=std::upper_bound(b,e,break_info(dist));
-
272  while(boundary_point != e && (boundary_point->rule & mask_)==0)
-
273  boundary_point++;
-
274 
-
275  current_.first = current_.second = boundary_point - b;
-
276 
-
277  if(full_select_) {
-
278  while(current_.first > 0) {
-
279  current_.first --;
-
280  if(valid_offset(current_.first))
-
281  break;
-
282  }
-
283  }
-
284  else {
-
285  if(current_.first > 0)
-
286  current_.first --;
-
287  }
-
288  value_.first = map_->begin();
-
289  std::advance(value_.first,get_offset(current_.first));
-
290  value_.second = value_.first;
-
291  std::advance(value_.second,get_offset(current_.second) - get_offset(current_.first));
-
292 
-
293  update_rule();
-
294  }
-
295 
-
296  void update_current(std::pair<size_t,size_t> pos)
-
297  {
-
298  std::ptrdiff_t first_diff = get_offset(pos.first) - get_offset(current_.first);
-
299  std::ptrdiff_t second_diff = get_offset(pos.second) - get_offset(current_.second);
-
300  std::advance(value_.first,first_diff);
-
301  std::advance(value_.second,second_diff);
-
302  current_ = pos;
-
303  update_rule();
-
304  }
-
305 
-
306  void update_rule()
-
307  {
-
308  if(current_.second != size()) {
-
309  value_.rule(index()[current_.second].rule);
-
310  }
-
311  }
-
312  size_t get_offset(size_t ind) const
-
313  {
-
314  if(ind == size())
-
315  return index().back().offset;
-
316  return index()[ind].offset;
-
317  }
-
318 
-
319  bool valid_offset(size_t offset) const
-
320  {
-
321  return offset == 0
-
322  || offset == size() // make sure we not acess index[size]
-
323  || (index()[offset].rule & mask_)!=0;
-
324  }
-
325 
-
326  size_t size() const
-
327  {
-
328  return index().size();
-
329  }
-
330 
-
331  index_type const &index() const
-
332  {
-
333  return map_->index();
-
334  }
-
335 
-
336 
-
337  segment_type value_;
-
338  std::pair<size_t,size_t> current_;
-
339  mapping_type const *map_;
-
340  rule_type mask_;
-
341  bool full_select_;
-
342  };
-
343 
-
344  template<typename BaseIterator>
-
345  class boundary_point_index_iterator :
-
346  public boost::iterator_facade<
-
347  boundary_point_index_iterator<BaseIterator>,
-
348  boundary_point<BaseIterator>,
-
349  boost::bidirectional_traversal_tag,
-
350  boundary_point<BaseIterator> const &
-
351  >
-
352  {
-
353  public:
-
354  typedef BaseIterator base_iterator;
-
355  typedef mapping<base_iterator> mapping_type;
-
356  typedef boundary_point<base_iterator> boundary_point_type;
-
357 
-
358  boundary_point_index_iterator() : current_(0),map_(0)
-
359  {
-
360  }
-
361 
-
362  boundary_point_index_iterator(bool is_begin,mapping_type const *map,rule_type mask) :
-
363  map_(map),
-
364  mask_(mask)
-
365  {
-
366  if(is_begin)
-
367  set_begin();
-
368  else
-
369  set_end();
-
370  }
-
371  boundary_point_index_iterator(base_iterator p,mapping_type const *map,rule_type mask) :
-
372  map_(map),
-
373  mask_(mask)
-
374  {
-
375  set(p);
-
376  }
-
377 
-
378  boundary_point_type const &dereference() const
-
379  {
-
380  return value_;
-
381  }
-
382 
-
383  bool equal(boundary_point_index_iterator const &other) const
-
384  {
-
385  return map_ == other.map_ && current_ == other.current_;
-
386  }
-
387 
-
388  void increment()
-
389  {
-
390  size_t next = current_;
-
391  while(next < size()) {
-
392  next++;
-
393  if(valid_offset(next))
-
394  break;
-
395  }
-
396  update_current(next);
-
397  }
-
398 
-
399  void decrement()
-
400  {
-
401  size_t next = current_;
-
402  while(next>0) {
-
403  next--;
-
404  if(valid_offset(next))
-
405  break;
-
406  }
-
407  update_current(next);
-
408  }
-
409 
-
410  private:
-
411  void set_end()
-
412  {
-
413  current_ = size();
-
414  value_ = boundary_point_type(map_->end(),0);
-
415  }
-
416  void set_begin()
-
417  {
-
418  current_ = 0;
-
419  value_ = boundary_point_type(map_->begin(),0);
-
420  }
-
421 
-
422  void set(base_iterator p)
-
423  {
-
424  size_t dist = std::distance(map_->begin(),p);
-
425 
-
426  index_type::const_iterator b=index().begin();
-
427  index_type::const_iterator e=index().end();
-
428  index_type::const_iterator ptr = std::lower_bound(b,e,break_info(dist));
-
429 
-
430  if(ptr==index().end())
-
431  current_=size()-1;
-
432  else
-
433  current_=ptr - index().begin();
-
434 
-
435  while(!valid_offset(current_))
-
436  current_ ++;
-
437 
-
438  std::ptrdiff_t diff = get_offset(current_) - dist;
-
439  std::advance(p,diff);
-
440  value_.iterator(p);
-
441  update_rule();
-
442  }
-
443 
-
444  void update_current(size_t pos)
-
445  {
-
446  std::ptrdiff_t diff = get_offset(pos) - get_offset(current_);
-
447  base_iterator i=value_.iterator();
-
448  std::advance(i,diff);
-
449  current_ = pos;
-
450  value_.iterator(i);
-
451  update_rule();
-
452  }
-
453 
-
454  void update_rule()
-
455  {
-
456  if(current_ != size()) {
-
457  value_.rule(index()[current_].rule);
-
458  }
-
459  }
-
460  size_t get_offset(size_t ind) const
-
461  {
-
462  if(ind == size())
-
463  return index().back().offset;
-
464  return index()[ind].offset;
-
465  }
-
466 
-
467  bool valid_offset(size_t offset) const
-
468  {
-
469  return offset == 0
-
470  || offset + 1 >= size() // last and first are always valid regardless of mark
-
471  || (index()[offset].rule & mask_)!=0;
-
472  }
-
473 
-
474  size_t size() const
-
475  {
-
476  return index().size();
-
477  }
-
478 
-
479  index_type const &index() const
-
480  {
-
481  return map_->index();
-
482  }
-
483 
-
484 
-
485  boundary_point_type value_;
-
486  size_t current_;
-
487  mapping_type const *map_;
-
488  rule_type mask_;
-
489  };
-
490 
-
491 
-
492  } // details
-
493 
-
495 
-
496  template<typename BaseIterator>
- -
498 
-
499  template<typename BaseIterator>
- -
501 
-
502 
-
554 
-
555  template<typename BaseIterator>
-
556  class segment_index {
-
557  public:
-
558 
-
562  typedef BaseIterator base_iterator;
-
563  #ifdef BOOST_LOCALE_DOXYGEN
-
564  typedef unspecified_iterator_type iterator;
-
582  typedef unspecified_iterator_type const_iterator;
-
583  #else
-
584  typedef details::segment_index_iterator<base_iterator> iterator;
-
585  typedef details::segment_index_iterator<base_iterator> const_iterator;
-
586  #endif
- -
592 
-
602  segment_index() : mask_(0xFFFFFFFFu),full_select_(false)
-
603  {
-
604  }
- -
610  base_iterator begin,
-
611  base_iterator end,
-
612  rule_type mask,
-
613  std::locale const &loc=std::locale())
-
614  :
-
615  map_(type,begin,end,loc),
-
616  mask_(mask),
-
617  full_select_(false)
-
618  {
-
619  }
- -
625  base_iterator begin,
-
626  base_iterator end,
-
627  std::locale const &loc=std::locale())
-
628  :
-
629  map_(type,begin,end,loc),
-
630  mask_(0xFFFFFFFFu),
-
631  full_select_(false)
-
632  {
-
633  }
-
634 
- - -
657 
-
658 
-
665  void map(boundary_type type,base_iterator begin,base_iterator end,std::locale const &loc=std::locale())
-
666  {
-
667  map_ = mapping_type(type,begin,end,loc);
-
668  }
-
669 
-
679  iterator begin() const
-
680  {
-
681  return iterator(true,&map_,mask_,full_select_);
-
682  }
-
683 
-
691  iterator end() const
-
692  {
-
693  return iterator(false,&map_,mask_,full_select_);
-
694  }
-
695 
- -
714  {
-
715  return iterator(p,&map_,mask_,full_select_);
-
716  }
-
717 
-
721  rule_type rule() const
-
722  {
-
723  return mask_;
-
724  }
-
728  void rule(rule_type v)
-
729  {
-
730  mask_ = v;
-
731  }
-
732 
-
745 
-
746  bool full_select() const
-
747  {
-
748  return full_select_;
-
749  }
-
750 
-
763 
-
764  void full_select(bool v)
-
765  {
-
766  full_select_ = v;
-
767  }
-
768 
-
769  private:
-
770  friend class boundary_point_index<base_iterator>;
-
771  typedef details::mapping<base_iterator> mapping_type;
-
772  mapping_type map_;
-
773  rule_type mask_;
-
774  bool full_select_;
-
775  };
-
776 
-
823 
-
824 
-
825  template<typename BaseIterator>
-
826  class boundary_point_index {
-
827  public:
-
831  typedef BaseIterator base_iterator;
-
832  #ifdef BOOST_LOCALE_DOXYGEN
-
833  typedef unspecified_iterator_type iterator;
-
851  typedef unspecified_iterator_type const_iterator;
-
852  #else
-
853  typedef details::boundary_point_index_iterator<base_iterator> iterator;
-
854  typedef details::boundary_point_index_iterator<base_iterator> const_iterator;
-
855  #endif
- -
861 
-
871  boundary_point_index() : mask_(0xFFFFFFFFu)
-
872  {
-
873  }
-
874 
- -
880  base_iterator begin,
-
881  base_iterator end,
-
882  rule_type mask,
-
883  std::locale const &loc=std::locale())
-
884  :
-
885  map_(type,begin,end,loc),
-
886  mask_(mask)
-
887  {
-
888  }
- -
894  base_iterator begin,
-
895  base_iterator end,
-
896  std::locale const &loc=std::locale())
-
897  :
-
898  map_(type,begin,end,loc),
-
899  mask_(0xFFFFFFFFu)
-
900  {
-
901  }
-
902 
- - -
925 
-
932  void map(boundary_type type,base_iterator begin,base_iterator end,std::locale const &loc=std::locale())
-
933  {
-
934  map_ = mapping_type(type,begin,end,loc);
-
935  }
-
936 
-
946  iterator begin() const
-
947  {
-
948  return iterator(true,&map_,mask_);
-
949  }
-
950 
-
960  iterator end() const
-
961  {
-
962  return iterator(false,&map_,mask_);
-
963  }
-
964 
- -
979  {
-
980  return iterator(p,&map_,mask_);
-
981  }
-
982 
-
986  rule_type rule() const
-
987  {
-
988  return mask_;
-
989  }
-
993  void rule(rule_type v)
-
994  {
-
995  mask_ = v;
-
996  }
-
997 
-
998  private:
-
999 
-
1000  friend class segment_index<base_iterator>;
-
1001  typedef details::mapping<base_iterator> mapping_type;
-
1002  mapping_type map_;
-
1003  rule_type mask_;
-
1004  };
-
1005 
-
1007  template<typename BaseIterator>
-
1008  segment_index<BaseIterator>::segment_index(boundary_point_index<BaseIterator> const &other) :
-
1009  map_(other.map_),
-
1010  mask_(0xFFFFFFFFu),
-
1011  full_select_(false)
-
1012  {
-
1013  }
-
1014 
-
1015  template<typename BaseIterator>
-
1016  boundary_point_index<BaseIterator>::boundary_point_index(segment_index<BaseIterator> const &other) :
-
1017  map_(other.map_),
-
1018  mask_(0xFFFFFFFFu)
-
1019  {
-
1020  }
-
1021 
-
1022  template<typename BaseIterator>
-
1023  segment_index<BaseIterator> const &segment_index<BaseIterator>::operator=(boundary_point_index<BaseIterator> const &other)
-
1024  {
-
1025  map_ = other.map_;
-
1026  return *this;
-
1027  }
-
1028 
-
1029  template<typename BaseIterator>
-
1030  boundary_point_index<BaseIterator> const &boundary_point_index<BaseIterator>::operator=(segment_index<BaseIterator> const &other)
-
1031  {
-
1032  map_ = other.map_;
-
1033  return *this;
-
1034  }
-
1036 
- - -
1039  #ifdef BOOST_LOCALE_ENABLE_CHAR16_T
- -
1041  #endif
-
1042  #ifdef BOOST_LOCALE_ENABLE_CHAR32_T
- -
1044  #endif
-
1045 
- - -
1048  #ifdef BOOST_LOCALE_ENABLE_CHAR16_T
- -
1050  #endif
-
1051  #ifdef BOOST_LOCALE_ENABLE_CHAR32_T
- -
1053  #endif
-
1054 
- - -
1057  #ifdef BOOST_LOCALE_ENABLE_CHAR16_T
- -
1059  #endif
-
1060  #ifdef BOOST_LOCALE_ENABLE_CHAR32_T
- -
1062  #endif
-
1063 
- - -
1066  #ifdef BOOST_LOCALE_ENABLE_CHAR16_T
- -
1068  #endif
-
1069  #ifdef BOOST_LOCALE_ENABLE_CHAR32_T
- -
1071  #endif
-
1072 
-
1073 
-
1074 
-
1075  } // boundary
-
1076 
-
1077  } // locale
-
1078 } // boost
-
1079 
-
1086 
-
1087 #ifdef BOOST_MSVC
-
1088 #pragma warning(pop)
-
1089 #endif
-
1090 
-
1091 #endif
-
1092 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
void full_select(bool v)
Definition: index.hpp:764
-
a segment object that represents a pair of two iterators that define the range where this segment exi...
Definition: segment.hpp:102
-
boundary_type
Definition: types.hpp:39
-
boundary_point_index const & operator=(segment_index< base_iterator > const &other)
-
This class holds an index of boundary points and allows iterating over them.
Definition: index.hpp:500
-
BaseIterator base_iterator
Definition: index.hpp:562
-
segment_index< std::u16string::const_iterator > u16ssegment_index
convenience typedef
Definition: index.hpp:1040
-
segment_index< char const * > csegment_index
convenience typedef
Definition: index.hpp:1046
-
void map(boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())
Definition: index.hpp:665
-
boundary_point_index< std::wstring::const_iterator > wsboundary_point_index
convenience typedef
Definition: index.hpp:1056
-
boundary_point_index< wchar_t const * > wcboundary_point_index
convenience typedef
Definition: index.hpp:1065
-
boundary_point< base_iterator > value_type
Definition: index.hpp:860
-
segment< base_iterator > value_type
Definition: index.hpp:591
-
void rule(rule_type v)
Definition: index.hpp:993
-
segment_index const & operator=(boundary_point_index< base_iterator > const &)
-
rule_type rule() const
Definition: index.hpp:986
-
iterator end() const
Definition: index.hpp:960
-
uint32_t rule_type
Flags used with word boundary analysis – the type of the word, line or sentence boundary found...
Definition: types.hpp:51
-
Definition: generator.hpp:23
-
boundary_point_index< char16_t const * > u16cboundary_point_index
convenience typedef
Definition: index.hpp:1067
-
void map(boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())
Definition: index.hpp:932
-
unspecified_iterator_type iterator
Definition: index.hpp:578
-
segment_index()
Definition: index.hpp:602
-
segment_index< char16_t const * > u16csegment_index
convenience typedef
Definition: index.hpp:1049
-
boundary_point_index< std::string::const_iterator > sboundary_point_index
convenience typedef
Definition: index.hpp:1055
-
segment_index< std::string::const_iterator > ssegment_index
convenience typedef
Definition: index.hpp:1037
-
segment_index< char32_t const * > u32csegment_index
convenience typedef
Definition: index.hpp:1052
-
segment_index< std::wstring::const_iterator > wssegment_index
convenience typedef
Definition: index.hpp:1038
-
unspecified_iterator_type const_iterator
Definition: index.hpp:582
-
unspecified_iterator_type const_iterator
Definition: index.hpp:851
-
This class represents a boundary point in the text.
Definition: boundary_point.hpp:48
-
iterator find(base_iterator p) const
Definition: index.hpp:713
-
iterator begin() const
Definition: index.hpp:679
-
void rule(rule_type v)
Definition: index.hpp:728
-
boundary_point_index(boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())
Definition: index.hpp:893
-
boundary_point_index< char32_t const * > u32cboundary_point_index
convenience typedef
Definition: index.hpp:1070
-
segment_index(boundary_type type, base_iterator begin, base_iterator end, rule_type mask, std::locale const &loc=std::locale())
Definition: index.hpp:609
-
iterator find(base_iterator p) const
Definition: index.hpp:978
-
boundary_point_index< char const * > cboundary_point_index
convenience typedef
Definition: index.hpp:1064
-
boundary_point_index< std::u32string::const_iterator > u32sboundary_point_index
convenience typedef
Definition: index.hpp:1061
-
unspecified_iterator_type iterator
Definition: index.hpp:847
-
segment_index(boundary_type type, base_iterator begin, base_iterator end, std::locale const &loc=std::locale())
Definition: index.hpp:624
-
bool full_select() const
Definition: index.hpp:746
-
boundary_point_index< std::u16string::const_iterator > u16sboundary_point_index
convenience typedef
Definition: index.hpp:1058
-
BaseIterator base_iterator
Definition: index.hpp:831
-
iterator end() const
Definition: index.hpp:691
-
segment_index< std::u32string::const_iterator > u32ssegment_index
convenience typedef
Definition: index.hpp:1043
-
std::vector< break_info > index_type
Definition: facets.hpp:86
-
rule_type rule() const
Definition: index.hpp:721
-
iterator begin() const
Definition: index.hpp:946
-
boundary_point_index()
Definition: index.hpp:871
-
This class holds an index of segments in the text range and allows to iterate over them...
Definition: index.hpp:497
-
boundary_point_index(boundary_type type, base_iterator begin, base_iterator end, rule_type mask, std::locale const &loc=std::locale())
Definition: index.hpp:879
-
segment_index< wchar_t const * > wcsegment_index
convenience typedef
Definition: index.hpp:1047
-
-
- - - - - - diff --git a/doc/html/info_8hpp_source.html b/doc/html/info_8hpp_source.html deleted file mode 100644 index 6c8eadbe..00000000 --- a/doc/html/info_8hpp_source.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - -Boost.Locale: boost/locale/info.hpp Source File - - - - - - - - - - -
-
- - - - - - - -
-
Boost.Locale -
-
-
- - - - -
-
- -
-
-
- -
-
-
-
info.hpp
-
-
-
1 //
-
2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-
3 //
-
4 // Distributed under the Boost Software License, Version 1.0. (See
-
5 // accompanying file LICENSE_1_0.txt or copy at
-
6 // http://www.boost.org/LICENSE_1_0.txt)
-
7 //
-
8 #ifndef BOOST_LOCALE_INFO_HPP_INCLUDED
-
9 #define BOOST_LOCALE_INFO_HPP_INCLUDED
-
10 #include <boost/locale/config.hpp>
-
11 #ifdef BOOST_MSVC
-
12 # pragma warning(push)
-
13 # pragma warning(disable : 4275 4251 4231 4660)
-
14 #endif
-
15 #include <locale>
-
16 #include <string>
-
17 
-
18 
-
19 namespace boost {
-
20  namespace locale {
-
21 
-
27  class BOOST_LOCALE_DECL info : public std::locale::facet
-
28  {
-
29  public:
-
30  static std::locale::id id;
-
31 
- - - - - -
40  name_property
-
41  };
-
42 
- -
47  utf8_property
-
48  };
-
49 
-
50 
-
54  info(size_t refs = 0) : std::locale::facet(refs)
-
55  {
-
56  }
-
60  std::string language() const
-
61  {
-
62  return get_string_property(language_property);
-
63  }
-
67  std::string country() const
-
68  {
-
69  return get_string_property(country_property);
-
70  }
-
74  std::string variant() const
-
75  {
-
76  return get_string_property(variant_property);
-
77  }
-
81  std::string encoding() const
-
82  {
-
83  return get_string_property(encoding_property);
-
84  }
-
85 
-
89  std::string name() const
-
90  {
-
91  return get_string_property(name_property);
-
92  }
-
93 
-
97  bool utf8() const
-
98  {
-
99  return get_integer_property(utf8_property) != 0;
-
100  }
-
101 
-
102 #if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
-
103  std::locale::id& __get_id (void) const { return id; }
-
104 #endif
-
105  protected:
-
109  virtual std::string get_string_property(string_propery v) const = 0;
-
113  virtual int get_integer_property(integer_property v) const = 0;
-
114  };
-
115 
-
116  }
-
117 }
-
118 
-
119 #ifdef BOOST_MSVC
-
120 #pragma warning(pop)
-
121 #endif
-
122 
-
123 #endif
-
124 
-
125 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
-
ISO 3166 country id.
Definition: info.hpp:37
-
ISO 639 language id.
Definition: info.hpp:36
-
a facet that holds general information about locale
Definition: info.hpp:27
-
Variant for locale.
Definition: info.hpp:38
-
info(size_t refs=0)
Definition: info.hpp:54
-
integer_property
Definition: info.hpp:46
-
std::string name() const
Definition: info.hpp:89
-
std::string country() const
Definition: info.hpp:67
-
string_propery
Definition: info.hpp:35
-
std::string encoding() const
Definition: info.hpp:81
-
static std::locale::id id
This member uniquely defines this facet, required by STL.
Definition: info.hpp:30
-
bool utf8() const
Definition: info.hpp:97
-
std::string variant() const
Definition: info.hpp:74
-
encoding name
Definition: info.hpp:39
-
std::string language() const
Definition: info.hpp:60
-
-
- - - - - - diff --git a/doc/html/jquery.js b/doc/html/jquery.js deleted file mode 100644 index 3db33e62..00000000 --- a/doc/html/jquery.js +++ /dev/null @@ -1,72 +0,0 @@ -/*! - * jQuery JavaScript Library v1.7.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Mon Nov 21 21:11:03 2011 -0500 - */ -(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; -if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 -},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av); -ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; -if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b -})}})(window); -/*! - * jQuery UI 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! - * jQuery UI Widget 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Widget - */ -(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! - * jQuery UI Mouse 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Mouse - * - * Depends: - * jquery.ui.widget.js - */ -(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null; -p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('