1
0
mirror of https://git.suyu.dev/suyu/suyu synced 2025-09-20 21:12:09 -05:00

Initial commit

This commit is contained in:
Crimson-Hawk
2024-03-05 16:42:40 +08:00
commit f1e4595ebf
39576 changed files with 7006612 additions and 0 deletions

View File

View File

View File

@@ -0,0 +1,26 @@
# Use, modification, and distribution are
# subject to the Boost Software License, Version 1.0. (See accompanying
# file LICENSE.txt)
#
# Copyright Rene Rivera 2020.
# For Drone CI we use the Starlark scripting language to reduce duplication.
# As the yaml syntax for Drone CI is rather limited.
#
#
globalenv={}
linuxglobalimage="cppalliance/droneubuntu1604:1"
windowsglobalimage="cppalliance/dronevs2019"
def main(ctx):
return [
linux_cxx("TOOLSET=gcc CXXSTD=03,11 Job 0", "g++", packages="", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': 'b6589fc6ab'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc-5 CXXSTD=03,11,14,1z Job 1", "g++-5", packages="g++-5", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc-5', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '356a192b79'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc-6 CXXSTD=03,11,14,1z Job 2", "g++-6", packages="g++-6", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc-6', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': 'da4b9237ba'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc-7 CXXSTD=03,11,14,17 Job 3", "g++-7", packages="g++-7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc-7', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': '77de68daec'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang CXXSTD=03,11,14,1z Job 4", "clang++", packages="libstdc++-4.9-dev", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '1b64538924'}, globalenv=globalenv),
osx_cxx("TOOLSET=clang CXXSTD=03,11,14,1z Job 5", "clang++", packages="", buildtype="boost", buildscript="drone", environment={'TOOLSET': 'clang', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': 'ac3478d69a'}, globalenv=globalenv),
]
# from https://github.com/boostorg/boost-ci
load("@boost_ci//ci/drone/:functions.star", "linux_cxx","windows_cxx","osx_cxx","freebsd_cxx")

View File

@@ -0,0 +1,36 @@
#!/bin/bash
# Copyright 2020 Rene Rivera, Sam Darwin
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE.txt or copy at http://boost.org/LICENSE_1_0.txt)
set -e
export TRAVIS_BUILD_DIR=$(pwd)
export DRONE_BUILD_DIR=$(pwd)
export TRAVIS_BRANCH=$DRONE_BRANCH
export VCS_COMMIT_ID=$DRONE_COMMIT
export GIT_COMMIT=$DRONE_COMMIT
export REPO_NAME=$DRONE_REPO
export PATH=~/.local/bin:/usr/local/bin:$PATH
if [ "$DRONE_JOB_BUILDTYPE" == "boost" ]; then
echo '==================================> INSTALL'
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
cd ..
git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
cd boost-root
git submodule update --init tools/build
git submodule update --init libs/config
git submodule update --init tools/boostdep
cp -r $TRAVIS_BUILD_DIR/* libs/icl
python tools/boostdep/depinst/depinst.py icl
./bootstrap.sh
./b2 headers
echo '==================================> SCRIPT'
./b2 -j 3 libs/icl/test toolset=$TOOLSET cxxstd=$CXXSTD
fi

View File

@@ -0,0 +1,96 @@
* text=auto !eol svneol=native#text/plain
*.gitattributes text svneol=native#text/plain
# Scriptish formats
*.bat text svneol=native#text/plain
*.bsh text svneol=native#text/x-beanshell
*.cgi text svneol=native#text/plain
*.cmd text svneol=native#text/plain
*.js text svneol=native#text/javascript
*.php text svneol=native#text/x-php
*.pl text svneol=native#text/x-perl
*.pm text svneol=native#text/x-perl
*.py text svneol=native#text/x-python
*.sh eol=lf svneol=LF#text/x-sh
configure eol=lf svneol=LF#text/x-sh
# Image formats
*.bmp binary svneol=unset#image/bmp
*.gif binary svneol=unset#image/gif
*.ico binary svneol=unset#image/ico
*.jpeg binary svneol=unset#image/jpeg
*.jpg binary svneol=unset#image/jpeg
*.png binary svneol=unset#image/png
*.tif binary svneol=unset#image/tiff
*.tiff binary svneol=unset#image/tiff
*.svg text svneol=native#image/svg%2Bxml
# Data formats
*.pdf binary svneol=unset#application/pdf
*.avi binary svneol=unset#video/avi
*.doc binary svneol=unset#application/msword
*.dsp text svneol=crlf#text/plain
*.dsw text svneol=crlf#text/plain
*.eps binary svneol=unset#application/postscript
*.gz binary svneol=unset#application/gzip
*.mov binary svneol=unset#video/quicktime
*.mp3 binary svneol=unset#audio/mpeg
*.ppt binary svneol=unset#application/vnd.ms-powerpoint
*.ps binary svneol=unset#application/postscript
*.psd binary svneol=unset#application/photoshop
*.rdf binary svneol=unset#text/rdf
*.rss text svneol=unset#text/xml
*.rtf binary svneol=unset#text/rtf
*.sln text svneol=native#text/plain
*.swf binary svneol=unset#application/x-shockwave-flash
*.tgz binary svneol=unset#application/gzip
*.vcproj text svneol=native#text/xml
*.vcxproj text svneol=native#text/xml
*.vsprops text svneol=native#text/xml
*.wav binary svneol=unset#audio/wav
*.xls binary svneol=unset#application/vnd.ms-excel
*.zip binary svneol=unset#application/zip
# Text formats
.htaccess text svneol=native#text/plain
*.bbk text svneol=native#text/xml
*.cmake text svneol=native#text/plain
*.css text svneol=native#text/css
*.dtd text svneol=native#text/xml
*.htm text svneol=native#text/html
*.html text svneol=native#text/html
*.ini text svneol=native#text/plain
*.log text svneol=native#text/plain
*.mak text svneol=native#text/plain
*.qbk text svneol=native#text/plain
*.rst text svneol=native#text/plain
*.sql text svneol=native#text/x-sql
*.txt text svneol=native#text/plain
*.xhtml text svneol=native#text/xhtml%2Bxml
*.xml text svneol=native#text/xml
*.xsd text svneol=native#text/xml
*.xsl text svneol=native#text/xml
*.xslt text svneol=native#text/xml
*.xul text svneol=native#text/xul
*.yml text svneol=native#text/plain
boost-no-inspect text svneol=native#text/plain
CHANGES text svneol=native#text/plain
COPYING text svneol=native#text/plain
INSTALL text svneol=native#text/plain
Jamfile text svneol=native#text/plain
Jamroot text svneol=native#text/plain
Jamfile.v2 text svneol=native#text/plain
Jamrules text svneol=native#text/plain
Makefile* text svneol=native#text/plain
README text svneol=native#text/plain
TODO text svneol=native#text/plain
# Code formats
*.c text svneol=native#text/plain
*.cpp text svneol=native#text/plain
*.h text svneol=native#text/plain
*.hpp text svneol=native#text/plain
*.ipp text svneol=native#text/plain
*.tpp text svneol=native#text/plain
*.jam text svneol=native#text/plain
*.java text svneol=native#text/plain

View File

@@ -0,0 +1,93 @@
# Copyright 2016, 2017 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
language: cpp
sudo: false
python: "2.7"
branches:
only:
- master
- develop
- /feature\/.*/
env:
matrix:
- BOGUS_JOB=true
matrix:
exclude:
- env: BOGUS_JOB=true
include:
- os: linux
compiler: g++
env: TOOLSET=gcc CXXSTD=03,11
- os: linux
compiler: g++-5
env: TOOLSET=gcc-5 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- g++-5
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-6
env: TOOLSET=gcc-6 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- g++-6
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-7
env: TOOLSET=gcc-7 CXXSTD=03,11,14,17
addons:
apt:
packages:
- g++-7
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++
env: TOOLSET=clang CXXSTD=03,11,14,1z
addons:
apt:
packages:
- libstdc++-4.9-dev
sources:
- ubuntu-toolchain-r-test
- os: osx
compiler: clang++
env: TOOLSET=clang CXXSTD=03,11,14,1z
install:
- BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
- cd ..
- git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule update --init tools/build
- git submodule update --init libs/config
- git submodule update --init tools/boostdep
- cp -r $TRAVIS_BUILD_DIR/* libs/icl
- python tools/boostdep/depinst/depinst.py icl
- ./bootstrap.sh
- ./b2 headers
script:
- ./b2 -j 3 libs/icl/test toolset=$TOOLSET cxxstd=$CXXSTD
notifications:
email:
on_success: always

View File

@@ -0,0 +1,39 @@
# Generated by `boostdep --cmake icl`
# Copyright 2020 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# https://www.boost.org/LICENSE_1_0.txt
cmake_minimum_required(VERSION 3.5...3.16)
project(boost_icl VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
add_library(boost_icl INTERFACE)
add_library(Boost::icl ALIAS boost_icl)
target_include_directories(boost_icl INTERFACE include)
target_link_libraries(boost_icl
INTERFACE
Boost::assert
Boost::concept_check
Boost::config
Boost::container
Boost::core
Boost::date_time
Boost::detail
Boost::iterator
Boost::move
Boost::mpl
Boost::range
Boost::rational
Boost::static_assert
Boost::type_traits
Boost::utility
)
if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")
add_subdirectory(test)
endif()

View File

@@ -0,0 +1,60 @@
# Boost.Icl
#
# Copyright (c) 2008-2009 Joachim Faulhaber
# Copyright (c) 2000-2006 Cortex Software GmbH
#
# 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)
import doxygen ;
import quickbook ;
# -----------------------------------------------------------------------------
# Doxygen
# -----------------------------------------------------------------------------
doxygen icldoc
:
[ glob ../../../boost/icl/*.hpp ]
:
<doxygen:param>EXTRACT_ALL=NO
<doxygen:param>HIDE_UNDOC_MEMBERS=YES
<doxygen:param>EXTRACT_PRIVATE=NO
<doxygen:param>ENABLE_PREPROCESSING=YES
<doxygen:param>MACRO_EXPANSION=NO
<doxygen:param>EXPAND_ONLY_PREDEF=YES
<doxygen:param>SEARCH_INCLUDES=NO
<reftitle>"Interval Container Library Reference"
;
# -----------------------------------------------------------------------------
# Quickbook
# -----------------------------------------------------------------------------
import quickbook ;
xml icl
:
icl.qbk
;
boostbook standalone
:
icl
:
<xsl:param>boost.root=../../../..
<xsl:param>boost.libraries=../../../libraries.htm
<xsl:param>toc.max.depth=2
<xsl:param>toc.section.depth=2
<xsl:param>chunk.section.depth=2
<dependency>icldoc
;
###############################################################################
alias boostdoc ;
explicit boostdoc ;
alias boostrelease : standalone ;
explicit boostrelease ;

View File

@@ -0,0 +1,45 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[section Acknowledgments]
I would like to thank CEO Hermann Steppe and Chief Developer Peter Wuttke
of Cortex Software GmbH for their friendly support of my work on the
Icl and their permission to release the library as open source.
For her genuine interest in my work and many creative and
uplifting talks I want to thank my colleague Axinja Ott who
contributed a lot to the success of the project.
Many thanks to Paul A. Bristow, Vicente Botet, Luke Simonson,
Alp Mestan, David Abrahams, Steven Watanabe, Neal Becker, Phil Endecott,
Robert Stewart, Jeff Flinn, Zachary Turner
and other developers
form the Boost community who supported the development of the
Interval Template Library by numerous hints and feedbacks on
the boost mailing list.
Also helpful have been conversations, hints and contributions
at the BoostCon 2009 by Jeff Garland, David Jenkins, Tobias Loew,
Barend Gehrels, Luke Simonson and Hartmut Kaiser.
Special thanks for reading and improving this documentation to
Neal Becker, Ilya Bobir and Brian Wood.
Jeff Flinn provided valuable feedback and a codepatch to fix
portability problems with CodeWarrior 9.4. Many thanks for that.
I am grateful to Hartmut Kaiser for managing the formal review of
this library and to all the reviewers and participants
in the related discussions, including Jeff Flinn, Luke Simonson,
Phil Endecott, Eric M. Jonas, Peter Wuttke, Robert Stewart,
Barend Gehrels, Vicente Botet, Thomas Klimpel, Paul A. Bristow,
Jerry Jeremiah, John Reid, Steven Watanabe, Brian Wood, Markus Werle
and Michael Caisse.
For sending in bug reports, code patches and suggestions for improvements
after the review thanks to Denis and Marvin Sielenkemper.
[endsect]

View File

@@ -0,0 +1,465 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[section Concepts]
[section Naming]
The *icl* is about sets and maps and a useful
implementation of sets and maps using intervals.
In the documentation of the *icl* the different
set and map types are grouped in various ways.
In order to distinguish those groups we use
a naming convention.
Names of concepts start with a capital letter.
So `Set` and `Map` stand for the /concept/ of
a set and a map as defined in the *icl*.
When we talk about `Sets` and `Maps` though,
most of the time we do not not talk about the
concepts themselves but the set of types
that implement those concepts in the *icl*.
The main groups, ['*icl containers*] can be
divided in, are summarized in the next table:
[table
[]
[[] [`Set`] [`Map`] ]
[[element container] [__std_set__] [__icl_map__]]
[[interval container][__itv_set__, __sep_itv_set__, __spl_itv_set__][__itv_map__, __spl_itv_map__]]
]
* Containers std:set, __itv_set__, __sep_itv_set__, __spl_itv_set__
are models of concept `Set`.
* Containers __icl_map__, __itv_map__, __spl_itv_map__
are models of concept `Map`.
* Containers that are ['*implemented*] using elements or element value pairs
are called ['*element containers*].
* Containers that are ['*implemented*] using intervals or interval value pairs
(also called segments) are called ['*interval containers*].
* When we talk about `Sets` or `Maps` we abstract from the way they are implemented.
* When we talk about /element containers/ or /interval containers/
we refer to the way they are implemented.
* __std_set__ is a model of the icl's `Set` concept.
* __std_map__ is ['*not*] a model of the icl's `Map` concept.
* The *icl's* element map
is always denoted qualified as __icl_map__
to avoid confusion with`std::map`.
[endsect][/ Naming]
[section Aspects]
There are two major ['*aspects*] or ['*views*] of icl containers. The first and predominant
aspect is called __bi_conceptual__. The second and minor aspect is called __bi_iterative__.
[/ table
[[Aspect] [Abstraction level][] [] [Practical]]
[[__Conceptual__][more abstract][concept related] [iterator independent][interval_sets(maps) can be used as sets(maps)
except for element iteration.]]
[[__Iterative__] [less abstract][implementation related][iterator dependent] [interval_sets(maps) iterate over intervals]]
]
[table
[[][__Conceptual__][__Iterative__]]
[[Abstraction level][more abstract][less abstract]]
[[][sequence of elements is irrelevant][sequence of elements is relevant]]
[[][iterator independent][iterator dependent]]
[[Informs about][membership of elements][sequence of intervals (segmentation)]]
[[Equality][equality of elements][equality of segments]]
[[Practical][interval_sets(maps) can be used as sets(maps)
of elements(element value pairs) ]
[Segmentation information is available.
See e.g. [link boost_icl.examples.time_grids Time grids for months and weeks]]]
]
On the __conceptual__ aspect
* an `interval` implements a set of elements partially.
* an __itv_set__ implements a set of elements.
* an __itv_map__ implements a map of element value pairs.
On the __iterative__ aspect
* an __itv_set__ implements a set of intervals.
* an __itv_map__ implements a map of interval value pairs.
[endsect][/ Aspects]
[section Sets and Maps]
[h5 A Set Concept]
On the __conceptual__ aspect all __itv_bsets__ are models
of a concept `Set`.
The `Set` concept of the Interval Template Library refers to the
mathematical notion of a set.
[table
[[Function] [Variant][implemented as] ]
[[empty set ] [] [`Set::Set()`] ]
[[subset relation] [] [`bool Set::within(const Set& s1, const Set& s2)const`] ]
[[equality ] [] [`bool is_element_equal(const Set& s1, const Set& s2)`]]
[[set union] [inplace][`Set& operator += (Set& s1, const Set& s2)`] ]
[[] [] [`Set operator + (const Set& s1, const Set& s2)`]]
[[set difference] [inplace][`Set& operator -= (Set& s1, const Set& s2)`] ]
[[] [] [`Set operator - (const Set& s1, const Set& s2)`]]
[[set intersection][inplace][`Set& operator &= (Set& s1, const Set& s2)`] ]
[[] [] [`Set operator & (const Set& s1, const Set& s2)`]]
]
Equality on `Sets` is not implemented as `operator ==`, because `operator ==`
is used for the stronger lexicographical equality on segments, that takes the
segmentation of elements into account.
Being models of concept `Set`, __icl_set__ and all __itv_bsets__
implement these
operations and obey the associated laws on `Sets`. See e.g.
[@http://en.wikipedia.org/wiki/Algebra_of_sets an algebra of sets here].
[h5 Making intervals complete]
An __itv__ is considered to be a set of elements as well.
With respect to the `Set` concept
presented above __itv__ implements the concept only partially. The reason for
that is that addition and subtraction can not
be defined on __itvs__. Two intervals `[1,2]` and `[4,5]` are not addable to
a ['*single*] new __itv__. In other words __itvs__ are incomplete w.r.t. union and
difference. __Itv_sets__ can be defined as the ['*completion*] of intervals
for the union and difference operations.
When we claim that addition or subtraction can not be defined
on intervals, we are not considering things like e.g.
interval arithmetics, where these operations can be defined,
but with a different semantics.
[h5 A Map Concept]
On the __conceptual__ aspect __icl_map__ and all __itv_bmaps__ are models of a
concept `Map`.
Since a `map` is a `set of pairs`, we try to design the `Map` concept in accordance
to the `Set` concept above.
[table
[[Function] [Variant][implemented as] ]
[[empty map ] [] [`Map::Map()`] ]
[[subset relation] [] [`bool within(const Map& s2, const Map& s2)const`] ]
[[equality ] [] [`bool is_element_equal(const Map& s1, const Map& s2)`]]
[[map union] [inplace][`Map& operator += (Map& s1, const Map& s2)`] ]
[[] [] [`Map operator + (const Map& s1, const Map& s2)`]]
[[map difference] [inplace][`Map& operator -= (Map& s1, const Map& s2)`] ]
[[] [] [`Map operator - (const Map& s1, const Map& s2)`]]
[[map intersection][inplace][`Map& operator &= (Map& s1, const Map& s2)`] ]
[[] [] [`Map operator & (const Map& s1, const Map& s2)`]]
]
As one can see, on the abstract kernel the signatures of the icl's `Set` and `Map`
concepts are identical, except for the typename.
While signatures are identical
The sets of valid laws are different, which will be described in more detail
in the sections on the
[link boost_icl.semantics.sets semantics of icl Sets] and
[link boost_icl.semantics.maps Maps].
These semantic differences are mainly based on the implementation
of the pivotal member functions `add` and `subtract` for elements
and intervals that again serve for implementing
`operator +=` and `operator -=`.
[endsect][/ Abstract Sets and Maps]
[section:aggrovering Addability, Subtractability and Aggregate on Overlap]
While ['*addition*] and ['*subtraction*] on `Sets`
are implemented as ['*set union*] and ['*set difference*],
for `Maps` we want to implement ['*aggregation*] on
the associated values for the case of collision (of key elements)
or overlap (of key intervals), which has been refered to as
['*aggregate on overlap*] above.
This kind of `Addability` and `Subtractability` allows to compute
a lot of useful aggregation results on an __itv_map_s__ associated
values, just by adding and subtracting value pairs.
Various examples of ['*aggregate on overlap*] are given in
[link boost_icl.examples section examples].
In addition, this concept of `Addability` and `Subtractability`
contains the classical `Insertability` and `Erasability` of
key value pairs as a special case so it provides a broader
new semantics without loss of the /classical/ one.
Aggregation is implemented for functions `add` and `subtract`
by propagating a `Combiner` functor to combine associated values
of type `CodomainT`. The standard `Combiner` is set as
default template parameter
`template<class>class Combine = inplace_plus`, which
is again generically implemented by `operator +=` for all
Addable types.
For `Combine` functors, the Icl provides an __inverse__ functor.
[table
[[`Combine<T>`] [`inverse<Combine<T> >::type`]]
[[__ip_plus__`<T>`] [__ip_minus__`<T>`] ]
[[__ip_et__`<T>`] [__ip_caret__`<T>`] ]
[[__ip_star__`<T>`] [__ip_slash__`<T>`] ]
[[__ip_max__`<T>`] [__ip_min__`<T>`] ]
[[__ip_identity__`<T>`][__ip_erasure__`<T>`]]
[[`Functor`] [__ip_erasure__`<T>`]]
]
The meta function __inverse__ is mutually implemented for
all but the default functor `Functor`
such that e.g.
`inverse<inplace_minus<T> >::type` yields `inplace_plus<T>`.
Not in every case, e.g. `max/min`, does the __inverse__ functor
invert the effect of it's antetype. But for the default
it does:
[table
[[] [`_add<Combine<CodomainT> >((k,x))`] [`_subtract<inverse<Combine<CodomainT> >::type>((k,x))`]]
[[Instance] [`_add<inplace_plus<int> >((k,x))`] [`_subtract<inplace_minus<int> >((k,x))`]]
[[Inversion][adds `x` on overlap. This inverts a preceding `subtract` of `x` on `k`][subtracts `x` on overlap. This inverts a preceding `add` of `x` on `k`]]
]
As already mentioned aggregating `Addability` and `Subtractability`
on `Maps` contains the /classical/ `Insertability` and `Erasability` of
key value pairs as a special case:
[table
[[aggregating function][equivalent /classical/ function]]
[[`_add<inplace_identity<CodomainT> >(const value_type&)`] [`insert(const value_type&)`]]
[[`_subtract<inplace_erasure<CodomainT> >(const value_type&)`][`erase(const value_type&)`]]
]
The aggregating member function templates `_add` and `_subtract`
are not in the public interface of __itv_bmaps__, because
the `Combine` functor is intended to be an invariant
of __itv_bmap_s__
template instance to avoid, that clients
spoil the aggregation by accidentally calling
varying aggregation functors.
But you could instantiate an __itv_map__ to have
`insert/erase` semantics this way:
``
interval_map<int,int,partial_absorber,
std::less,
inplace_identity //Combine parameter specified
> m;
interval<int>::type itv = interval<int>::rightopen(2,7);
m.add(make_pair(itv,42)); //same as insert
m.subtract(make_pair(itv,42)); //same as erase
``
This is, of course, only a clarifying example. Member functions
`insert` and `erase` are available in __itv_bmap_s__ interface
so they can be called directly.
[endsect][/ Addability, Subtractability and Aggregation on Overlap]
[section Map Traits]
Icl maps differ in their behavior dependent on how they handle
[@http://en.wikipedia.org/wiki/Identity_element ['*identity elements*]]
of the associated type `CodomainT`.
[h4 Remarks on Identity Elements]
In the pseudo code snippets below `0` will be used to denote
[@http://en.wikipedia.org/wiki/Identity_element `identity elements`],
which can be
different objects like `const double 0.0`, empty sets, empty strings,
null-vectors etc. dependent of the instance type for parameter `CodomainT`.
The existence of an ['*identity element*] wrt. an `operator+=` is a requirement
for template type `CodomainT`.
[table
[[type] [operation] [identity element]]
[[`int`] [addition] [`0`] ]
[[`string`] [concatenation] [`""`] ]
[[`set<T>`] [union] [`{}`] ]
]
In these cases the `identity element` value is delivered by the default constructor
of the maps `CodomainT` type. But there are well known exceptions
like e.g. numeric multiplication:
[table
[[type] [operation] [identity element]]
[[`int`] [multiplication] [`1`] ]
]
Therefore icl functors,
that serve as `Combiner` parameters of icl Maps
implement a static function `identity_element()` to make
sure that the correct `identity_element()` is used
in the implementation
of ['aggregate on overlap].
``
inplace_times<int>::identity_element() == 1
// or more general
inplace_times<T>::identity_element() == unit_element<T>::value()
``
[h4 Definedness and Storage of Identity Elements]
There are two /properties/ or /traits/ of icl maps that can be
chosen by a template parameter `Traits`.
The ['*first trait*] relates to the ['*definedness*] of the map. Icl
maps can be *partial* or *total* on the set of values given by
domain type `DomainT`.
* A ['*partial*] map is only defined on those key elements that have been
inserted into the Map. This is usually expected and so ['*partial definedness*]
is the default.
* Alternatively an icl Map can be ['*total*]. It is then considered to
contain a ['*neutral value*] for all key values that are not
stored in the map.
The ['*second trait*] is related to the representation of `identity elements` in
the map. An icl map can be a ['*identity absorber*] or a ['*identity enricher*].
* A ['*identity absorber*] never stores value pairs `(k,0)` that carry identity elements.
* A ['*identity enricher*] stores value pairs `(k,0)`.
For the template parameter `Traits` of icl Maps we have the following
four values.
[table
[[] [identity absorber] [identity enricher]]
[[partial][partial_absorber /(default)/][partial_enricher]]
[[total] [total_absorber] [total_enricher]]
]
[h4 Map Traits motivated]
Map traits are a late extension to the *icl*. Interval maps have
been used for a couple of years
in a variety of applications at Cortex Software GmbH
with an implementation that resembled the default trait.
Only the deeper analysis of the icl's ['*aggregating Map's
concept*] in the course of preparation of the library for boost
led to the introduction of map Traits.
[h5 Add-Subtract Antinomy in Aggregating Maps]
Constitutional for the absorber/enricher propery is a little
antinomy.
We can insert value pairs to the map by ['*adding*] them to the map
via operations `add, +=` or `+`:
``{} + {(k,1)} == {(k,1)} // addition``
Further addition on common keys triggers aggregation:
``{(k,1)} + {(k,1)} == {(k,2)} // aggregation for common key k``
A subtraction of existing pairs
``{(k,2)} - {(k,2)} == {(k,0)} // aggregation for common key k``
yields value pairs that are associated with 0-values or `identity elements`.
So once a value pair is created for a key `k` it can not be
removed from the map via subtraction (`subtract, -=` or `-`).
The very basic fact on sets, that we can remove what we have
previously added
``x - x = {}``
does not apply.
This is the motivation for the ['*identity absorber*] Trait.
A identity absorber map handles value pairs that carry
identity elements as ['*non-existent*], which saves the law:
``x - x = {}``
Yet this introduces a new problem: With such a /identity absorber/
we are /by definition/ unable to store a value `(k,0)` in
the map. This may be unfavorable because it is not inline with the
behavior of stl::maps and this is not necessarily expected by clients
of the library.
[/ CL On the other hand, the notion of a identity absorbing map
is more than just an akademic rescue effort for a formal law.
It turns out that absorber maps have desirable properties
for aggregation computations (see section semantics)
that proved to be useful in practice and are in many cases
just what is needed.]
The solution to the problem is the introduction of the
identity enricher Trait, so the user can choose a map variant
according to her needs.
[h5 Partial and Total Maps]
The idea of a identity absorbing map is,
that an ['*associated identity element*] value of a pair `(k,0)`
['*codes non-existence*] for it's key `k`.
So the pair `(k,0)` immediately tunnels from
a map where it may emerge into the realm
of non existence.
``{(k,0)} == {}``
If identity elements do not code ['*non-existence*] but
['*existence with null quantification*],
we can also think of a map
that has an associated identity element
['*for every*] key `k` that has no associated value
different from 0.
So in contrast to modelling *all* neutral
value pairs `(k,0)` as being ['*non-existent*]
we can model *all* neutral value pairs `(k,0)` as being
['*implicitly existent*].
A map that is modelled in this way, is one large vector with
a value `v` for every key `k` of it's domain type `DomainT`.
But only non-identity values are actually stored.
This is the motivation for the definedness-Trait on `icl Maps`.
A ['*partial*] map models the intuitive view that only value
pairs are existent, that are stored in the map.
A ['*total*] map exploits the possibility that all
value pairs that are not stored can be considered
as being existent and ['*quantified*] with the identity element.
[/
partial existential view
total quantifying view
]
[h4 Pragmatical Aspects of Map Traits]
From a pragmatic perspective value pairs that carry `identity elements` as
mapped values can often be ignored.
If we count, for instance,
the number of overlaps of inserted intervals in an __itv_map__
(see example [link boost_icl.examples.overlap_counter overlap counter]),
most of the time, we are not
interested in whether an overlap has been counted `0` times or
has not been counted at all. A identity enricher map
is only needed, if we want to distinct between non-existence
and 0-quantification.
The following distinction can *not* be made for a __pabsorber__ map
but it can be made for an __penricher__ map:
[pre
(k,v) does not exist in the map: Pair (k,v) has NOT been dealt with
(k,0) key k carries 0 : Pair (k,v) has been dealt with resulting in v=0
]
Sometimes this subtle distinction is needed. Then a __penricher__
is the right choice. Also, If we want to give two `icl::Maps`
a common set of keys in order to, say, iterate synchronously
over both maps, we need /enrichers/.
[endsect] [/ Map Traits]
[endsect][/ Concepts]

View File

@@ -0,0 +1,40 @@
[/
Copyright (c) 2010-2010 Joachim Faulhaber
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)
]
[section Customization]
[section Intervals]
The *icl* provides the possibility of customizing user defined interval class templates
and class types with static interval borders to be used with interval containers.
There is a template __itv_tr__, that has to be instatiated for the user defined
interval type, in order to provide associated types and basic functions.
Bound types of the interval are assigned by specializing the template
`interval_bound_type`.
[table
[[Customize] [Name] [Description]]
[[associated types] [`interval_type`] [interval type of the partial specialisation for the user defined type] ]
[[] [`domain_type`] [the domain or element type of the interval] ]
[[] [`domain_compare`] [the ordering on the elements] ]
[[basic functions] [`construct(const domain_type&, const domain_type&)`] [construct an interval] ]
[[] [`lower(const interval_type&)`] [select the interval's lower bound] ]
[[] [`upper(const interval_type&)`] [select the interval's upper bound] ]
[[interval bounds] [`interval_bound_type<interval_type>{...}`] [specialize meta function `interval_bound_type`
to assign one of the 4 bound types to the user defined interval. ] ]
]
How to do the customization in detail is shown in example
[link boost_icl.examples.custom_interval custom interval].
[endsect][/ Intervals]
[endsect][/ Customization]

View File

@@ -0,0 +1,387 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[section Examples]
[section Overview]
[table Overview over Icl Examples
[[level] [example] [classes] [features]]
[[intro][[link boost_icl.examples.party Party]]
[__itv_map__][Generates an attendance history of a party
by inserting into an __itv_map__.
Demonstrating
['*aggregate on overlap*].]]
[[basic] [[link boost_icl.examples.interval Interval]]
[__dc_itv__, __ct_itv__ ] [Intervals for discrete and continuous instance types.
Closed and open interval borders.]]
[[basic] [[link boost_icl.examples.dynamic_interval Dynamic intervals]]
[__dc_itv__, __ct_itv__, __itv__ ] [Intervals with dynamic interval bounds as library default.]]
[[basic] [[link boost_icl.examples.static_interval Static intervals]]
[__ro_itv__, __itv__ ] [Intervals with static interval bounds and changing the library default.]]
[[basic] [[link boost_icl.examples.interval_container Interval container]]
[__itv_set__,\n__sep_itv_set__,\n__spl_itv_set__,\n__spl_itv_map__,\n__itv_map__]
[Basic characteristics of interval containers.]]
[[basic] [[link boost_icl.examples.overlap_counter Overlap counter]]
[__itv_map__][The most simple application of an interval map:
Counting the overlaps of added intervals.]]
[[advanced][[link boost_icl.examples.partys_height_average Party's height average]]
[__itv_map__][Using /aggregate on overlap/ a history of height averages of party guests is computed.
Associated values are user defined class objects, that implement
an appropriate `operator +=` for the aggregation.]]
[[advanced][[link boost_icl.examples.partys_tallest_guests Party's tallest guests]]
[__itv_map__,\n__spl_itv_map__]
[Using /aggregate on overlap/ the heights of the party's tallest guests are computed.
Associated values are aggregated via a maximum functor, that can
be chosen as template parameter of an interval_map class template.]]
[[advanced][[link boost_icl.examples.time_grids Time grids for months and weeks]]
[__spl_itv_set__]
[Shows how the ['*border preserving*]
__spl_itv_set__ can be used to create time partitions where different
periodic time intervals overlay each other.]]
[[advanced][[link boost_icl.examples.man_power Man power]]
[__itv_set__,\n__itv_map__]
[Set style operations on __itv_sets__ and __itv_maps__ like union, difference
and intersection can be used to obtain calculations in a flexible way. Example
[*man_power] demonstrates such operations in the process of calculating the
available man-power of a company in a given time interval.]]
[[advanced][[link boost_icl.examples.user_groups User groups]][__itv_map__]
[Example [*user_groups] shows how interval_maps can be unified or
intersected to calculate desired information.]]
[[and std] [[link boost_icl.examples.std_copy Std copy]]
[__itv_map__][Fill interval containers using `std::copy`.]]
[[and std] [[link boost_icl.examples.std_transform Std transform]]
[__itv_map__,\n__sep_itv_set__][Fill interval containers from user defined objects using `std::transform`.]]
[[customize] [[link boost_icl.examples.custom_interval Custom interval]]
[__itv_tr__][Use interval containers with your own interval class types.]]
]
[endsect]
[section Party]
[import ../example/boost_party_/boost_party.cpp]
Example *party* demonstrates the possibilities of an interval map
(__itv_map__ or __spl_itv_map__).
An __itv_map__ maps intervals to a given content. In this case the
content is a set of party guests represented by their name strings.
As time goes by, groups of people join the party and leave later in the evening.
So we add a time interval and a name set to the __itv_map__ for the attendance
of each group of people, that come together and leave together.
On every overlap of intervals, the corresponding name sets are accumulated. At
the points of overlap the intervals are split. The accumulation of content
is done via an operator += that has to be implemented
for the content parameter of the __itv_map__.
Finally the interval_map contains the history of attendance and all points in
time, where the group of party guests changed.
Party demonstrates a principle that we call
['*aggregate on overlap*]:
On insertion a value associated to the interval is aggregated with those
values in the interval_map that overlap with the inserted value.
There are two behavioral aspects to ['*aggregate on overlap*]: a ['*decompositional
behavior*] and an ['*accumulative behavior*].
* The ['*decompositional behavior*] splits up intervals on the /time/ /dimension/ of the
interval_map so that the intervals are split whenever associated values
change.
* The ['*accumulative behavior*] accumulates associated values on every overlap of
an insertion for the associated values.
The aggregation function is += by default. Different aggregations can
be used, if desired.
[example_boost_party]
[caution
We are introducing __itv_maps__ using an
['interval map ['*of sets of strings*]],
because of it's didactic advantages. The party example is
used to give an immediate access to the basic ideas of
interval maps and /aggregate on overlap/.
For real world applications, an interval_map of sets is
not necessarily recommended.
It has the same efficiency problems as
a `std::map` of `std::sets`.
There is a big realm though of using
interval_maps with numerical and other
efficient data types for the associated values.
]
[endsect] [/ Party]
[section Interval]
Example *interval* shows some basic functionality of __itvs__.
* Different instances of __itvs__ for integral ([^int, Time]) and
continuous types ([^double, std::string]) are used.
* The examples uses open and closed intervals bounds.
* Some borderline functions calls on open interval borders are tested e.g.:
`interval<double>::rightopen(1/sqrt(2.0), sqrt(2.0)).contains(sqrt(2.0));`
[import ../example/interval_/interval.cpp]
[example_interval]
[endsect]
[section Dynamic interval]
[import ../example/dynamic_interval_/dynamic_interval.cpp]
[example_dynamic_interval]
[endsect]
[section Static interval]
[import ../example/static_interval_/static_interval.cpp]
[example_static_interval]
[endsect]
[section Interval container]
Example [*interval container] demonstrates the characteristic behaviors
of different interval containers that are also summarized
in the introductory [link boost_icl.introduction.interval_combining_styles Interval Combining Styles].
[import ../example/interval_container_/interval_container.cpp]
[example_interval_container]
[endsect]
[section Overlap counter]
Example [*overlap counter] provides the simplest application
of an interval_map that maps intervals to integers.
An interval_map<int,int> serves as an overlap counter
if we only add interval value pairs that carry 1 as
associated value.
Doing so, the associated values that are accumulated in
the interval_map are just the number of overlaps of all added
intervals.
[import ../example/overlap_counter_/overlap_counter.cpp]
[example_overlap_counter]
[endsect]
[section:partys_height_average Party's height average]
In the example `partys_height_average.cpp` we compute yet another aggregation:
The average height of guests. This is done by defining a `class counted_sum`
that sums up heights and counts the number of guests
via an `operator +=`.
Based on the `operator +=` we can aggregate counted sums on addition
of interval value pairs into an interval_map.
[import ../example/partys_height_average_/partys_height_average.cpp]
[example_partys_height_average]
Required for `class counted_sum` is a default constructor
`counted_sum()`and
an `operator ==` to test equality.
To enable additive aggregation on overlap also
an `operator +=` is needed.
Note that no `operator -=` for a subtraction of `counted_sum` values
is defined. So you can only add to the
`interval_map<ptime, counted_sum>`
but not subtract from it.
In many real world applications only addition is needed and user
defined classes will work fine, if they only implement
`operator +=`. Only if any of the `operator`s `-=` or `-`
is called on the interval_map, the user defined class has to
implement it's own `operator -=` to provide the subtractive
aggregation on overlap.
[endsect]
[section:partys_tallest_guests Party's tallest guests]
Defining `operator +=` (and `-=`) is probably the most important
method to implement arbitrary kinds of user defined aggregations.
An alternative way to choose a desired aggregation is to
instantiate an interval_map class template with an
appropriate ['*aggregation functor*]. For the most common
kinds of aggregation the [*icl]
provides such functors as shown in the example.
Example `partys_tallest_guests.cpp` also demonstrates
the difference between an __itv_map__
that joins intervals for equal associated values and a
__spl_itv_map__ that preserves all borders of inserted
intervals.
[import ../example/partys_tallest_guests_/partys_tallest_guests.cpp]
[example_partys_tallest_guests]
[endsect]
[section:time_grids Time grids for months and weeks]
A __spl_itv_set__ preserves all interval borders on insertion
and intersection operations. So given a __spl_itv_set__ and an addition of an interval
``
x = {[1, 3)}
x.add( [2, 4))
``
then the intervals are split at their borders
``
x == {[1,2)[2,3)[3,4)}
``
Using this property we can intersect __spl_itv_maps__ in
order to iterate over intervals accounting for all occurring
changes of interval borders.
In this example we provide an intersection of two __spl_itv_sets__
representing a month and week time grid.
[import ../example/month_and_week_grid_/month_and_week_grid.cpp]
[example_month_and_week_grid]
[endsect]
[section Man power]
__Itv_sets__ and __itv_maps__ can be filled and manipulated using
set style operations such as union `+=`, difference `-=` and
intersection `&=`.
In this example [*man power] a number of those operations are
demonstrated in the process of calculation the available working
times (man-power) of a company's employees accounting for weekends,
holidays, sickness times and vacations.
[import ../example/man_power_/man_power.cpp]
[example_man_power]
[endsect]
[section User groups]
Example [*user groups] shows the availability of set operations
on __itv_maps__.
In the example there is a user group `med_users` of a hospital staff
that has the authorisation to handle medical data of patients.
User group `admin_users` has access to administrative data like
health insurance and financial data.
The membership for each user in one of the user groups has a time
interval of validity. The group membership begins and ends.
* Using a union operation `+` we can have an overview over the unified
user groups and the membership dates of employees.
* Computing an intersection `&` shows who is member of both med_users
and admin_users at what times.
[import ../example/user_groups_/user_groups.cpp]
[example_user_groups]
[endsect]
[section Std copy]
The standard algorithm
[@http://www.cplusplus.com/reference/algorithm/copy/ `std::copy`]
can be used to fill interval containers
from standard containers of intervals or
interval value pairs (segments). Because intervals
do not represent ['*elements*] but ['*sets*], that
can be empty or contain more than one element,
the usage of `std::copy` differs from what we
are familiar with using ['containers of elements].
* Use `icl::inserter` from `#include <boost/icl/iterator.hpp>`
instead of `std::inserter` to call insertions on the target
interval container.
* As shown in the examples above and below this point, most of
the time we will not be interested to `insert` segments
into __itv_maps__ but to __biLadd__
them, in order to generate the desired aggregation results.
You can use `std::copy` with an `icl::adder` instead of an
`icl::inserter` to achieve this.
[import ../example/std_copy_/std_copy.cpp]
[example_std_copy]
[endsect][/ Std copy]
[section Std transform]
Instead of writing loops, the standard algorithm
[@http://www.cplusplus.com/reference/algorithm/transform/ `std::transform`]
can be used to fill interval containers
from std containers of user defined objects.
We need a function, that
maps the ['user defined object] into the
['segement type] of an interval map or the
['interval type] of an interval set.
Based on that we can use `std::transform`
with an `icl::inserter` or `icl::adder`
to transform the user objects into interval
containers.
[import ../example/std_transform_/std_transform.cpp]
[example_std_transform]
To get clear about the different behaviors of interval containers
in the example, you may want to refer to the section about
[link boost_icl.introduction.interval_combining_styles interval combining styles]
that uses the same data.
[/
Instead of `icl::inserter` we could also use an `std::inserter`
with algorithms `std::copy` and `std::transform`.
This is ['*depreciated*], because `std::inserter` is designed for
containers of elements, where ['*exacty one*] element is inserted
via `std::inserter` if it is not already in the container.
In contrast to that, an interval or segemnt can represent zero, one,
or many elements of an interval container.
You can use `std::inserter` *only*, if you actively take care of
two preconditions:
# None of the intervals or segements of the source containers
must be empty.
# A segment never carries a neutral element when your target
interval map absorbs identities.
Violating those preconditions leads to ['*undefined behavior*].
]
[endsect][/ std::transform]
[section Custom interval]
Example *custom interval* demonstrates how to use interval
containers with an own interval class type.
[import ../example/custom_interval_/custom_interval.cpp]
[example_custom_interval]
[endsect][/ Custom interval]
[endsect][/ examples]

View File

@@ -0,0 +1,269 @@
[/
Copyright (c) 2008-2009 Joachim Faulhaber
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)
]
[section Function Reference]
Section [link boost_icl.interface.function_synopsis Function Synopsis]
above gave an overview of the polymorphic functions of the icl.
This is what you will need to find the desired possibilities to combine icl
functions and objects most of the time.
The functions and overloads that you intuitively expect
should be provided, so you won't need to refer to the documentation very often.
If you are interested
* in the ['*specific design of the function overloads*],
* in ['*complexity characteristics*] for certain overloads
* or if the compiler ['*refuses to resolve*] specific function application you want to use,
refer to this section that describes the polymorphic function families of the icl
in detail.
[h5 Placeholders]
For a concise representation the same __eiS_phs__ will be used that have been
introduced in section [link boost_icl.interface.function_synopsis Function Synopsis].
[h5 More specific function documentation]
This section covers the most important polymorphic and namespace global
functions of the *icl*. More specific functions can be looked up
in the doxygen generated
[link interval_container_library_reference reference documentation].
[section Overload tables]
Many of the *icl's* functions are overloaded for
elements, segments, element and interval containers.
But not all type combinations are provided. Also
the admissible type combinations are different for
different functions and operations.
To concisely represent the overloads that can be
used we use synoptical tables that contain
possible type combinations for an operation.
These are called ['*overload tables*]. As an example
the overload tables for the inplace intersection
`operator &=` are given:
``
// overload tables for
T& operator &= (T&, const P&)
element containers: interval containers:
&= | e b s m &= | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m m m M | M M M M M M
``
For the binary `T& operator &= (T&, const P&)` there are two
different tables for the overloads of element and interval containers.
The first argument type `T` is displayed as row headers
of the tables.
The second argument type `P` is displayed as column headers
of the tables.
If a combination of `T` and `P` is admissible the related
cell of the table is non empty.
It displays the result type of the operation. In this example
the result type is always equal to the first argument.
The possible types that can be instantiated for `T` and `P`
are element, interval and container types abbreviated by
placeholders that are defined
[link boost_icl.interface.function_synopsis here]
and can be summarized as
__s : element set, __S : interval sets, __e : elements, __i : intervals\n
__m:element map, __M:interval maps, __b:element-value pairs, __p:interval-value pairs
[endsect][/ Overload tables]
[section Segmentational Fineness]
For overloading tables on infix operators, we need to
break down __itv_sets__ and __itv_maps__ to the
specific class templates
[table
[[][] [][] [][]]
[[[#ph_def_S1][*S1]][__itv_set__][[#ph_def_S2][*S2]][__sep_itv_set__][[#ph_def_S3][*S3]][__spl_itv_set__]]
[[[#ph_def_M1][*M1]][__itv_map__][][] [[#ph_def_M3][*M3]][__spl_itv_map__]]
]
choosing *Si* and *Mi* as placeholders.
The indices *i* of *Si* and *Mi* represent a property
called ['*segmentational fineness*] or short ['*fineness*],
which is a ['*type trait*] on interval containers.
[table
[[]]
[[`segmentational_fineness<`[*Si]`>::value` == *i*]]
[[`segmentational_fineness<`[*Mi]`>::value` == *i*]]
]
Segmentational fineness represents the fact,
that for interval containers holding the same elements, a
splitting interval container may contain more segments as
a separating container which in turn may contain more
segments than a joining one. So for an
``
operator >
``
where
``
x > y // means that
x is_finer_than y
// we have
finer coarser
split_interval_set interval_set
> separate_interval_set >
split_interval_map interval_map
``
This relation is needed to resolve the instantiation of
infix operators e.g. `T operator + (P, Q)` for two interval container types
`P` and `Q`. If both `P` and `Q` are candidates for the result
type `T`, one of them must be chosen by the compiler.
We choose the type that is segmentational finer as
result type `T`. This way we do not loose the ['*segment information*]
that is stored in the ['*finer*] one of the container types `P` and `Q`.
``
// overload tables for
T operator + (T, const P&)
T operator + (const P&, T)
element containers: interval containers:
+ | e b s m + | e i b p S1 S2 S3 M1 M3
---+-------- ---+---------------------------
e | s e | S1 S2 S3
b | m i | S1 S2 S3
s | s s b | M1 M3
m | m m p | M1 M3
S1 | S1 S1 S1 S2 S3
S2 | S2 S2 S2 S2 S3
S3 | S3 S3 S3 S3 S3
M1 | M1 M1 M1 M3
M3 | M3 M3 M3 M3
``
So looking up a type combination for e.g.
`T operator + (interval_map, split_interval_map)`
which is equivalent to
`T operator + (M1, M3)`
we find for row type `M1` and column type `M3`
that `M3`
will be assigned as result type, because `M3`
is finer than `M1`.
So this type combination will result in
choosing this
``
split_interval_map operator + (const interval_map&, split_interval_map)
``
implementation by the compiler.
[endsect][/ Segmentational Fineness]
[section Key Types]
In an *stl* map `map<K,D>` the first parameter type of the map
template `K` is called `key_type`. It allows to select key-value pairs
pairs via `find(const K&)`
and to remove key-value pairs using `erase(const K&)`.
For icl Maps we have generalized key types to a larger
set of types. Not only the `key_type` (`domain_type`)
but also an interval type and a set type can be ['*key types*],
that allow for ['*selection*] and ['*removal*] of map elements
segments and submaps.
[table Selection of elements, segments and sub maps using key types
[[ ][ __M: __itv_maps__ ][ __m: icl_map ]]
[[__e: `domain_type` ][ key value pair ][ key value pair ]]
[[__i: `interval_type` ][ interval value pair ][ ]]
[[__S: __itv_sets__ ][ interval map ][ ]]
[[__s: __icl_set__ ][ ][ interval map ]]
]
__biLSubtraction__, __biLerasure__, __biLintersection__
[/ , which is a generalized find ]
and __biLcontainedness__ predicates
can be used with those kinds of key types.
For instance, the overload table for intersection
``
// overload tables for
T& operator &= (T&, const P&)
element containers: interval containers:
&= | e b s m &= | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m m m M | M M M M M M
``
has a part that that allows for selection by key objects
``
element containers: interval containers:
&= | e b s m &= | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m M | M M M
``
and another part that provides overloads for
generalized intersection:
``
element containers: interval containers:
&= | e b s m &= | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m M | M M M
``
For `Sets`, the ['*key types*] defined for maps
are identical with the set types themselves.
So the distinction between the function groups
['*selection by key*] and ['*generalized intersection*]
fall together in the well known ['*set intersection*].
[endsect][/ Key Types]
[include functions_cons_copy_dest.qbk]
[include functions_containedness.qbk]
[include functions_equivs_orderings.qbk]
[include functions_size.qbk]
[include functions_range.qbk]
[include functions_selection.qbk]
[include functions_addition.qbk]
[include functions_subtraction.qbk]
[include functions_insertion.qbk]
[include functions_erasure.qbk]
[include functions_intersection.qbk]
[include functions_symmetric_difference.qbk]
[include functions_iterator_related.qbk]
[include functions_element_iteration.qbk]
[include functions_streaming.qbk]
[include functions_interval_construct.qbk]
[include functions_interval_orderings.qbk]
[include functions_interval_misc.qbk]
[endsect][/ Function Reference]

View File

@@ -0,0 +1,257 @@
[/
Copyright (c) 2008-2009 Joachim Faulhaber
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)
]
[/ //= Addition ===============================================================]
[section Addition]
[section Synopsis]
[table
[[Addition] [__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__] ]
[[`T& T::add(const P&)`] [__ei] [__bp] [ ] [__b] ]
[[`T& add(T&, const P&)`] [__ei] [__bp] [__e] [__b] ]
[[`J T::add(J pos, const P&)`] [__i] [__p] [ ] [__b] ]
[[`J add(T&, J pos, const P&)`] [__i] [__p] [__e] [__b] ]
[[`T& operator +=(T&, const P&)`] [__eiS] [__bpM] [__es] [__bm] ]
[[`T operator + (T, const P&)`\n
`T operator + (const P&, T)`]
[__eiS] [__bpM] [__es] [__bm] ]
[[`T& operator |=( T&, const P&)`] [__eiS] [__bpM] [__es] [__bm] ]
[[`T operator | (T, const P&)`\n
`T operator | (const P&, T)`]
[__eiS] [__bpM] [__es] [__bm] ]
]
Functions and operators that implement ['*Addition*] on *icl* objects
are given in the table above.
`operator |=` and `operator |` are behavioral identical to
`operator +=` and `operator +`.
This is a redundancy that has been introduced deliberately, because
a /set union/ semantics is often attached `operators |=` and `|`.
[table
[[] [Description of Addition]]
[[`Sets`][Addition on Sets implements ['*set union*]]]
[[`Maps`][Addition on Maps implements a ['*map union*] function similar to /set union/.
If, on insertion of an element value pair `(k,v)` it's key `k` is in the map
already, the addition function is propagated to the associated value.
This functionality has been introduced as /aggregate on collision/
for element maps and /aggregate on overlap/ for interval maps.
Find more on
[link boost_icl.concepts.aggrovering ['addability of maps]]
and related
[link boost_icl.semantics.maps ['semantic issues]]
following the links.
Examples, demonstrating Addition on interval containers are
[link boost_icl.examples.overlap_counter ['overlap counter]],
[link boost_icl.examples.party ['party]] and
[link boost_icl.examples.partys_height_average ['party's height average.]]
]]
]
For `Sets` ['*addition*] and ['*insertion*] are implemented identically.
Functions `add` and `insert` collapse to the same function.
For `Maps` ['*addition*] and ['*insertion*] work differently.
Function `add` performs aggregations on collision or overlap,
while function `insert` only inserts values that do not yet have key values.
[endsect][/ Synopsis]
[section Functions][/ Addition]
The admissible combinations of types for member function
`T& T::add(const P&)` can be summarized in the
['*overload table*] below:
``
// overload table for T\P| e i b p
T& T::add(const P&) ---+--------
T& add(T&, const P&) s | s
m | m
S | S S
M | M M
``
The next table contains complexity characteristics for `add`.
[table Time Complexity for member function add on icl containers
[[`T& T::add(const P&)`\n
`T& add(T&, const P&)`] [__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__]]
[[__icl_set__] [__Olgn__] [] [] [] ]
[[__icl_map__] [] [] [__Olgn__][] ]
[[__itv_set__\n__sep_itv_set__][__Olgn__] [__a_Olgn__][] [] ]
[[__spl_itv_set__] [__Olgn__] [__On__] [] [] ]
[[__itv_map__\n__spl_itv_map__][] [] [__Olgn__][__On__] ]
]
[h5 Hinted addition]
Function `J T::add(J prior, const P& addend)` allows
for an addition in ['*constant time*], if `addend` can be inserted
right after iterator `prior` without collision. If this is not possible
the complexity characteristics are as stated for the non hinted addition
above. Hinted addition is available for these combinations of types:
``
// overload table for addition with hint T\P| e i b p
J T::add(J prior, const P&) ---+--------
J add(T&, J prior, const P&) s | s
m | m
S | S
M | M
``
[endsect][/ Functions Addition]
[section Inplace operators]
The possible overloads of inplace `T& operator += (T&, const P&)`
are given by two tables, that show admissible combinations of types.
Row types show instantiations of argument type `T`. Columns types
show show instantiations of argument type `P`. If a combination
of argument types is possible, the related table cell contains
the result type of the operation.
__eiS_Phs__ __eibpsSmM__ will be used to denote
/elements, intervals,
element value pairs, interval value pairs,
element sets, interval sets,
element maps/ and /interval maps/.
The first table shows the
overloads of `+=` for /element containers/ the second table
refers to /interval containers/.
``
// overload tables for element containers: interval containers:
T& operator += (T&, const P&) += | e b s m += | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m M | M M M
``
For the definition of admissible overloads
we separate /element containers/ from /interval containers/.
Within each group all combinations of types are supported
for an operation, that are in line with the *icl's*
design and the sets of laws, that establish the *icl's*
[link boost_icl.semantics semantics].
Overloads between /element containers/ and /interval containers/
could also be defined. But this has not been done for
pragmatical reasons: Each additional combination of types
for an operation enlarges the space of possible overloads.
This makes the overload resolution by compilers more complex,
error prone and slows down compilation speed. Error messages
for unresolvable or ambiguous overloads are difficult
to read and understand. Therefore overloading of namespace
global functions in the *icl* are limited to a reasonable
field of combinations, that are described here.
[endsect][/ Inplace operators]
[h4 Complexity]
For different combinations of argument types `T` and `P`
different implementations of the `operator +=` are
selected. These implementations show different complexity
characteristics.
If `T` is a container type,
the combination of
domain elements (__e) or element value pairs (__b)
is faster than a combination of intervals (__i) or
interval value pairs (__p) which in turn is faster than
the combination of element or interval containers.
The next table shows /time complexities/ of addition for
*icl's* element containers.
Sizes `n` and `m` are in the complexity statements are sizes
of objects `T y` and `P x`:
``
n = iterative_size(y);
m = iterative_size(x); //if P is a container type
``
Note, that for an interval container the number of elements `T::size` is
different from the number of intervals that you can iterate over.
Therefore a function `T::iterative_size()` is used that provides the
desired kind of size.
[table Time Complexity for inplace Addition on element containers
[[`T& operator += (T& y, const P& x)`][__ch_dom_t__][__ch_dom_mp_t__][__ch_icl_sets__][__ch_icl_maps__]]
[[__icl_set__] [__Olgn__] [] [__Om__] [] ]
[[__icl_map__] [] [__Olgn__] [] [__Om__] ]
]
Time complexity characteristics of inplace addition for interval containers
is given by this table.
[table Time Complexity for inplace Addition on interval containers
[[`T& operator += (T& y, const P& x)`][][__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__][__ch_itv_sets__][__ch_itv_maps__]]
[[interval_sets][__itv_set__\n__sep_itv_set__][__Olgn__] [__a_Olgn__][] [] [__Omlgnpm__] [] ]
[[] [__spl_itv_set__] [__Olgn__] [__On__] [] [] [__Omlgnpm__] [] ]
[[interval_maps][] [] [] [__Olgn__][__On__] [] [__Omlgnpm__] ]
]
Since the implementation of
element and interval containers is based on the
[link boost_icl.implementation link red-black tree implementation]
of std::AssociativeContainers, we have a logarithmic complexity for
addition of elements.
Addition of intervals or interval value pairs is amortized logarithmic
for __itv_sets__ and __sep_itv_sets__ and linear for __spl_itv_sets__
and __itv_maps__.
Addition is linear for element containers and
loglinear for interval containers.
[section Infix operators]
The admissible type combinations for infix `operator +`
are defined by the overload tables below.
``
// overload tables for element containers: interval containers:
T operator + (T, const P&) + | e b s m + | e i b p S1 S2 S3 M1 M3
T operator + (const P&, T) ---+-------- ---+---------------------------
e | s e | S1 S2 S3
b | m i | S1 S2 S3
s | s s b | M1 M3
m | m m p | M1 M3
S1 | S1 S1 S1 S2 S3
S2 | S2 S2 S2 S2 S3
S3 | S3 S3 S3 S3 S3
M1 | M1 M1 M1 M3
M3 | M3 M3 M3 M3
``
[endsect][/ Infix operators]
['*See also . . .*]
[table
[]
[[[link boost_icl.function_reference.subtraction ['*Subtraction*]] ]]
[[[link boost_icl.function_reference.insertion ['*Insertion*]] ]]
]
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]] ]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Addition]

View File

@@ -0,0 +1,107 @@
[/
Copyright (c) 2008-2009 Joachim Faulhaber
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)
]
[/ //= Construct, copy, destruct ===================================================================]
[section Construct, copy, destruct]
[table
[[['*Construct, copy, destruct*]] [__ch_itvs__][__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__] ]
[[`T::T()`] [1] [1] [1] [1] [1] ]
[[`T::T(const P&)`] [A] [__eiS] [__bpM] [1] [1] ]
[[`T& T::operator=(const P&)`] [A] [__S] [__M] [1] [1] ]
[[`void T::swap(T&)`] [ ] [1] [1] [1] [1] ]
]
All *icl* types are ['*regular types*]. They are ['*default constructible*],
['*copy constructible*] and ['*assignable*]. On icl Sets and Maps a `swap`
function is available, that allows for *constant time* swapping of
container contents.
The /regular and swappable part/ of the basic functions and their complexities
are described in the tables below.
[table
[[['*Regular and swap*]] [__ch_itvs__][__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__] ]
[[`T::T()`] [__O1__] [__O1__] [__O1__][__O1__] [__O1__] ]
[[`T::T(const T&)`] [__O1__] [__On__] [__On__][__On__] [__On__] ]
[[`T& T::operator=(const T&)`] [__O1__] [__On__] [__On__][__On__] [__On__] ]
[[`void T::swap(T&)`] [ ] [__O1__] [__O1__][__O1__] [__O1__] ]
]
where /n/ `= iterative_size(x)`.
[table
[[['*Construct, copy, destruct*]] [Description] ]
[[`T::T()`] [Object of type T is default constructed.] ]
[[`T::T(const T& src)`] [Object of type T is copy constructed from object `src`. ] ]
[[`T& T::operator=(const T& src)`][Assigns the contents of src to `*this` object. Returns a reference to the assigned object.] ]
[[`void T::swap(T& src)`] [Swaps the content containers `*this` and `src` in constant time. ] ]
]
In addition we have overloads of constructors and assignment operators
for icl container types.
``
// overload tables for constructors
T::T(const P& src)
element containers: interval containers:
T \ P | e b s m T \ P | e i b p S M
------+-------- ------+------------
s | s s S | S S S
m | m m M | M M M
``
For an object `dst` of type `T` and an argument `src` of type `P` let
``
n = iterative_size(dst);
m = iterative_size(src);
``
in the following tables.
[table Time Complexity for overloaded constructors on element containers
[[`T(const P& src)`][__ch_dom_t__][__ch_dom_mp_t__][__ch_itv_sets__][__ch_itv_maps__]]
[[__icl_set__] [__Olgn__] [] [__Om__] [] ]
[[__icl_map__] [] [__Olgn__] [] [__Om__] ]
]
Time complexity characteristics of inplace insertion for interval containers
is given by this table.
[table Time Complexity for overloaded constructors on interval containers
[[`T(const P& src)`] [__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__][__ch_itv_sets__][__ch_itv_maps__]]
[[interval_sets] [__O1__] [__O1__][] [] [__Om__] [] ]
[[interval_maps] [] [] [__O1__][__O1__][] [__Om__] ]
]
``
// overload tables for assignment
T& operator = (const P& src)
interval containers:
T \ P | S M
------+----
S | S
M | M
``
The assignment `T& operator = (const P& src)` is overloaded within interval containers.
For all type combinations we have ['*linear time complexity*]
in the maximum of the `iterative_size` of `dst` and `src`.
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]]]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Construct, copy, destruct]

View File

@@ -0,0 +1,134 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[/ //= Containedness ===================================================================]
[section Containedness]
[table
[[['*Containedness*]] [__ch_itvs__][__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__] ]
[[`bool T::empty()const`] [ ] [1] [1] [1] [1] ]
[[`bool is_empty(const T&)`] [1] [1] [1] [1] [1] ]
[[`bool contains(const T&, const P&)`\n
`bool within(const P&, const T&)`] [__ei] [__eiS][__eiS __bpM][__es] [__bm] ]
]
This group of functions refers to ['*contain*]edness which should
be fundamental to ['*contain*]ers. The function `contains`
is overloaded. It covers different kinds of containedness:
Containedness of elements, segments, and sub containers.
[table
[[['*Containedness*]] [ /O(...)/ ][Description ] ]
[[`bool T::empty()const`\n
`bool is_empty(const T&)`] [__O1__][Returns `true`, if the container is empty, `false` otherwise.] ]
[[`bool contains(const T&, const P&)`\n
`bool within(const P&, const T&)`] [[link complexities_contains ['see below]]]
[Returns `true`, if `super` container contains object `sub`.] ]
[[ ] [where] [ /n/` = iterative_size(sub)`] ]
[[ ] [ ] [ /m/` = iterative_size(super)`] ]
]
``
// overload tables for
bool contains(const T& super, const P& sub)
bool within(const P& sub, const T& super)
element containers: interval containers:
T\P| e b s m T\P| e i b p S M
--------+--- --------+-------
s | 1 1 S | 1 1 1
m | 1 1 1 1 M | 1 1 1 1 1 1
``
The overloads of `bool contains(const T& super, const P& sup)`
cover various kinds
of containedness. We can group them into a part (1) that checks
if an element, a segment or a container /of same kinds/ is contained in
an element or interval container
``
// (1) containedness of elements, segments or containers of same kind
T\P| e b s m T\P| e i b p S M
---+-------- ---+------------
s | 1 1 S | 1 1 1
m | 1 1 M | 1 1 1
``
and another part (2) that checks the containedness of
/key objects/, which can be /elements/ an /intervals/ or a /sets/.
``
// (2) containedness of key objects.
T\P| e b s m T\P| e i b p S M
---+-------- ---+------------
s | 1 1 S | 1 1 1
m | 1 1 M | 1 1 1
``
For type *m* = __icl_map__,
a key element (*m*`::domain_type`) and an __icl_set__
(*m*`::set_type`) can be a ['*key object*].
For an interval map type *M*,
a key element (*M*`::domain_type`),
an interval (*M*`::interval_type`) and an
['*interval set*], can be ['*key objects*].
[#complexities_contains] Complexity characteristics for function
`bool contains(const T& super, const P& sub)const`
are given by the next tables where
``
n = iterative_size(super);
m = iterative_size(sub); //if P is a container type
``
[table Time Complexity for function contains on element containers
[[`bool contains(const T& super, const P& sub)`\n
`bool within(const P& sub, const T& super)`][__ch_dom_t__][__ch_dom_mp_t__][__ch_icl_set__][__ch_icl_map__]]
[[__icl_set__] [__Olgn__] [] [__Omlgn__] [] ]
[[__icl_map__] [__Olgn__] [__Olgn__] [__Omlgn__] [__Omlgn__] ]
]
[table Time Complexity for functions contains and within on interval containers
[[`bool contains(const T& super, const P& sub)`\n
`bool within(const P& sub, const T& super)`][][__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__][__ch_itv_sets__][__ch_itv_maps__]]
[[interval_sets] [__itv_set__][__Olgn__] [__Olgn__] [] [] [__Omlgn__] [] ]
[[] [__sep_itv_set__\n__spl_itv_set__][__Olgn__] [__On__ ] [] [] [__Omlgn__] [] ]
[[interval_maps] [__itv_map__][__Olgn__] [__Olgn__] [__Olgn__] [__Olgn__] [__Omlgn__] [__Omlgn__] ]
[[] [__spl_itv_map__][__Olgn__] [__On__ ] [__Olgn__] [__On__] [__Omlgn__] [__Omlgn__] ]
]
All overloads of containedness of containers in containers
``
bool contains(const T& super, const P& sub)
bool within(const P& sub, const T& super)
``
are of ['*loglinear*] time: __Omlgn__.
If both containers have same iterative_sizes so that /m = n/
we have the worst case ( __Onlgn__ ).
There is an alternative implementation that has a ['*linear*]
complexity of __Onpm__.
The loglinear implementation has been chosen,
because it can be faster, if the container argument is
small. In this case the loglinear implementation approaches
logarithmic behavior, whereas the linear implementation
stays linear.
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]]]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Containedness]

View File

@@ -0,0 +1,49 @@
[/
Copyright (c) 2008-2009 Joachim Faulhaber
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)
]
[/ //= Range ===================================================================]
[section Range]
[table
[[['*Range*]] [__ch_itvs__][__ch_itv_sets__][__ch_itv_maps__][condition] ]
[[`interval<domain_type> hull(const T&)`] [ ] [__O1__] [__O1__][] ]
[[`domain_type T::lower()const`] [__O1__] [__O1__] [__O1__][] ]
[[`domain_type T::upper()const`] [__O1__] [__O1__] [__O1__][] ]
[[`domain_type T::first()const`] [__O1__] [__O1__] [__O1__][`!is_continuous<domain_type>::value`]]
[[`domain_type T::last()const`] [__O1__] [__O1__] [__O1__][`!is_continuous<domain_type>::value`]]
]
The table above shows the availability of functions
`hull`, `lower`, `upper`, `first` and `last` on intervals
and interval containers that are all of ['*constant time complexity*].
Find the functions description and some simple properties below.
[table
[[['*Range*]] [Types] [Description] ]
[[`interval<domain_type> hull(const T&)`] [__S __M] [`hull(x)` returns the smallest interval that contains all intervals of an interval container `x`.] ]
[[`domain_type T::lower()const`] [__i __S __M][`x.lower()` returns the lower bound of an interval or interval container `x`.] ]
[[`domain_type T::upper()const`] [__i __S __M][`x.upper()` returns the upper bound of an interval or interval container `x`.] ]
[[`domain_type T::first()const`] [__i __S __M][`x.first()` returns the first element of an interval or interval container `x`.
`T::first()` is defined for a non continuous `domain_type` only.] ]
[[`domain_type T::last()const`] [__i __S __M][`x.last()` returns the last element of an interval or interval container `x`.
`T::last()` is defined for a non continuous `domain_type` only.] ]
]
``
// for interval_containers x:
hull(x).lower() == x.lower()
hull(x).upper() == x.upper()
hull(x).first() == x.first()
hull(x).last() == x.last()
``
[endsect][/ Range]

View File

@@ -0,0 +1,112 @@
[/
Copyright (c) 2008-2009 Joachim Faulhaber
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)
]
[/ //= Element iteration ===================================================================]
[section Element iteration]
This section refers to ['*element iteration*] over ['*interval containers*].
Element iterators are available as associated types on interval sets and interval maps.
[table
[[Variant] [Associated element iterator type for interval container `T`]]
[[forward] [`T::element_iterator`] ]
[[const forward][`T::element_const_iterator`] ]
[[reverse] [`T::element_reverse_iterator`] ]
[[const reverse][`T::element_const_reverse_iterator`] ]
]
There are also associated iterators types
`T::iterator`, `T::const_iterator`,
`T::reverse_iterator` and `T::reverse_const_iterator`
on interval containers.
These are ['*segment iterators*]. Segment iterators are
"first citizen iterators". [/ NOTE Identical to interface.qbk from here]
Iteration over segments is fast, compared to an iteration over elements,
particularly if intervals are large.
But if we want to view our interval containers as containers
of elements that are usable with std::algoritms, we need to
iterate over elements.
Iteration over elements . . .
* is possible only for integral or discrete `domain_types`
* can be very ['*slow*] if the intervals are very large.
* and is therefore ['*depreciated*]
On the other hand, sometimes iteration over interval containers
on the element level might be desired, if you have some
interface that works for `std::SortedAssociativeContainers` of
elements and you need to quickly use it with an interval container.
Accepting the poorer performance might be less bothersome at times
than adjusting your whole interface for segment iteration.
[caution So we advice you to choose element iteration over
interval containers ['*judiciously*]. Do not use element iteration
['*by default or habitual*]. Always try to achieve results using
member functions, global functions or operators
(preferably inplace versions)
or iteration over segments first.]
[table
[[['*Synopsis Complexities*]] [__ch_itv_sets__][__ch_itv_maps__]]
[[`J elements_begin(T&)`] [__O1__] [__O1__] ]
[[`J elements_end(T&)`] [__O1__] [__O1__] ]
[[`J elements_rbegin(T&)`] [__O1__] [__O1__] ]
[[`J elements_rend(T&)`] [__O1__] [__O1__] ]
]
[table
[[['*Element iteration*]] [Description] ]
[[`` element_iterator elements_begin(T&)
element_const_iterator elements_begin(const T&)``] [Returns an element iterator to the first element of the container.] ]
[[`` element_iterator elements_end(T&)
element_const_iterator elements_end(const T&)``] [Returns an element iterator to a position `elements_end(c)` after the last element of the container.]]
[[`` element_reverse_iterator elements_rbegin(T&)
element_const_reverse_iterator elements_rbegin(const T&)``] [Returns a reverse element iterator to the last element of the container.] ]
[[`` element_reverse_iterator elements_rend(T&)
element_const_reverse_iterator elements_rend(const T&)``] [Returns a reverse element iterator to a position `elements_rend(c)` before the first element of the container.]]
]
['*Example*]
``
interval_set<int> inter_set;
inter_set.add(interval<int>::right_open(0,3))
.add(interval<int>::right_open(7,9));
for(interval_set<int>::element_const_iterator creeper = elements_begin(inter_set);
creeper != elements_end(inter_set); ++creeper)
cout << *creeper << " ";
cout << endl;
//Program output: 0 1 2 7 8
for(interval_set<int>::element_reverse_iterator repeerc = elements_rbegin(inter_set);
repeerc != elements_rend(inter_set); ++repeerc)
cout << *repeerc << " ";
cout << endl;
//Program output: 8 7 2 1 0
``
['*See also . . .*]
[table
[]
[[[link boost_icl.function_reference.iterator_related ['*Segment iteration*]] ]]
]
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]]]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Element iteration]

View File

@@ -0,0 +1,152 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[/ //= Equivalences and Orderings ===================================================]
[section Equivalences and Orderings]
[section Synopsis][/ Equivalences and Orderings]
[table
[[['*Equivalences and Orderings*]][__ch_itvs__][__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__]]
[[['Segment Ordering]] [ ] [ ] [ ] [ ] [ ] ]
[[`bool operator == (const T&, const T&)`] [1] [1] [1] [1] [1] ]
[[`bool operator != (const T&, const T&)`] [1] [1] [1] [1] [1] ]
[[`bool operator < (const T&, const T&)`] [1] [1] [1] [1] [1] ]
[[`bool operator > (const T&, const T&)`] [1] [1] [1] [1] [1] ]
[[`bool operator <= (const T&, const T&)`] [1] [1] [1] [1] [1] ]
[[`bool operator >= (const T&, const T&)`] [1] [1] [1] [1] [1] ]
[[['Element Ordering]] [ ] [ ] [ ] [ ] [ ] ]
[[`bool is_element_equal(const T&, const P&)`] [ ] [__S] [__M] [1] [1] ]
[[`bool is_element_less(const T&, const P&)`] [ ] [__S] [__M] [1] [1] ]
[[`bool is_element_greater(const T&, const P&)`][ ] [__S] [__M] [1] [1] ]
[[['Distinct Equality]] [ ] [ ] [ ] [ ] [ ] ]
[[`bool is_distinct_equal(const T&, const P&)`][ ] [ ] [__M] [ ] [1] ]
]
[endsect][/ Synopsis Equivalences and Orderings]
[section Less on Intervals]
[table
[[ ] [Types][]]
[[`x < y`] [__i] [`x` begins before `y` or, for equal beginnings `x` ends before `y`]]
]
[endsect][/ Less on Intervals]
[section Lexicographical Ordering][/ Equivalences and Orderings]
All common equality and compare operators are defined for
all objects of the *icl*. For all *icl* containers
equality and compare operators implement lexicographical
equality and lexicographical comparison, that depends on
the equality of template parameter `Compare`.
This includes the less ordering on intervals, that can be
perceived as the sequence of elements between their lower and upper
bound. This generalized lexicogrphical comparison in intervals
can also be specified this way:
[table
[]
[[`x < y`] [`:=`] [`x` begins before `y` or, for equal beginnings `x` ends before `y`.]]
[[] [] [The other operators can be deduced in the usual way]]
[[`x > y`] [`:=`] [`y < x`] ]
[[`x <= y`] [`:=`] [`!(y < x)`] ]
[[`x >= y`] [`:=`] [`!(x < y)`] ]
[[`x == y`] [`:=`] [`!(x < y) && !(y < x)` induced equivalence] ]
[[`x != y`] [`:=`] [`!(x == y)`] ]
]
Equality and compare operators are defined for all *icl*
objects but there are no overloads between different types.
Containers of different segmentation are different,
even if their elements are the same:
``
split_interval_set<time> w1, w2; //Pseudocode
w1 = {[Mon .. Sun)}; //split_interval_set containing a week
w2 = {[Mon .. Fri)[Sat .. Sun)}; //Same week split in work and week end parts.
w1 == w2; //false: Different segmentation
is_element_equal(w1,w2); //true: Same elements contained
``
[*Complexity] is ['*linear*] in the `iterative_size` of the shorter
container to compare.
[endsect][/ Lexicographical Ordering; Equivalences and Orderings]
[/ ----------------------------------------------------------------------------]
[section Sequential Element Ordering][/ Equivalences and Orderings]
The ['*Sequential Element Ordering*] abstracts from the way in which
elements of interval containers are clustered into intervals:
it's ['*segmentation*].
So these equality and compare operations can be applied within
interval container types. The admissible type combinations are summarized
in the next overload table.
``
// overload tables for
bool is_element_equal (const T&, const P&)
bool is_element_less (const T&, const P&)
bool is_element_greater(const T&, const P&)
element containers: interval containers:
T\P| s m T\P| S1 S2 S3 M1 M3
---+---- ---+---------------
s | 1 S1 | 1 1 1
m | 1 S2 | 1 1 1
S3 | 1 1 1
M1 | 1 1
M3 | 1 1
``
For element containers lexicographical equality and
sequential element equality are identical.
The *complexity* of sequential element comparison functions
is ['*linear*] in the `iterative_size` of the larger
container.
[endsect]
[section Distinct Equality]
['*Distinct Equality*] is an equality predicate that is available
for __icl_maps__ and __itv_maps__. It yields true, if
two maps are sequential element equal except for value
pairs whose associated values are identity elements.
[*Complexity] is linear in the `iterative_size` of the
larger container to compare.
[endsect]
['*See also . . .*]
[table
[]
[[[link boost_icl.semantics.orderings_and_equivalences ['*Semantics*]]]]
]
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]]]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Equivalences and Orderings]

View File

@@ -0,0 +1,163 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[/ //= Erasure ===================================================================]
[section Erasure]
[section Synopsis][/ Erasure]
[table
[[['*Erasure*]] [__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__] ]
[[`T& T::erase(const P&)`] [__ei ] [__ei __bp] [__e] [__bp] ]
[[`T& erase(T&, const P&)`] [__eiS] [__eiS __bpM] [__es] [__bm] ]
[[`void T::erase(iterator)`] [1] [1] [1] [1] ]
[[`void T::erase(iterator,iterator)`] [1] [1] [1] [1] ]
]
[h5 Erasure]
The effects of ['*erasure*] implemented by `erase` and ['*subtraction*]
implemented by `subtract` and `operator -=` are identical for all Set-types of
the *icl*.
For Map-types, `erase` provides the *stl* semantics of erasure in
contrast to `subtract` and `operator -=`, that implement a generalized subtraction,
that performs inverse aggregations if key values collide or key intervals overlap.
Using iterators it is possible to erase objects or ranges of
objects the iterator is pointing at from icl Sets and Maps.
[endsect][/ Synopsis Erasure]
[section Erasure of Objects]
``
/* overload table for */ T\P| e i b p
T& T::erase(const P&) ---+--------
T& erase(T&, const P&) s | s
m | m
S | S S
M | M M
``
The next table contains complexity characteristics for the `erase` function on elements and segments.
[table Time Complexity for erasure of elements and segments on icl containers
[[`T& T::erase(const P&)`\n
`T& erase(T&, const P&)`] [__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__]]
[[__icl_set__] [__Olgn__] [] [] [] ]
[[__icl_map__] [__Olgn__] [] [__Olgn__] [] ]
[[__itv_sets__] [__Olgn__] [__a_Olgn__] [] [] ]
[[__itv_maps__] [__Olgn__] [__On__] [__Olgn__] [__On__] ]
]
As presented in the overload tables for inplace function `erase` below,
more type combinations are available for /erasure/ than for
/insertion/.
``
// overload tables for function element containers: interval containers:
T& erase(T&, const P&) T\P| e b s m T\P| e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m m m M | M M M M M M
``
We can split up these overloads in two groups.
The first group can be called /reverse insertion/.
``
/* (1) Reverse insertion */ T\P| e b s m T\P| e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m M | M M M
``
The second group can be viewed as an /erasure by key objects/
``
/* (2) Erasure by key objects */ T\P| e b s m T\P| e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m M | M M M
``
On Maps ['*reverse insertion (1)*] is different from
*stl's* erase semantics, because value pairs are deleted only,
if key ['*and*] data values are found. Only
['*erasure by key objects (2)*] works like the erase function
on *stl's* std::maps, that passes a ['*key value*] as argument.
On Sets both function groups fall together
as ['*set difference*].
Complexity characteristics for inplace erasure operations are
given by the next tables where
``
n = iterative_size(y);
m = iterative_size(x); //if P is a container type
``
[table Time Complexity for inplace erasure on element containers
[[`T& erase(T& y, const P& x)`][__ch_dom_t__][__ch_dom_mp_t__][__ch_icl_set__][__ch_icl_map__]]
[[__icl_set__] [__Olgn__] [] [__Omlgn__] [] ]
[[__icl_map__] [__Olgn__] [__Olgn__] [__Omlgn__] [__Omlgn__] ]
]
[table Time Complexity for inplace erasure on interval containers
[[`T& erase(T& y, const P& x)`][__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__][__ch_itv_sets__][__ch_itv_maps__]]
[[interval_sets] [__Olgn__] [__a_Olgn__] [] [] [__Omlgnpm__] [] ]
[[interval_maps] [__Olgn__] [__a_Olgn__] [__Olgn__] [__On__] [__Omlgnpm__] [__Omlgnpm__] ]
]
[endsect][/ Erasure of Objects]
[section Erasure by Iterators]
The next table shows the *icl* containers that erasure with iterators is
available for. Erase on iterators erases always one `value` of `value_type`
for an iterator pointing to it.
So we erase
* elements from __icl_sets__
* element-value pairs from __icl_maps__
* intervals from __itv_sets__ and
* interval-value-pairs from __itv_maps__
[table
[[['*Erasure by iterators*]] [__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__] ]
[[`void T::erase(iterator pos)`] [__aO1__] [__aO1__] [__aO1__] [__aO1__] ]
[[`void T::erase(iterator first, iterator past)`] [__Ok__] [__Ok__] [__Ok__] [__Ok__] ]
]
Erasing by a single iterator need only ['*amortized constant time*].
Erasing via a range of iterators `[first, past)` is of ['*linear time*]
in the number `k` of iterators in range `[first, past)`.
[endsect][/ Erasure by Iterators]
['*See also . . .*]
[table
[]
[[[link boost_icl.function_reference.insertion ['*Insertion*]] ]]
[[[link boost_icl.function_reference.subtraction ['*Subtraction*]] ]]
]
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]] ]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Erasure]

View File

@@ -0,0 +1,156 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[/ //= Insertion ===================================================================]
[section Insertion]
[section Synopsis][/ Insertion]
[table
[[['*Insertion*]][__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__] ]
[[`V T::insert(const P&)`] [__ei] [__bp] [__e] [__b] ]
[[`V insert(T&, const P&)`] [__ei] [__bp] [__e] [__b] ]
[[`J T::insert(J pos, const P&)`] [__i] [__p] [__e] [__b] ]
[[`J insert(T&, J pos, const P&)`] [__i] [__p] [__e] [__b] ]
[[`T& insert(T&, const P&)`] [__eiS] [__bpM] [__es] [__bm] ]
[[`T& T::set(const P&)`] [ ] [__bp] [ ] [1] ]
[[`T& set_at(T&, const P&)`] [ ] [__bp] [ ] [1] ]
]
[h5 Insertion]
The effects of ['*insertion*] implemented by `insert` and ['*addition*]
implemented by `add` and `operator +=` are identical for all Set-types of
the *icl*.
For Map-types, `insert` provides the *stl* semantics of insertion in
contrast to `add` and `operator +=`, that implement a generalized addition,
that performs aggregations if key values collide or key intervals overlap.
`insert` on Maps does not alter a maps content at the points, where
the keys of the object to inserted overlap or collide with keys that
are already in the map.
[h5 Setting values]
Overwriting values using `operator[]` like in
``
my_map[key] = new_value;
``
is not provided for __itv_maps__ because an `operator[]` is not
implemented for them. As a substitute a function
`T& T::set(const P&)` can be used to achieve the same effect:
``
my_map.set(make_pair(overwrite_this, new_value));
``
[endsect][/ Synopsis Insertion]
[section Insertion]
``
// overload table for functions T\P| e i b p
V T::insert(const P&) ---+--------
V insert(T&, const P&) s | s
m | m
S | S
M | M
``
[table Time Complexity for member function insert on icl containers
[[`T& T::insert(const P&)`] [__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__]]
[[__icl_set__] [__Olgn__] [] [] [] ]
[[__icl_map__] [] [] [__Olgn__][] ]
[[__itv_set__\n__sep_itv_set__][__Olgn__] [__a_Olgn__][] [] ]
[[__spl_itv_set__] [__Olgn__] [__On__] [] [] ]
[[__itv_map__\n__spl_itv_map__][] [] [__Olgn__][__On__] ]
]
``
// overload tables for function element containers: interval containers:
T& insert(T&, const P&) T\P| e b s m T\P| e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m M | M M M
``
[table Time Complexity for inplace insertion on element containers
[[`T& insert(T& y, const P& x)`][__ch_dom_t__][__ch_dom_mp_t__][__ch_itv_sets__][__ch_itv_maps__]]
[[__icl_set__] [__Olgn__] [] [__Om__] [] ]
[[__icl_map__] [] [__Olgn__] [] [__Om__] ]
]
Time complexity characteristics of inplace insertion for interval containers
is given by this table.
[table Time Complexity for inplace insertion on interval containers
[[`T& insert(T& y, const P& x)`][][__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__][__ch_itv_sets__][__ch_itv_maps__]]
[[interval_sets][__itv_set__\n__sep_itv_set__][__Olgn__] [__a_Olgn__][] [] [__Omlgnpm__] [] ]
[[] [__spl_itv_set__] [__Olgn__] [__On__] [] [] [__Omlgnpm__] [] ]
[[interval_maps][] [] [] [__Olgn__][__On__] [] [__Omlgnpm__] ]
]
[h4 Hinted insertion]
Function `J T::insert(J prior, const P& addend)` allows
for an insertion in ['*constant time*], if `addend` can be inserted
right after iterator `prior` without collision. If this is not possible
the complexity characteristics are as stated for the non hinted insertion
above. Hinted insertion is available for these combinations of types:
``
// overload table for insertion with hint T\P| e i b p
J T::insert(J pos, const P&) ---+--------
J insert(T&, J pos, const P&) s | s
m | m
S | S
M | M
``
[endsect][/ Insertion]
[section Setting values]
``
// overload table for member function T\P| b p
T& T::set(const P&) ---+----
T& set_at(T&, const P&) m | m
M | M
``
[table Time Complexity for member function `set`
[[`T& set(T&, const P&)`] [domain_mapping_type] [interval_mapping_type] ]
[[icl::map] [__Olgn__] [ ] ]
[[interval_maps] [] [__a_Olgn__] ]
]
[endsect][/ Set]
['*See also . . .*]
[table
[]
[[[link boost_icl.function_reference.addition ['*Erasure*]] ]]
[[[link boost_icl.function_reference.addition ['*Addition*]] ]]
]
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]]]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Insertion]

View File

@@ -0,0 +1,271 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[/ //= Intersection ============================================================]
[section Intersection][/ Intersection]
[section Synopsis][/ Intersection]
[table
[[Intersection] [__ch_itv_t__][__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__]]
[[`void add_intersection(T&, const T&, const P&)`][ ] [__eiS][__eiS __bpM][ ] [ ] ]
[[`T& operator &=(T&, const P&)`] [ ] [__eiS][__eiS __bpM][__es] [__bm] ]
[[`T operator & (T, const P&)`\n
`T operator & (const P&, T)`] [__i] [__eiS][__eiS __bpM][__es] [__bm] ]
[[`bool intersects(const T&, const P&)`\n
`bool disjoint(const T&, const P&)`] [__i] [__eiS][__eiS __bpM][__es] [__bm] ]
]
Functions and operators that are related to ['*intersection*] on *icl* objects
are given in the table above.
[table
[[] [Description of Intersection]]
[[`Sets`][Intersection on Sets implements ['*set intersection*]]]
[[`Maps`][Intersection on Maps implements a ['*map intersection*] function similar to /set intersection/.
If, on intersection, an element value pair `(k,v)` it's key `k` is in the map
already, the intersection function is propagated to the associated value,
if it exists for the Map's codomain_type.
If the codomain_type has no intersection operation, associated
values are combined using addition. For partial map types this
results in an addition on the intersection of the domains of
the intersected sets. For total maps intersection and
addition are identical in this case.
See also
[link boost_icl.semantics.quantifiers__maps_of_numbers.intersection_on_quantifiers ['intersection on Maps of numbers]].
A Map can be intersected with key types: an element
(an interval for interval_maps) and and a Set. This
results in the selection of a submap, and can be
defined as a generalized selection function on Maps.
]]
]
[endsect][/ Synopsis Intersection]
[section Functions][/ Intersection]
The overloaded function
`void add_intersection(T& result, const T& y, const P& x)`
allows to accumulate the intersection of `y` and `x` in the first argument `result`.
`Result` might already contain data. In this case the intersection of `y` and `x`
is `added` the the contents of `result`.
``
T s1 = f, s2 = f, y = g; P x = h; // The effect of
add_intersection(s1, y, x); // add_intersection
s2 += (y & x); // and & followed by +=
assert(s1==s2); // is identical
``
This might be convenient, if intersection is used like a generalized selection function.
Using element or segment types for `P`, we can select small parts of a container
`y` and accumulate them in `section`.
The admissible combinations of types for function
`void add_intersection(T&, const T&, const P&)` can be summarized in the
['*overload table*] below.
Compared to other overload tables, placements of function arguments are
different: Row headers denote type `T` of `*this` object.
Columns headers denote type `P` of the second function argument.
The table cells contain the arguments `T` of the intersections
`result`, which is the functions first argument.
``
/* overload table for */ T\P| e i b p
void T::add_intersection(T& result, const P&)const ---+--------
s | s
m | m m
S | S S
M | M M M M
``
The next table contains complexity characteristics for function `add_intersection`.
[table Time Complexity for function add_intersection on icl containers
[[`void add_intersection(T&, const T&, const P&)const`] [__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__]]
[[__icl_set__] [__Olgn__] [] [] [] ]
[[__icl_map__] [__Olgn__] [] [__Olgn__] [] ]
[[__itv_sets__] [__Olgn__] [__On__] [] [] ]
[[__itv_maps__] [__Olgn__] [__On__] [__On__] [__On__] ]
]
[endsect][/ Function Intersection]
[section Inplace operators][/ Intersection]
The overload tables below are giving admissible
type combinations for the intersection `operator &=`.
As for the overload patterns of /subtraction/
intersections are possible within Sets and Maps
but also for Maps combined with /key objects/
which are /key elements, intervals/ and /Sets of keys/.
``
// overload tables for element containers: interval containers:
T& operator &= (T&, const P&) &= | e b s m &= | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m m m M | M M M M M M
``
While intersection on maps can be viewed as
a ['*generalisation of set intersection*]. The
combination on Maps and Sets can be interpreted as
a ['*generalized selection function*], because it
allows to select parts of a maps using
/key/ or /selection objects/.
So we have a ['*generalized intersection*] for
these overloads,
``
/* (Generalized) intersection */ &= | e b s m &= | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m M | M M M
``
[*and] a ['*selection by key objects*] here:
``
/* Selection by key objects */ &= | e b s m &= | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m M | M M M
``
The differences for the different functionalities
of `operator &=` are on the Map-row of the
tables. Both functionalities fall together
for Sets in the function ['*set intersection*].
Complexity characteristics for inplace intersection operations are
given by the next tables where
``
n = iterative_size(y);
m = iterative_size(x); //if P is a container type
``
[table Time Complexity for inplace intersection on element containers
[[`T& operator &= (T& y, const P& x)`][__ch_dom_t__][__ch_dom_mp_t__][__ch_icl_set__][__ch_icl_map__]]
[[__icl_set__] [__Olgn__] [] [__Omlgn__] [] ]
[[__icl_map__] [__Olgn__] [__Olgn__] [__Omlgn__] [__Omlgn__] ]
]
[table Time Complexity for inplace intersection on interval containers
[[`T& operator &= (T& y, const P& x)`][__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__][__ch_itv_sets__][__ch_itv_maps__]]
[[interval_sets] [__Olgn__] [__On__] [] [] [__Omlgnpm__] [] ]
[[interval_maps] [__Olgn__] [__On__] [__Olgn__] [__On__] [__Omlgnpm__] [__Omlgnpm__] ]
]
[endsect][/ Inplace operators Intersection]
[section Infix operators][/ Intersection]
For the *icl's* infix intersection the
following overloads are available:
``
// overload tables for element containers: interval containers:
T operator & (T, const P&) & | e b s m & | e i b p S1 S2 S3 M1 M3
T operator & (const P&, T) ---+-------- ---+---------------------------
e | s m e | S1 S2 S3 M1 M3
b | m i | i S1 S2 S3 M1 M3
s | s s m b | M1 M3
m | m m m m p | M1 M3
S1 | S1 S1 S1 S2 S3 M1 M3
S2 | S2 S2 S2 S2 S3 M1 M3
S3 | S3 S3 S3 S3 S3 M1 M3
M1 | M1 M1 M1 M1 M1 M1 M1 M1 M3
M3 | M3 M3 M3 M3 M3 M3 M3 M3 M3
``
To resolve ambiguities among interval containers
the ['*finer*] container type is chosen as result type.
Again, we can split up the overload tables of
`operator &` in a part describing
the ['*generalized intersection] on interval containers
and a second part defining the
['*selection by key object] functionality.
``
/* (Generalized) intersection */ & | e b s m & | e i b p S1 S2 S3 M1 M3
---+-------- ---+---------------------------
e | s e | S1 S2 S3
b | m i | i S1 S2 S3
s | s s b | M1 M3
m | m m p | M1 M3
S1 | S1 S1 S1 S2 S3
S2 | S2 S2 S2 S2 S3
S3 | S3 S3 S3 S3 S3
M1 | M1 M1 M1 M3
M3 | M3 M3 M3 M3
``
``
/* Selection by key objects */ & | e b s m & | e i b p S1 S2 S3 M1 M3
---+-------- ---+---------------------------
e | s m e | S1 S2 S3 M1 M3
b | i | i S1 S2 S3 M1 M3
s | s s m b |
m | m m p |
S1 | S1 S1 S1 S2 S3 M1 M3
S2 | S2 S2 S2 S2 S3 M1 M3
S3 | S3 S3 S3 S3 S3 M1 M3
M1 | M1 M1 M1 M1 M1
M3 | M3 M3 M3 M3 M3
``
[endsect][/ Inplace operator Intersection]
[section Intersection tester]
[table
[[Tester] [Desctription]]
[[`bool intersects(const T& left, const P& right)`][Tests, if `left` and `right` intersect.]]
[[`bool disjoint(const T& left, const P& right)`] [Tests, if `left` and `right` are disjoint.]]
[[] [`intersects(x,y) == !disjoint(x,y)`]]
]
``
bool intersects(const T&, const P&) T\P| e b s m T\P| e i b p S M
bool disjoint(const T&, const P&) ---+-------- ---+------------
s | 1 1 S | 1 1 1
m | 1 1 1 1 M | 1 1 1 1 1 1
``
[endsect][/ Intersection tester]
['*See also . . .*]
[table
[]
[[[link boost_icl.function_reference.symmetric_difference ['*Symmetric difference*]] ]]
[[[link boost_icl.function_reference.subtraction ['*Subtraction*]] ]]
[[[link boost_icl.function_reference.addition ['*Addition*]] ]]
]
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]] ]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Intersection]

View File

@@ -0,0 +1,124 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[/ //= Interval Construction ===================================================================]
[section Interval Construction]
[table
[[T] [__ch_dsc_itv__] [__ch_cnt_itv__] [__ch_ro_itv__] [__ch_lo_itv__] [__ch_cl_itv__] [__ch_op_itv__] ]
[[Interval bounds] [dynamic] [dynamic] [static] [static] [static] [static] ]
[[Form] [ ] [ ] [asymmetric] [asymmetric] [symmetric] [symmetric] ]
[[['*Construct*]] [ ] [ ] [ ] [ ] [ ] [ ] ]
[[`T singleton(const P&)`] [__d] [__c] [__d] [__d] [__d] [__d] ]
[[`T construct(const P&, const P&)`] [__d] [__c] [__dc] [__dc] [__d] [__d] ]
[[``
T construct(const P&, const P&,
interval_bounds )
``] [__d] [__c] [ ] [ ] [ ] [ ] ]
[[`T hull(const P&, const P&)`] [__d] [__c] [__dc] [__dc] [__d] [__d] ]
[[`T span(const P&, const P&)`] [__d] [__c] [__dc] [__dc] [__d] [__d] ]
[[`static T right_open(const P&, const P&)`] [__d] [__c] [ ] [ ] [ ] [ ] ]
[[`static T left_open(const P&, const P&)`] [__d] [__c] [ ] [ ] [ ] [ ] ]
[[`static T closed(const P&, const P&)`] [__d] [__c] [ ] [ ] [ ] [ ] ]
[[`static T open(const P&, const P&)`] [__d] [__c] [ ] [ ] [ ] [ ] ]
]
The table above shows the availability of functions, that allow the construction
of intervals. All interval constructin functins are of ['*constant time and space complexity*].
[table
[[['*Construct*]] [Description] ]
[[`T singleton(const P& value)`] [Constructs an interval that contains exactly one element `value`.
For all interval types of the icl sigletons can be constructed
for /discrete/ domain types. For continuous domain types, only
__ct_itv__ is capable to construct a singleton. ] ]
[[`T construct(const P& lower, const P& upper)`] [Contructs an interval with lower bound `lower` and upper bound `upper` ] ]
[[``
T construct(const P& lower, const P& upper,
interval_bounds bounds
= interval_bounds::right_open())
``]
[For dynamically bounded intervals this function constructs an
interval with interval bounds specified by the third parameter. ] ]
[[`T hull(const P& x1, const P& x2)`] [`hull(x1,x2)` constructs the smallest interval that contains both `x1` and `x2`.
`x2` may be smaller than `x1`. ] ]
[[`T span(const P& x1, const P& x2)`] [`span(x1,x2)` constructs the interval `construct(min(x1,x2), max(x1,x2))`.
Note the differences between `span`, `hull` and `construct`:
``
span<right_open_interval<int> >(2,1) == [1,2) // does NOT contain 2
hull<right_open_interval<int> >(2,1) == [1,3) // contains 2
construct<right_open_interval<int> >(2,1) == [) // is empty
``
] ]
[[``
static T right_open(const P&, const P&)
static T left_open(const P&, const P&)
static T closed(const P&, const P&)
static T open(const P&, const P&)
`` ] [For dynamically bounded intervals there are for static functions to
construct intervals with the four interval bound types:
``
discrete_interval<int> itv1 = discrete_interval<int>::closed(0,42);
continuous_interval<double> itv2 = continuous_interval<double>::right_open(0.0, 1.0);
``
] ]
[[['*Using the interval default*]] [ ]]
[[`interval<P>::type`] [There is a library default, for all interval containers of the *icl*.
The intension of the library default is to minimize the need for parameter
specification, when working with *icl* class templates.
We can get the library default interval type as `interval<P>::type`.
The library default uses ['*dynamically bounded intervals*]. You
can switch to ['*statically bounded intervals*] by
`#define BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS` prior to icl includes. ]]
[[``
static T right_open(const P&, const P&)
static T left_open(const P&, const P&)
static T closed(const P&, const P&)
static T open(const P&, const P&)
`` ] [For template struct `interval` that always uses the library default
the static functions for the four interval bound types are also available.
``
interval<int>::type itv1 = interval<int>::closed(0,42);
interval<double>::type itv2 = interval<double>::right_open(0.0, 1.0);
``
This works with the statically bounded intervals as well,
with the restriction that for continuous domain types the
matching function has to be used:
``
#define BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS
. . .
// library default is the statically bounded right_open_interval
interval<int>::type itv1 = interval<int>::closed(0,42); //==[0,43) //ok, bounds are shifted
interval<double>::type itv2 = interval<double>::right_open(0.0, 1.0); //ok. right_open matches
interval<double>::type itv3 = interval<double>::closed(0.0, 1.0); //will NOT compile
``
See also examples
[link boost_icl.examples.dynamic_interval Dynamic intervals] and
[link boost_icl.examples.static_interval Static intervals]
]]
]
['*See also . . .*]
[table
[]
[[[link boost_icl.examples.dynamic_interval ['*Example: Dynamically bounded intervals and the library default*]] ]]
[[[link boost_icl.examples.static_interval ['*Example: Statically bounded intervals, changing the library default*]] ]]
]
['*Back to section . . .*]
[table
[]
[[[link additional_interval_functions ['*Additional interval functions*]] ]]
[[[link function_synopsis_table ['*Function Synopsis*]] ]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Interval Construction]

View File

@@ -0,0 +1,48 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[/ //= Miscellaneous Interval Functions ===================================================================]
[section Miscellaneous Interval Functions]
[table
[[T] [__ch_dsc_itv__] [__ch_cnt_itv__] [__ch_ro_itv__] [__ch_lo_itv__] [__ch_cl_itv__] [__ch_op_itv__] ]
[[Interval bounds] [dynamic] [dynamic] [static] [static] [static] [static] ]
[[Form] [ ] [ ] [asymmetric] [asymmetric] [symmetric] [symmetric] ]
[[['*Miscellaneous*]] [ ] [ ] [ ] [ ] [ ] [ ] ]
[[`bool touches(const T&, const T&)`] [1] [1] [1] [1] [1] [1] ]
[[`T inner_complement(const T&, const T&)`] [1] [1] [1] [1] [1] [1] ]
[[`difference_type distance(const T&, const T&)`] [1] [1] [1] [1] [1] [1] ]
]
[table
[[['*Miscellaneous Interval Functions*]] [Description] ]
[[`bool touches(const T&, const T&)`] [`touches(x,y)` Between the disjoint intervals `x` and `y` are no elements. ] ]
[[`T inner_complement(const T&, const T&)`] [`z = inner_complement(x,y)` `z` is the interval between `x` and `y`] ]
[[`difference_type distance(const T&, const T&)`] [`d = distance(x,y)` If the domain type of the interval has a difference_type,
`d` is the distance between `x` and `y`.] ]
]
['*Back to section . . .*]
[table
[]
[[[link additional_interval_functions ['*Additional interval functions*]] ]]
[[[link function_synopsis_table ['*Function Synopsis*]] ]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Miscellaneous Interval Functions]

View File

@@ -0,0 +1,90 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[/ //= Additional Interval Orderings ===================================================================]
[section Additional Interval Orderings]
In addition to the standard orderings `operator <` and rleated `> <= >=` that you will find in the
[link function_synopsis_table ['*librarie's function synopsis*]], intervals
implement some additional orderings that can be useful.
[table
[[T] [__ch_dsc_itv__] [__ch_cnt_itv__] [__ch_ro_itv__] [__ch_lo_itv__] [__ch_cl_itv__] [__ch_op_itv__] ]
[[Interval bounds] [dynamic] [dynamic] [static] [static] [static] [static] ]
[[Form] [ ] [ ] [asymmetric] [asymmetric] [symmetric] [symmetric] ]
[[['*Orderings*]] [ ] [ ] [ ] [ ] [ ] [ ] ]
[[`bool exclusive_less(const T&, const T&)`] [1] [1] [1] [1] [1] [1] ]
[[``
bool lower_less(const T&, const T&)
bool lower_equal(const T&, const T&)
bool lower_less_equal(const T&, const T&)
``] [1] [1] [1] [1] [1] [1] ]
[[``
bool upper_less(const T&, const T&)
bool upper_equal(const T&, const T&)
bool upper_less_equal(const T&, const T&)
``]
[1] [1] [1] [1] [1] [1] ]
]
A central role for the *icl* plays the
`exclusive_less` ordering, which is used
in all interval containers.
The other orderings can be useful to simplify
comparison of intervals specifically for
dynamically bounded ones.
[table
[[['*Orderings*]] [Description] ]
[[`bool exclusive_less(const T&, const T&)`] [`exclusive_less(x1, x2)` is true if every element of interval `x1` is less than
every element of interval `x2` w.r.t. the the intervals `Compare` ordering ] ]
[[``
bool lower_less(const T&, const T&)
bool lower_equal(const T&, const T&)
bool lower_less_equal(const T&, const T&)
``] [Compares the beginnings of intervals.
``
lower_less(x,y) == true; // x begins before y
lower_equal(x,y) == true; // x and y begin at the same element
lower_less_equal(x,y) == lower_less(x,y) || lower_equal(x,y);
``
] ]
[[``
bool upper_less(const T&, const T&)
bool upper_equal(const T&, const T&)
bool upper_less_equal(const T&, const T&)
``]
[Compares the endings of intervals.
``
upper_less(x,y) == true; // x ends before y
upper_equal(x,y) == true; // x and y end at the same element
upper_less_equal(x,y) == upper_less(x,y) || upper_equal(x,y);
``
] ]
]
['*See also . . .*]
[table
[]
[[ __biLEquivsOrderings__ ]]
]
['*Back to section . . .*]
[table
[]
[[[link additional_interval_functions ['*Additional interval functions*]] ]]
[[[link function_synopsis_table ['*Function Synopsis*]] ]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Additional Interval Orderings]

View File

@@ -0,0 +1,76 @@
[/
Copyright (c) 2008-2009 Joachim Faulhaber
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)
]
[/ //= Iterator related ===================================================================]
[section Iterator related]
[table
[[['*Synopsis Complexities*]] [__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__] ]
[[`J T::begin()`] [__O1__] [__O1__] [__O1__] [__O1__] ]
[[`J T::end()`] [__O1__] [__O1__] [__O1__] [__O1__] ]
[[`J T::rbegin()`] [__O1__] [__O1__] [__O1__] [__O1__] ]
[[`J T::rend()`] [__O1__] [__O1__] [__O1__] [__O1__] ]
[[`J T::lower_bound(const key_type&)`] [__Olgn__] [__Olgn__] [__Olgn__] [__Olgn__] ]
[[`J T::upper_bound(const key_type&)`] [__Olgn__] [__Olgn__] [__Olgn__] [__Olgn__] ]
[[`pair<J,J> T::equal_range(const key_type&)`] [__Olgn__] [__Olgn__] [__Olgn__] [__Olgn__] ]
]
[table
[[['*Iterator related*]] [] ]
[[`` iterator T::begin()
const_iterator T::begin()const``] [Returns an iterator to the first value of the container.] ]
[[`` iterator T::end()
const_iterator T::end()const``] [Returns an iterator to a position `end()` after the last value of the container.]]
[[`` reverse_iterator T::rbegin()
const_reverse_iterator T::rbegin()const``] [Returns a reverse iterator to the last value of the container.] ]
[[`` reverse_iterator T::rend()
const_reverse_iterator T::rend()const``] [Returns a reverse iterator to a position `rend()` before the first value of the container.]]
[[`` iterator T::lower_bound(const key_type& k)
const_iterator T::lower_bound(const key_type& key)const``][Returns an iterator that points to the first element `first`, that does not compare less than `key_type key`.
`first` can be equal or greater than `key`, or it may overlap `key` for interval containers.]]
[[`` iterator T::upper_bound(const key_type&)
const_iterator T::upper_bound(const key_type&)const``] [Returns an iterator that points to the first element `past`, that compares greater than `key_type key`.]]
[[``
pair<iterator,iterator> T::equal_range(const key_type& key)
pair<const_iterator,const_iterator> T::equal_range(const key_type& key)const
``
]
[Returns a range `[first, past)` of iterators to all elements of the container
that compare neither less than nor greater than `key_type key`.
For element containers __icl_set__ and __icl_map__, `equal_range`
contains at most one iterator pointing the element equal to `key`,
if it exists.
For interval containers `equal_range` contains iterators to all
intervals that overlap interval `key`.
]]
]
[/
Functions `begin`, `end`, `rbegin`, `rend` need ['*constant time*].
Complexity of `lower_bound`, `upper_bound` and `equal_range` are
['*logarithmic*] in the `iterative_size` of the container.
]
['*See also . . .*]
[table
[]
[[[link boost_icl.function_reference.element_iteration ['*Element iteration*]] ]]
]
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]] ]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Iterator related]

View File

@@ -0,0 +1,57 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[/ //= Range ===================================================================]
[section Range]
[table
[[['*Range*]] [__ch_itvs__][__ch_itv_sets__][__ch_itv_maps__][condition] ]
[[`interval_type hull(const T&)`] [ ] [__O1__] [__O1__][] ]
[[`T hull(const T&, const T&)`] [__O1__] [ ] [ ][] ]
[[`domain_type lower(const T&)`] [__O1__] [__O1__] [__O1__][] ]
[[`domain_type upper(const T&)`] [__O1__] [__O1__] [__O1__][] ]
[[`domain_type first(const T&)`] [__O1__] [__O1__] [__O1__][`is_discrete<domain_type>::value`]]
[[`domain_type last(const T&)`] [__O1__] [__O1__] [__O1__][`is_discrete<domain_type>::value`]]
]
The table above shows the availability of functions
`hull`, `lower`, `upper`, `first` and `last` on intervals
and interval containers that are all of ['*constant time complexity*].
Find the functions description and some simple properties below.
[table
[[['*Range*]] [Types] [Description] ]
[[`interval_type hull(const T&)`] [__S __M] [`hull(x)` returns the smallest interval that contains all intervals of an interval container `x`.] ]
[[`T hull(const T&, const T&)`] [__S __M] [`hull(i,j)` returns the smallest interval that contains intervals `i` abd 'j'.] ]
[[`domain_type lower(const T&)`] [__i __S __M][`lower(x)` returns the lower bound of an interval or interval container `x`.] ]
[[`domain_type upper(const T&)`] [__i __S __M][`upper(x)` returns the upper bound of an interval or interval container `x`.] ]
[[`domain_type first(const T&)`] [__i __S __M][`first(x)` returns the first element of an interval or interval container `x`.
`first(const T&)` is defined for a discrete `domain_type` only.] ]
[[`domain_type last(const T&)`] [__i __S __M][`last(x)` returns the last element of an interval or interval container `x`.
`last(const T&)` is defined for a discrete `domain_type` only.] ]
]
``
// for interval_containers x:
lower(hull(x)) == lower(x)
upper(hull(x)) == upper(x)
first(hull(x)) == first(x)
last(hull(x)) == last(x)
``
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]] ]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Range]

View File

@@ -0,0 +1,72 @@
[/
Copyright (c) 2008-2009 Joachim Faulhaber
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)
]
[/ //= Selection ===================================================================]
[section Selection]
[table
[[['*Selection*]] [__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__] [condition] ]
[[`iterator T::find(const domain_type&)`] [ ] [ ] [__Olgn__] [__Olgn__] [] ]
[[`const_iterator T::find(const domain_type&)const`] [__Olgn__] [__Olgn__] [__Olgn__] [__Olgn__] [] ]
[[`const_iterator find(T&, const domain_type&)`] [__Olgn__] [__Olgn__] [ ] [ ] [] ]
[[`const_iterator T::find(const interval_type&)const`] [__Olgn__] [__Olgn__] [ ] [ ] [] ]
[[`const_iterator find(T&, const interval_type&)`] [__Olgn__] [__Olgn__] [ ] [ ] [] ]
[[`codomain_type& operator[] (const domain_type&)`] [ ] [ ] [ ] [__Olgn__] [] ]
[[`codomain_type operator() (const domain_type&)const`] [ ] [__Olgn__] [ ] [__Olgn__] [`is_total<T>::value`] ]
]
* All time *complexities* are ['*logarithmic*] in the containers `iterative_size()`.
* `operator()` is available for total maps only.
* `interval_type` is also the interval container's `key_type`
[table
[[['*Selection*]] [Types] [Description] ]
[[`iterator T::find(const domain_type& x)`] [__s __m] [Searches the container for the element `x` and return an iterator to it, if `x` is found.
Otherwise `find` returns iterator `end()`.] ]
[[`const_iterator T::find`\n
`(const domain_type& x)const`] [__s __m] [Const version of `find` above.] ]
[[`const_iterator T::find`\n
`(const domain_type& x)const`\n\n
`const_iterator find`\n
`(T&, const domain_type& x)`] [__S __M]
[For interval containers `c`, `c.find(x)` or `icl::find(c,x)` searches a key element `x` and
returns an iterator to the interval containing the element `x`.] ]
[[`const_iterator T::find`\n
`(const interval_type& x)const`\n\n
`const_iterator find`\n
`(T&, const interval_type& x)`]
[__S __M] [For interval containers `c`, `c.find(y)` or `icl::find(c,y)` searches an interval `y`
and returns an iterator to the first interval in `c` that overlaps with `y`.] ]
[[`codomain_type& operator[]`\n
`(const domain_type& x)`] [__m ] [For the key element `x` the operator returns a reference to the mapped value.
A pair `std::pair(x,codomain_type())` will be inserted, of `x` is not found in the map.] ]
[[`codomain_type operator()`\n
`(const domain_type& x)const`] [__M __m ] [Returns the mapped value for a key `x`. The operator is only available for ['*total*] maps. ] ]
]
['*See also . . .*]
[table
[]
[[[link boost_icl.function_reference.intersection ['*Intersection*]] ]]
]
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]] ]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Selection]

View File

@@ -0,0 +1,56 @@
[/
Copyright (c) 2008-2009 Joachim Faulhaber
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)
]
[/ //= Size ===================================================================]
[section Size]
[table
[[['*Size*]] [__ch_itvs__][__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__]]
[[`size_type T::size()const`\n
`size_type size(const T&)`] [__O1__] [__On__] [__On__] [__O1__] [__O1__] ]
[[`size_type cardinality(const T&)`] [__O1__] [__On__] [__On__] [__O1__] [__O1__] ]
[[`difference_type length(const T&)`] [__O1__] [__On__] [__On__] [ ] [ ] ]
[[`size_type iterative_size(const T&)`] [ ] [__O1__] [__O1__] [__O1__] [__O1__] ]
[[`size_type interval_count(const T&)`] [ ] [__O1__] [__O1__] [ ] [ ] ]
]
For *icl* containers the single `size` function known from std containers
branches into tree to five different members functions.
The table above shows the types, `size` functions are implemented for,
together with their *complexities*. Linear complexities __On__ refer to the container's
`iterative_size`:
``
n = y.iterative_size()
``
The next table gives a short definition for the different size functions.
[table
[[['*Size*]] [Types] [Description] ]
[[`size_type interval_count(const T&)`] [__S __M] [The number of intervals of an interval container.] ]
[[`size_type iterative_size(const T&)`] [__S __M __s __m] [The number of objects in an icl container that can be iterated over.] ]
[[`difference_type length(const T&)`] [__i __S __M] [The length of an interval or the sum of lengths of
an interval container's intervals, that's `domain_type` has a `difference_type`.] ]
[[`size_type cardinality(const T&)`][__i __S __M __s __m] [The number of elements of an interval or a container.
For continuous data types cardinality can be /infinite/.] ]
[[`size_type T::size()const`\n
`size_type size(const T&)`] [__i __S __M __s __m] [The number of elements of an interval or a container,
which is also it's `cardinality`.] ]
]
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]] ] ]
[[[link boost_icl.interface ['*Interface*]] ] ]
]
[endsect][/ Size]

View File

@@ -0,0 +1,34 @@
[/
Copyright (c) 2008-2009 Joachim Faulhaber
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)
]
[/ //= Streaming, conversion ===================================================================]
[section Streaming, conversion]
[table
[[['*Streaming, conversion*]] [__ch_itvs__][__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__] ]
[[`std::basic_ostream operator << (basic_ostream&, const T&)`] [1] [1] [1] [1] [1] ]
]
[table
[[['*Streaming, conversion*]] [Description] ]
[[`std::basic_ostream operator << (basic_ostream&, const T&)`]
[Serializes the argument of type T to an output stream] ]
]
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]]]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Streaming, conversion]

View File

@@ -0,0 +1,202 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[/ //= Subtraction ============================================================]
[section Subtraction]
[section Synopsis]
[table
[[Subtraction] [__ch_itvs__][__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__]]
[[`T& T::subtract(const P&)`] [ ] [__ei] [__bp] [ ] [__b] ]
[[`T& subtract(T&, const P&)`] [ ] [__ei] [__bp] [__e] [__b] ]
[[`T& operator -=(T&, const P&)`] [ ] [__eiS][__eiS __bpM][__es] [__bm] ]
[[`T operator - (T, const P&)`] [ ] [__eiS][__eiS __bpM][__es] [__bm] ]
[[`T left_subtract(T, const T&)`] [1] [ ] [ ] [ ] [ ] ]
[[`T right_subtract(T, const T&)`] [1] [ ] [ ] [ ] [ ] ]
]
Functions and operators that implement ['*Subtraction*] on *icl* objects
are given in the table above.
[table
[[] [Description of Subtraction]]
[[`Sets`][Subtraction on Sets implements ['*set difference*]]]
[[`Maps`][Subtraction on Maps implements a ['*map difference*] function similar to /set difference/.
If, on subtraction of an element value pair `(k,v)` it's key `k` is in the map
already, the subtraction function is propagated to the associated value.
On the associated value an aggregation is performed, that reverses
the effect of the corresponding addition function.
Find more on
[link boost_icl.concepts.aggrovering ['subtractability of maps]]
and related
[link boost_icl.semantics.maps ['semantic issues]]
following the links.
]]
]
[endsect][/ Synopsis]
[section Functions][/ Subtraction]
The admissible combinations of types for subtraction functions
can be summarized in the
['*overload table*] below:
``
// overload table for T\P| e i b p
T& T::subtract(const P&) ---+--------
T& subtract(T&, const P&) s | s
m | m
S | S S
M | M M
``
The next table contains complexity characteristics for `subtract`.
[table Time Complexity for function subtract on icl containers
[[`T& T::subtract(const P&)`\n
`T& subtract(T&, const P&)`] [__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__]]
[[__icl_set__] [__Olgn__] [] [] [] ]
[[__icl_map__] [__Olgn__] [] [__Olgn__] [] ]
[[__itv_sets__] [__Olgn__] [__a_Olgn__] [] [] ]
[[__itv_maps__] [__Olgn__] [__On__] [__Olgn__] [__On__] ]
]
[endsect][/ Member function Subtraction]
[section Inplace operators][/ Subtraction]
As presented in the overload tables for `operator -=`
more type combinations are provided for subtraction than for
addition.
``
// overload tables for element containers: interval containers:
T& operator -= (T&, const P&) -= | e b s m -= | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m m m M | M M M M M M
``
Subtraction provides the /reverse/ operation
of an addition for these overloads,
``
// Reverse addition -= | e b s m -= | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m M | M M M
``
[*and] you can erase parts of __icl_maps__ or __itv_maps__
using
/key values/, /intervals/ or /element or interval sets/
using these overloads:
``
// Erasure by key objects -= | e b s m -= | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m M | M M M
``
On Sets both function groups fall together
as ['*set difference*].
Complexity characteristics for inplace subtraction operations are
given by the next tables where
``
n = iterative_size(y);
m = iterative_size(x); //if P is a container type
``
[table Time Complexity for inplace Subtraction on element containers
[[`T& operator -= (T&, const P&)`][__ch_dom_t__][__ch_dom_mp_t__][__ch_icl_set__][__ch_icl_map__]]
[[__icl_set__] [__Olgn__] [] [__Omlgn__] [] ]
[[__icl_map__] [__Olgn__] [__Olgn__] [__Omlgn__] [__Omlgn__] ]
]
[table Time Complexity for inplace Subtraction on interval containers
[[`T& operator -= (T&, const P&)`][__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__][__ch_itv_sets__][__ch_itv_maps__]]
[[interval_sets] [__Olgn__] [__a_Olgn__] [] [] [__Omlgnpm__] [] ]
[[interval_maps] [__Olgn__] [__a_Olgn__] [__Olgn__] [__On__] [__Omlgnpm__] [__Omlgnpm__] ]
]
[endsect][/ Inplace operators Subtraction]
[section Infix operators][/-Subtraction]
The admissible overloads for the infix
/subtraction/ `operator -`
which is a non commutative
operation
is given by the next overload table.
``
// overload tables for - | e b s m - | e i b p S M
T operator - (T, const P&) ---+-------- ---+------------
s | s s S | S S S
m | m m m m M | M M M M M M
``
[endsect][/- Infix operator Subtraction]
[section Subtraction on Intervals]
[table
[[['*Subtraction*]] [Types] [Description] ]
[[`T left_subtract(T right, const T& left_minuend)`] [__i]
[subtract `left_minuend` from the interval `right` on it's left side.
``
right_over = left_subtract(right, left_minuend);
... d) : right
... c) : left_minuend
[c d) : right_over
``
] ]
[[`T right_subtract(T left, const T& right_minuend)`] [__i]
[subtract `right_minuend` from the interval `left` on it's right side.
``
left_over = right_subtract(left, right_minuend);
[a ... : left
[b ... : right_minuend
[a b) : left_over
``
] ]
]
[endsect][/ Subtraction on Intervals]
['*See also . . .*]
[table
[]
[[[link boost_icl.function_reference.addition ['*Addition*]] ]]
[[[link boost_icl.function_reference.erasure ['*Erasure*]] ]]
]
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]] ]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Subtraction]

View File

@@ -0,0 +1,163 @@
[/
Copyright (c) 2008-2010 Joachim Faulhaber
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)
]
[/ //= Symmetric Difference ===================================================]
[section Symmetric Difference]
[section Synopsis][/ Symmetric difference]
[table
[[Symmetric difference] [__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__] ]
[[`T& T::flip(const P&)`] [__ei] [__bp] [ ] [__b] ]
[[`T& flip(T&, const P&)`] [__ei] [__bp] [__e] [__b] ]
[[`T& operator ^=(T&, const P&)`] [__eiS] [__bpM] [__es] [__bm] ]
[[`T operator ^ (T, const P&)`\n
`T operator ^ (const P&, T)`] [__eiS] [__bpM] [__es] [__bm] ]
]
Functions and operators that implement ['*symmetric difference*] on *icl* objects
are given in the table above.
[table
[[] [Description of symmetric difference]]
[[`Sets`][`operator ^` implements ['*set symmetric difference*]]]
[[`Maps`][`operator ^` implements a ['*map symmetric difference*]
function similar to /set symmetric difference/.
All pairs that are common to both arguments are removed. All others unified.
]]
]
[endsect][/ Synopsis Symmetric difference]
[section Functions][/ Symmetric difference]
/Symmetric difference/ is implemented on interval containers
by the function `T& flip(T&, const P& operand)`.
``
flip(y,x)
``
deletes every element of `y`,
if it is contained in `x`. Elements of
`x` not contained in `y` are added.
For icl containers flip is also availabel as memeber function
`T& T::flip(const P& operand)`.
[/ paratract, surtract, symetract, topple, symmetric_subtract]
The admissible combinations of types for member function
`T& T::flip(const P&)` can be summarized in the
['*overload table*] below:
``
/* overload table for */ T\P| e i b p
T& T::flip(const P&) ---+--------
T& flip(T&, const P&) s | s
m | m
S | S S
M | M M
``
The next table contains complexity characteristics for functions `flip`.
[table Time Complexity for member functions flip on icl containers
[[`T& T::flip(const P&)`\n
`T& flip(T&, const P&)`] [__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__]]
[[__icl_set__] [__Olgn__] [] [] [] ]
[[__icl_map__] [] [] [__Olgn__][] ]
[[__itv_set__\n__sep_itv_set__][__Olgn__] [__On__] [] [] ]
[[__spl_itv_set__] [__Olgn__] [__On__] [] [] ]
[[__itv_map__\n__spl_itv_map__][] [] [__Olgn__][__On__] ]
]
[endsect][/ Member functions Symmetric difference]
[section Inplace operators][/ Symmetric Difference]
The overload tables below are giving admissible
type combinations for `operator ^=`
that implements ['*symmetric difference*].
``
// overload tables for element containers: interval containers:
T& operator ^= (T&, const P&) ^= | e b s m ^= | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m M | M M M
``
Complexity characteristics for inplace operators
that implement ['*symmetric difference*]
are given by the next tables where
``
n = iterative_size(y);
m = iterative_size(x); //if P is a container
``
[table Time Complexity for inplace symmetric difference on element containers
[[`T& operator &= (T& y, const P& x)`][__ch_dom_t__][__ch_dom_mp_t__][__ch_icl_set__][__ch_icl_map__]]
[[__icl_set__] [__Olgn__] [] [__Omlgn__] [] ]
[[__icl_map__] [__Olgn__] [__Olgn__] [__Omlgn__] [__Omlgn__] ]
]
[table Time Complexity for inplace symmetric difference on interval containers
[[`T& operator &= (T&, const P&)`][__ch_dom_t__][__ch_itv_t__][__ch_dom_mp_t__][__ch_itv_mp_t__][__ch_itv_sets__][__ch_itv_maps__]]
[[interval_sets] [__Olgn__] [__On__] [] [] [__Omlgnpm__] [] ]
[[interval_maps] [__Olgn__] [__On__] [__Olgn__] [__On__] [__Omlgnpm__] [__Omlgnpm__] ]
]
[endsect][/ Inplace operators Symmetric Difference]
[section Infix operators][/ Symmetric Difference]
For the infix version of symmetric difference the
following overloads are available:
``
// overload tables for element containers: interval containers:
T operator ^ (T, const P&) ^ | e b s m ^ | e i b p S1 S2 S3 M1 M3
T operator ^ (const P&, T) ---+-------- ---+---------------------------
e | s e | S1 S2 S3
b | m i | S1 S2 S3
s | s s b | M1 M3
m | m m p | M1 M3
S1 | S1 S1 S1 S2 S3
S2 | S2 S2 S2 S2 S3
S3 | S3 S3 S3 S3 S3
M1 | M1 M1 M1 M3
M3 | M3 M3 M3 M3
``
To resolve ambiguities among interval containers
the ['*finer*] container type is chosen as result type.
[endsect][/ Infix operators Symmetric Difference]
['*See also . . .*]
[table
[]
[[[link boost_icl.function_reference.intersection ['*Intersection*]] ]]
[[[link boost_icl.function_reference.subtraction ['*Subtraction*]] ]]
[[[link boost_icl.function_reference.addition ['*Addition*]] ]]
]
['*Back to section . . .*]
[table
[]
[[[link function_synopsis_table ['*Function Synopsis*]] ]]
[[[link boost_icl.interface ['*Interface*]] ]]
]
[endsect][/ Symmetric Difference]

View File

@@ -0,0 +1,49 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Macro ICL_IMPL_SPACE</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="header/boost/icl/impl_config_hpp.html" title="Header &lt;boost/icl/impl_config.hpp&gt;">
<link rel="prev" href="header/boost/icl/impl_config_hpp.html" title="Header &lt;boost/icl/impl_config.hpp&gt;">
<link rel="next" href="header/boost/icl/interval_hpp.html" title="Header &lt;boost/icl/interval.hpp&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="header/boost/icl/impl_config_hpp.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="header/boost/icl/impl_config_hpp.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="header/boost/icl/interval_hpp.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="ICL_IMPL_SPACE"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Macro ICL_IMPL_SPACE</span></h2>
<p>ICL_IMPL_SPACE</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="header/boost/icl/impl_config_hpp.html" title="Header &lt;boost/icl/impl_config.hpp&gt;">boost/icl/impl_config.hpp</a>&gt;
</span>ICL_IMPL_SPACE</pre></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="header/boost/icl/impl_config_hpp.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="header/boost/icl/impl_config_hpp.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="header/boost/icl/interval_hpp.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,67 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template absorbs_identities&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">
<link rel="prev" href="is_interval_conta_id653092.html" title="Struct template is_interval_container&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
<link rel="next" href="is_total_icl_inte_id653291.html" title="Struct template is_total&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_interval_conta_id653092.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_base_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_total_icl_inte_id653291.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.absorbs_identitie_id653192"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template absorbs_identities&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</span></h2>
<p>boost::icl::absorbs_identities&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">boost/icl/interval_base_map.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> SubType<span class="special">,</span> <span class="keyword">typename</span> DomainT<span class="special">,</span> <span class="keyword">typename</span> CodomainT<span class="special">,</span>
<span class="keyword">typename</span> Traits<span class="special">,</span> <span class="identifier">ICL_COMPARE</span> Compare<span class="special">,</span> <span class="identifier">ICL_COMBINE</span> Combine<span class="special">,</span>
<span class="identifier">ICL_SECTION</span> Section<span class="special">,</span> <span class="identifier">ICL_INTERVAL</span><span class="special">(</span><span class="identifier">ICL_COMPARE</span><span class="special">)</span> Interval<span class="special">,</span>
<span class="identifier">ICL_ALLOC</span> Alloc<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="absorbs_identitie_id653192.html" title="Struct template absorbs_identities&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">absorbs_identities</a><span class="special">&lt;</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">interval_base_map</span><span class="special">&lt;</span> <span class="identifier">SubType</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">absorbs_identities</span><span class="special">&lt;</span> <a class="link" href="interval_base_map.html" title="Class template interval_base_map">icl::interval_base_map</a><span class="special">&lt;</span> <span class="identifier">SubType</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <a name="boost.icl.absorbs_identitie_id653192.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="absorbs_identitie_id653192.html#id653272-bb">public member functions</a></span>
<a class="link" href="absorbs_identitie_id653192.html#id653274-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Traits</span><span class="special">::</span><span class="identifier">absorbs_identities</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1265645"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1265649"></a><h3>
<a name="id653272-bb"></a><code class="computeroutput">absorbs_identities</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id653274-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Traits</span><span class="special">::</span><span class="identifier">absorbs_identities</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_interval_conta_id653092.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_base_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_total_icl_inte_id653291.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template absorbs_identities&lt;icl::interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/interval_map_hpp.html" title="Header &lt;boost/icl/interval_map.hpp&gt;">
<link rel="prev" href="is_interval_conta_id656296.html" title="Struct template is_interval_container&lt;icl::interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
<link rel="next" href="is_total_icl_inte_id656483.html" title="Struct template is_total&lt;icl::interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_interval_conta_id656296.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_total_icl_inte_id656483.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.absorbs_identitie_id656389"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template absorbs_identities&lt;icl::interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</span></h2>
<p>boost::icl::absorbs_identities&lt;icl::interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/interval_map_hpp.html" title="Header &lt;boost/icl/interval_map.hpp&gt;">boost/icl/interval_map.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span> <span class="keyword">typename</span> CodomainT<span class="special">,</span> <span class="keyword">typename</span> Traits<span class="special">,</span>
<span class="identifier">ICL_COMPARE</span> Compare<span class="special">,</span> <span class="identifier">ICL_COMBINE</span> Combine<span class="special">,</span> <span class="identifier">ICL_SECTION</span> Section<span class="special">,</span>
<span class="identifier">ICL_INTERVAL</span><span class="special">(</span><span class="identifier">ICL_COMPARE</span><span class="special">)</span> Interval<span class="special">,</span> <span class="identifier">ICL_ALLOC</span> Alloc<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="absorbs_identitie_id656389.html" title="Struct template absorbs_identities&lt;icl::interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">absorbs_identities</a><span class="special">&lt;</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">interval_map</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">absorbs_identities</span><span class="special">&lt;</span> <a class="link" href="interval_map.html" title="Class template interval_map">icl::interval_map</a><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <a name="boost.icl.absorbs_identitie_id656389.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="absorbs_identitie_id656389.html#id656464-bb">public member functions</a></span>
<a class="link" href="absorbs_identitie_id656389.html#id656466-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Traits</span><span class="special">::</span><span class="identifier">absorbs_identities</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1291130"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1291134"></a><h3>
<a name="id656464-bb"></a><code class="computeroutput">absorbs_identities</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id656466-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Traits</span><span class="special">::</span><span class="identifier">absorbs_identities</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_interval_conta_id656296.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_total_icl_inte_id656483.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template absorbs_identities&lt;icl::map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/map_hpp.html" title="Header &lt;boost/icl/map.hpp&gt;">
<link rel="prev" href="has_inverse_icl_m_id659554.html" title="Struct template has_inverse&lt;icl::map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;&gt;">
<link rel="next" href="is_total_icl_map__id659721.html" title="Struct template is_total&lt;icl::map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="has_inverse_icl_m_id659554.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_total_icl_map__id659721.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.absorbs_identitie_id659640"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template absorbs_identities&lt;icl::map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;&gt;</span></h2>
<p>boost::icl::absorbs_identities&lt;icl::map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/map_hpp.html" title="Header &lt;boost/icl/map.hpp&gt;">boost/icl/map.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span> <span class="keyword">typename</span> CodomainT<span class="special">,</span> <span class="keyword">typename</span> Traits<span class="special">,</span>
<span class="identifier">ICL_COMPARE</span> Compare<span class="special">,</span> <span class="identifier">ICL_COMBINE</span> Combine<span class="special">,</span> <span class="identifier">ICL_SECTION</span> Section<span class="special">,</span>
<span class="identifier">ICL_ALLOC</span> Alloc<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="absorbs_identitie_id659640.html" title="Struct template absorbs_identities&lt;icl::map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;&gt;">absorbs_identities</a><span class="special">&lt;</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">absorbs_identities</span> <a name="boost.icl.absorbs_identitie_id659640.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="absorbs_identitie_id659640.html#id659702-bb">public member functions</a></span>
<a class="link" href="absorbs_identitie_id659640.html#id659704-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">Traits</span><span class="special">::</span><span class="identifier">absorbs_identities</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1326910"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1326913"></a><h3>
<a name="id659702-bb"></a><code class="computeroutput">absorbs_identities</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id659704-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">Traits</span><span class="special">::</span><span class="identifier">absorbs_identities</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="has_inverse_icl_m_id659554.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_total_icl_map__id659721.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template absorbs_identities&lt;icl::split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/split_interval_map_hpp.html" title="Header &lt;boost/icl/split_interval_map.hpp&gt;">
<link rel="prev" href="is_interval_split_id663943.html" title="Struct template is_interval_splitter&lt;icl::split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
<link rel="next" href="is_total_icl_spli_id664130.html" title="Struct template is_total&lt;icl::split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_interval_split_id663943.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/split_interval_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_total_icl_spli_id664130.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.absorbs_identitie_id664037"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template absorbs_identities&lt;icl::split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</span></h2>
<p>boost::icl::absorbs_identities&lt;icl::split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/split_interval_map_hpp.html" title="Header &lt;boost/icl/split_interval_map.hpp&gt;">boost/icl/split_interval_map.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span> <span class="keyword">typename</span> CodomainT<span class="special">,</span> <span class="keyword">typename</span> Traits<span class="special">,</span>
<span class="identifier">ICL_COMPARE</span> Compare<span class="special">,</span> <span class="identifier">ICL_COMBINE</span> Combine<span class="special">,</span> <span class="identifier">ICL_SECTION</span> Section<span class="special">,</span>
<span class="identifier">ICL_INTERVAL</span><span class="special">(</span><span class="identifier">ICL_COMPARE</span><span class="special">)</span> Interval<span class="special">,</span> <span class="identifier">ICL_ALLOC</span> Alloc<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="absorbs_identitie_id664037.html" title="Struct template absorbs_identities&lt;icl::split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">absorbs_identities</a><span class="special">&lt;</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">split_interval_map</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">absorbs_identities</span><span class="special">&lt;</span> <a class="link" href="split_interval_map.html" title="Class template split_interval_map">icl::split_interval_map</a><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <a name="boost.icl.absorbs_identitie_id664037.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="absorbs_identitie_id664037.html#id664111-bb">public member functions</a></span>
<a class="link" href="absorbs_identitie_id664037.html#id664113-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Traits</span><span class="special">::</span><span class="identifier">absorbs_identities</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1357792"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1357796"></a><h3>
<a name="id664111-bb"></a><code class="computeroutput">absorbs_identities</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id664113-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Traits</span><span class="special">::</span><span class="identifier">absorbs_identities</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_interval_split_id663943.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/split_interval_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_total_icl_spli_id664130.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,92 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template add_iterator</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/iterator_hpp.html" title="Header &lt;boost/icl/iterator.hpp&gt;">
<link rel="prev" href="../../header/boost/icl/iterator_hpp.html" title="Header &lt;boost/icl/iterator.hpp&gt;">
<link rel="next" href="insert_iterator.html" title="Class template insert_iterator">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/iterator_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/iterator_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_iterator.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.add_iterator"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template add_iterator</span></h2>
<p>boost::icl::add_iterator &#8212; Performes an addition using a container's memberfunction add, when operator= is called. </p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/iterator_hpp.html" title="Header &lt;boost/icl/iterator.hpp&gt;">boost/icl/iterator.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ContainerT<span class="special">&gt;</span>
<span class="keyword">class</span> <a class="link" href="add_iterator.html" title="Class template add_iterator">add_iterator</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">ContainerT</span> <a name="boost.icl.add_iterator.container_type"></a><span class="identifier">container_type</span><span class="special">;</span> <span class="comment">// The container's type. </span>
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">output_iterator_tag</span> <a name="boost.icl.add_iterator.iterator_category"></a><span class="identifier">iterator_category</span><span class="special">;</span>
<span class="comment">// <a class="link" href="add_iterator.html#boost.icl.add_iteratorconstruct-copy-destruct">construct/copy/destruct</a></span>
<a class="link" href="add_iterator.html#id657491-bb"><span class="identifier">add_iterator</span></a><span class="special">(</span><span class="identifier">ContainerT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ContainerT</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">)</span><span class="special">;</span>
add_iterator&amp; <a class="link" href="add_iterator.html#id657510-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">ContainerT</span><span class="special">::</span><span class="identifier">const_reference</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="add_iterator.html#id657459-bb">public member functions</a></span>
<a class="link" href="add_iterator.html" title="Class template add_iterator">add_iterator</a> <span class="special">&amp;</span> <a class="link" href="add_iterator.html#id657461-bb"><span class="keyword">operator</span><span class="special">*</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="add_iterator.html" title="Class template add_iterator">add_iterator</a> <span class="special">&amp;</span> <a class="link" href="add_iterator.html#id657469-bb"><span class="keyword">operator</span><span class="special">++</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="add_iterator.html" title="Class template add_iterator">add_iterator</a> <span class="special">&amp;</span> <a class="link" href="add_iterator.html#id657478-bb"><span class="keyword">operator</span><span class="special">++</span></a><span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1301712"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1301716"></a><h3>
<a name="boost.icl.add_iteratorconstruct-copy-destruct"></a><code class="computeroutput">add_iterator</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol type="1">
<li>
<pre class="literallayout"><a name="id657491-bb"></a><span class="identifier">add_iterator</span><span class="special">(</span><span class="identifier">ContainerT</span> <span class="special">&amp;</span> cont<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ContainerT</span><span class="special">::</span><span class="identifier">iterator</span> iter<span class="special">)</span><span class="special">;</span></pre>
<p>An <code class="computeroutput"><a class="link" href="add_iterator.html" title="Class template add_iterator">add_iterator</a></code> is constructed with a container and a position that has to be maintained. </p>
</li>
<li>
<pre class="literallayout">add_iterator&amp; <a name="id657510-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">ContainerT</span><span class="special">::</span><span class="identifier">const_reference</span> value<span class="special">)</span><span class="special">;</span></pre>
<p>This assignment operator adds the <code class="computeroutput">value</code> before the current position. It maintains it's position by incrementing after addition. </p>
</li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1301844"></a><h3>
<a name="id657459-bb"></a><code class="computeroutput">add_iterator</code> public member functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><a class="link" href="add_iterator.html" title="Class template add_iterator">add_iterator</a> <span class="special">&amp;</span> <a name="id657461-bb"></a><span class="keyword">operator</span><span class="special">*</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><a class="link" href="add_iterator.html" title="Class template add_iterator">add_iterator</a> <span class="special">&amp;</span> <a name="id657469-bb"></a><span class="keyword">operator</span><span class="special">++</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><a class="link" href="add_iterator.html" title="Class template add_iterator">add_iterator</a> <span class="special">&amp;</span> <a name="id657478-bb"></a><span class="keyword">operator</span><span class="special">++</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/iterator_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/iterator_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_iterator.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Function template adder</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/iterator_hpp.html" title="Header &lt;boost/icl/iterator.hpp&gt;">
<link rel="prev" href="insert_iterator.html" title="Class template insert_iterator">
<link rel="next" href="inserter.html" title="Function template inserter">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert_iterator.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/iterator_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inserter.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.adder"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Function template adder</span></h2>
<p>boost::icl::adder</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/iterator_hpp.html" title="Header &lt;boost/icl/iterator.hpp&gt;">boost/icl/iterator.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ContainerT<span class="special">,</span> <span class="keyword">typename</span> IteratorT<span class="special">&gt;</span>
<a class="link" href="add_iterator.html" title="Class template add_iterator">add_iterator</a><span class="special">&lt;</span> <span class="identifier">ContainerT</span> <span class="special">&gt;</span> <span class="identifier">adder</span><span class="special">(</span><span class="identifier">ContainerT</span> <span class="special">&amp;</span> cont<span class="special">,</span> <span class="identifier">IteratorT</span> iter_<span class="special">)</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1302659"></a><h2>Description</h2>
<p>Function adder creates and initializes an <code class="computeroutput"><a class="link" href="add_iterator.html" title="Class template add_iterator">add_iterator</a></code> </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert_iterator.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/iterator_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inserter.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,80 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template bounded_value</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/interval_bounds_hpp.html" title="Header &lt;boost/icl/interval_bounds.hpp&gt;">
<link rel="prev" href="interval_bounds.html" title="Class interval_bounds">
<link rel="next" href="../../header/boost/icl/interval_combining_style_hpp.html" title="Header &lt;boost/icl/interval_combining_style.hpp&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="interval_bounds.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_bounds_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../header/boost/icl/interval_combining_style_hpp.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.bounded_value"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template bounded_value</span></h2>
<p>boost::icl::bounded_value</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/interval_bounds_hpp.html" title="Header &lt;boost/icl/interval_bounds.hpp&gt;">boost/icl/interval_bounds.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">&gt;</span>
<span class="keyword">class</span> <a class="link" href="bounded_value.html" title="Class template bounded_value">bounded_value</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">DomainT</span> <a name="boost.icl.bounded_value.domain_type"></a><span class="identifier">domain_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span> <a name="boost.icl.bounded_value.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="bounded_value.html#boost.icl.bounded_valueconstruct-copy-destruct">construct/copy/destruct</a></span>
<a class="link" href="bounded_value.html#id654885-bb"><span class="identifier">bounded_value</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">interval_bounds</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="bounded_value.html#id654870-bb">public member functions</a></span>
<span class="identifier">domain_type</span> <a class="link" href="bounded_value.html#id654873-bb"><span class="identifier">value</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">interval_bounds</span> <a class="link" href="bounded_value.html#id654879-bb"><span class="identifier">bound</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1279577"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1279580"></a><h3>
<a name="boost.icl.bounded_valueconstruct-copy-destruct"></a><code class="computeroutput">bounded_value</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id654885-bb"></a><span class="identifier">bounded_value</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span> value<span class="special">,</span> <span class="identifier">interval_bounds</span> bound<span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1279640"></a><h3>
<a name="id654870-bb"></a><code class="computeroutput">bounded_value</code> public member functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="identifier">domain_type</span> <a name="id654873-bb"></a><span class="identifier">value</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">interval_bounds</span> <a name="id654879-bb"></a><span class="identifier">bound</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="interval_bounds.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_bounds_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../header/boost/icl/interval_combining_style_hpp.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,102 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template closed_interval</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../interval_container_library_reference.html#header.boost.icl.closed_interval_hpp" title="Header &lt;boost/icl/closed_interval.hpp&gt;">
<link rel="prev" href="../../interval_container_library_reference.html" title="Interval Container Library Reference">
<link rel="next" href="interval_traits_i_id644877.html" title="Struct template interval_traits&lt;icl::closed_interval&lt; DomainT, Compare &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../interval_container_library_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../interval_container_library_reference.html#header.boost.icl.closed_interval_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_traits_i_id644877.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.closed_interval"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template closed_interval</span></h2>
<p>boost::icl::closed_interval</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../interval_container_library_reference.html#header.boost.icl.closed_interval_hpp" title="Header &lt;boost/icl/closed_interval.hpp&gt;">boost/icl/closed_interval.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span>
<span class="identifier">ICL_COMPARE</span> Compare <span class="special">=</span> <span class="identifier">ICL_COMPARE_INSTANCE</span><span class="special">(</span><span class="identifier">ICL_COMPARE_DEFAULT</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">&gt;</span>
<span class="keyword">class</span> <a class="link" href="closed_interval.html" title="Class template closed_interval">closed_interval</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">closed_interval</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="special">&gt;</span> <a name="boost.icl.closed_interval.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">DomainT</span> <a name="boost.icl.closed_interval.domain_type"></a><span class="identifier">domain_type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="closed_interval.html#boost.icl.closed_intervalconstruct-copy-destruct">construct/copy/destruct</a></span>
<a class="link" href="closed_interval.html#id644829-bb"><span class="identifier">closed_interval</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">explicit</span> <a class="link" href="closed_interval.html#id644838-bb"><span class="identifier">closed_interval</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="closed_interval.html#id644852-bb"><span class="identifier">closed_interval</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="closed_interval.html#id644787-bb">public member functions</a></span>
<span class="keyword">typedef</span> <a class="link" href="closed_interval.html#id644790-bb"><span class="identifier">ICL_COMPARE_DOMAIN</span></a><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">DomainT</span> <a class="link" href="closed_interval.html#id644805-bb"><span class="identifier">lower</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">DomainT</span> <a class="link" href="closed_interval.html#id644811-bb"><span class="identifier">upper</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">DomainT</span> <a class="link" href="closed_interval.html#id644817-bb"><span class="identifier">first</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">DomainT</span> <a class="link" href="closed_interval.html#id644823-bb"><span class="identifier">last</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1197071"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1197075"></a><h3>
<a name="boost.icl.closed_intervalconstruct-copy-destruct"></a><code class="computeroutput">closed_interval</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol type="1">
<li>
<pre class="literallayout"><a name="id644829-bb"></a><span class="identifier">closed_interval</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>Default constructor; yields an empty interval <code class="computeroutput">[0,0)</code>. </p>
</li>
<li>
<pre class="literallayout"><span class="keyword">explicit</span> <a name="id644838-bb"></a><span class="identifier">closed_interval</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> val<span class="special">)</span><span class="special">;</span></pre>
<p>Constructor for a closed singleton interval <code class="computeroutput">[val,val]</code> </p>
</li>
<li>
<pre class="literallayout"><a name="id644852-bb"></a><span class="identifier">closed_interval</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> low<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre>
<p>Interval from <code class="computeroutput">low</code> to <code class="computeroutput">up</code> with bounds <code class="computeroutput">bounds</code> </p>
</li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1197240"></a><h3>
<a name="id644787-bb"></a><code class="computeroutput">closed_interval</code> public member functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">typedef</span> <a name="id644790-bb"></a><span class="identifier">ICL_COMPARE_DOMAIN</span><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">DomainT</span> <a name="id644805-bb"></a><span class="identifier">lower</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">DomainT</span> <a name="id644811-bb"></a><span class="identifier">upper</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">DomainT</span> <a name="id644817-bb"></a><span class="identifier">first</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">DomainT</span> <a name="id644823-bb"></a><span class="identifier">last</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../interval_container_library_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../interval_container_library_reference.html#header.boost.icl.closed_interval_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_traits_i_id644877.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,121 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template continuous_interval</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/continuous_interval_hpp.html" title="Header &lt;boost/icl/continuous_interval.hpp&gt;">
<link rel="prev" href="../../header/boost/icl/continuous_interval_hpp.html" title="Header &lt;boost/icl/continuous_interval.hpp&gt;">
<link rel="next" href="interval_traits_i_id645265.html" title="Struct template interval_traits&lt;icl::continuous_interval&lt; DomainT, Compare &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/continuous_interval_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/continuous_interval_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_traits_i_id645265.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.continuous_interval"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template continuous_interval</span></h2>
<p>boost::icl::continuous_interval</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/continuous_interval_hpp.html" title="Header &lt;boost/icl/continuous_interval.hpp&gt;">boost/icl/continuous_interval.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span>
<span class="identifier">ICL_COMPARE</span> Compare <span class="special">=</span> <span class="identifier">ICL_COMPARE_INSTANCE</span><span class="special">(</span><span class="identifier">ICL_COMPARE_DEFAULT</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">&gt;</span>
<span class="keyword">class</span> <a class="link" href="continuous_interval.html" title="Class template continuous_interval">continuous_interval</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">continuous_interval</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="special">&gt;</span> <a name="boost.icl.continuous_interval.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">DomainT</span> <a name="boost.icl.continuous_interval.domain_type"></a><span class="identifier">domain_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.icl.continuous_interval.bounded_domain_type"></a><span class="identifier">bounded_domain_type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="continuous_interval.html#boost.icl.continuous_intervalconstruct-copy-destruct">construct/copy/destruct</a></span>
<a class="link" href="continuous_interval.html#id645138-bb"><span class="identifier">continuous_interval</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">explicit</span> <a class="link" href="continuous_interval.html#id645146-bb"><span class="identifier">continuous_interval</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="continuous_interval.html#id645161-bb"><span class="identifier">continuous_interval</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="identifier">interval_bounds</span> <span class="special">=</span> <span class="identifier">interval_bounds</span><span class="special">::</span><span class="identifier">right_open</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="identifier">continuous_interval</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="continuous_interval.html#id645102-bb">public member functions</a></span>
<span class="keyword">typedef</span> <a class="link" href="continuous_interval.html#id645104-bb"><span class="identifier">ICL_COMPARE_DOMAIN</span></a><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">domain_type</span> <a class="link" href="continuous_interval.html#id645120-bb"><span class="identifier">lower</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">domain_type</span> <a class="link" href="continuous_interval.html#id645126-bb"><span class="identifier">upper</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">interval_bounds</span> <a class="link" href="continuous_interval.html#id645132-bb"><span class="identifier">bounds</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="continuous_interval.html#id645200-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="identifier">continuous_interval</span> <a class="link" href="continuous_interval.html#id645203-bb"><span class="identifier">open</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">continuous_interval</span> <a class="link" href="continuous_interval.html#id645218-bb"><span class="identifier">right_open</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">continuous_interval</span> <a class="link" href="continuous_interval.html#id645234-bb"><span class="identifier">left_open</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">continuous_interval</span> <a class="link" href="continuous_interval.html#id645249-bb"><span class="identifier">closed</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1200110"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1200114"></a><h3>
<a name="boost.icl.continuous_intervalconstruct-copy-destruct"></a><code class="computeroutput">continuous_interval</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol type="1">
<li>
<pre class="literallayout"><a name="id645138-bb"></a><span class="identifier">continuous_interval</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>Default constructor; yields an empty interval <code class="computeroutput">[0,0)</code>. </p>
</li>
<li>
<pre class="literallayout"><span class="keyword">explicit</span> <a name="id645146-bb"></a><span class="identifier">continuous_interval</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> val<span class="special">)</span><span class="special">;</span></pre>
<p>Constructor for a closed singleton interval <code class="computeroutput">[val,val]</code> </p>
</li>
<li>
<pre class="literallayout"><a name="id645161-bb"></a><span class="identifier">continuous_interval</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> low<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">,</span>
<span class="identifier">interval_bounds</span> bounds <span class="special">=</span> <span class="identifier">interval_bounds</span><span class="special">::</span><span class="identifier">right_open</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="identifier">continuous_interval</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span></pre>
<p>Interval from <code class="computeroutput">low</code> to <code class="computeroutput">up</code> with bounds <code class="computeroutput">bounds</code> </p>
</li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1200335"></a><h3>
<a name="id645102-bb"></a><code class="computeroutput">continuous_interval</code> public member functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">typedef</span> <a name="id645104-bb"></a><span class="identifier">ICL_COMPARE_DOMAIN</span><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">domain_type</span> <a name="id645120-bb"></a><span class="identifier">lower</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">domain_type</span> <a name="id645126-bb"></a><span class="identifier">upper</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">interval_bounds</span> <a name="id645132-bb"></a><span class="identifier">bounds</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1200485"></a><h3>
<a name="id645200-bb"></a><code class="computeroutput">continuous_interval</code> public static functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">continuous_interval</span> <a name="id645203-bb"></a><span class="identifier">open</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> lo<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">continuous_interval</span> <a name="id645218-bb"></a><span class="identifier">right_open</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> lo<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">continuous_interval</span> <a name="id645234-bb"></a><span class="identifier">left_open</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> lo<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">continuous_interval</span> <a name="id645249-bb"></a><span class="identifier">closed</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> lo<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/continuous_interval_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/continuous_interval_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_traits_i_id645265.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,69 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template conversion</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="is_negative_icl_i_id648291.html" title="Struct template is_negative&lt;icl::inplace_bit_subtract&lt; Type &gt;&gt;">
<link rel="next" href="version.html" title="Struct template version">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_negative_icl_i_id648291.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="version.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.conversion"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template conversion</span></h2>
<p>boost::icl::conversion</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="conversion.html" title="Struct template conversion">conversion</a> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">conversion</span><span class="special">&lt;</span> <span class="identifier">Combiner</span> <span class="special">&gt;</span> <a name="boost.icl.conversion.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">remove_const</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">Combiner</span><span class="special">::</span><span class="identifier">first_argument_type</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.icl.conversion.argument_type"></a><span class="identifier">argument_type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="conversion.html#id648345-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="identifier">argument_type</span> <a class="link" href="conversion.html#id648347-bb"><span class="identifier">proversion</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">argument_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">argument_type</span> <a class="link" href="conversion.html#id648358-bb"><span class="identifier">inversion</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">argument_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1226802"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1226806"></a><h3>
<a name="id648345-bb"></a><code class="computeroutput">conversion</code> public static functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">argument_type</span> <a name="id648347-bb"></a><span class="identifier">proversion</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">argument_type</span> <span class="special">&amp;</span> value<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">argument_type</span> <a name="id648358-bb"></a><span class="identifier">inversion</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">argument_type</span> <span class="special">&amp;</span> value<span class="special">)</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_negative_icl_i_id648291.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="version.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,53 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct difference_type_of&lt;boost::gregorian::date&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/gregorian_hpp.html" title="Header &lt;boost/icl/gregorian.hpp&gt;">
<link rel="prev" href="has_difference_bo_id648660.html" title="Struct has_difference&lt;boost::gregorian::date&gt;">
<link rel="next" href="size_type_of_boos_id648706.html" title="Struct size_type_of&lt;boost::gregorian::date&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="has_difference_bo_id648660.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/gregorian_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size_type_of_boos_id648706.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.difference_type_o_id648693"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct difference_type_of&lt;boost::gregorian::date&gt;</span></h2>
<p>boost::icl::difference_type_of&lt;boost::gregorian::date&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/gregorian_hpp.html" title="Header &lt;boost/icl/gregorian.hpp&gt;">boost/icl/gregorian.hpp</a>&gt;
</span>
<span class="keyword">struct</span> <a class="link" href="difference_type_o_id648693.html" title="Struct difference_type_of&lt;boost::gregorian::date&gt;">difference_type_of</a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">gregorian</span><span class="special">::</span><span class="identifier">date</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">gregorian</span><span class="special">::</span><span class="identifier">date_duration</span> <a name="boost.icl.difference_type_o_id648693.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="has_difference_bo_id648660.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/gregorian_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size_type_of_boos_id648706.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,54 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template difference_type_of&lt;interval_traits&lt; Type &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/interval_traits_hpp.html" title="Header &lt;boost/icl/interval_traits.hpp&gt;">
<link rel="prev" href="interval_traits.html" title="Struct template interval_traits">
<link rel="next" href="size_type_of_inte_id657407.html" title="Struct template size_type_of&lt;interval_traits&lt; Type &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="interval_traits.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_traits_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size_type_of_inte_id657407.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.difference_type_o_id657385"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template difference_type_of&lt;interval_traits&lt; Type &gt;&gt;</span></h2>
<p>boost::icl::difference_type_of&lt;interval_traits&lt; Type &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/interval_traits_hpp.html" title="Header &lt;boost/icl/interval_traits.hpp&gt;">boost/icl/interval_traits.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="difference_type_o_id657385.html" title="Struct template difference_type_of&lt;interval_traits&lt; Type &gt;&gt;">difference_type_of</a><span class="special">&lt;</span><span class="identifier">interval_traits</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">interval_traits</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">domain_type</span> <a name="boost.icl.difference_type_o_id657385.domain_type"></a><span class="identifier">domain_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">difference_type_of</span><span class="special">&lt;</span> <span class="identifier">domain_type</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.icl.difference_type_o_id657385.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="interval_traits.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_traits_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size_type_of_inte_id657407.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,53 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct difference_type_of&lt;boost::posix_time::ptime&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/ptime_hpp.html" title="Header &lt;boost/icl/ptime.hpp&gt;">
<link rel="prev" href="has_difference_bo_id661853.html" title="Struct has_difference&lt;boost::posix_time::ptime&gt;">
<link rel="next" href="size_type_of_boos_id661899.html" title="Struct size_type_of&lt;boost::posix_time::ptime&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="has_difference_bo_id661853.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/ptime_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size_type_of_boos_id661899.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.difference_type_o_id661886"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct difference_type_of&lt;boost::posix_time::ptime&gt;</span></h2>
<p>boost::icl::difference_type_of&lt;boost::posix_time::ptime&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/ptime_hpp.html" title="Header &lt;boost/icl/ptime.hpp&gt;">boost/icl/ptime.hpp</a>&gt;
</span>
<span class="keyword">struct</span> <a class="link" href="difference_type_o_id661886.html" title="Struct difference_type_of&lt;boost::posix_time::ptime&gt;">difference_type_of</a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">ptime</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">time_duration</span> <a name="boost.icl.difference_type_o_id661886.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="has_difference_bo_id661853.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/ptime_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size_type_of_boos_id661899.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,121 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template discrete_interval</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/discrete_interval_hpp.html" title="Header &lt;boost/icl/discrete_interval.hpp&gt;">
<link rel="prev" href="../../header/boost/icl/discrete_interval_hpp.html" title="Header &lt;boost/icl/discrete_interval.hpp&gt;">
<link rel="next" href="interval_traits_i_id646891.html" title="Struct template interval_traits&lt;icl::discrete_interval&lt; DomainT, Compare &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/discrete_interval_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/discrete_interval_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_traits_i_id646891.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.discrete_interval"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template discrete_interval</span></h2>
<p>boost::icl::discrete_interval</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/discrete_interval_hpp.html" title="Header &lt;boost/icl/discrete_interval.hpp&gt;">boost/icl/discrete_interval.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span>
<span class="identifier">ICL_COMPARE</span> Compare <span class="special">=</span> <span class="identifier">ICL_COMPARE_INSTANCE</span><span class="special">(</span><span class="identifier">ICL_COMPARE_DEFAULT</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">&gt;</span>
<span class="keyword">class</span> <a class="link" href="discrete_interval.html" title="Class template discrete_interval">discrete_interval</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">discrete_interval</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="special">&gt;</span> <a name="boost.icl.discrete_interval.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">DomainT</span> <a name="boost.icl.discrete_interval.domain_type"></a><span class="identifier">domain_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.icl.discrete_interval.bounded_domain_type"></a><span class="identifier">bounded_domain_type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="discrete_interval.html#boost.icl.discrete_intervalconstruct-copy-destruct">construct/copy/destruct</a></span>
<a class="link" href="discrete_interval.html#id645666-bb"><span class="identifier">discrete_interval</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">explicit</span> <a class="link" href="discrete_interval.html#id645674-bb"><span class="identifier">discrete_interval</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="discrete_interval.html#id645689-bb"><span class="identifier">discrete_interval</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="identifier">interval_bounds</span> <span class="special">=</span> <span class="identifier">interval_bounds</span><span class="special">::</span><span class="identifier">right_open</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="identifier">discrete_interval</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="discrete_interval.html#id645630-bb">public member functions</a></span>
<span class="keyword">typedef</span> <a class="link" href="discrete_interval.html#id645632-bb"><span class="identifier">ICL_COMPARE_DOMAIN</span></a><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">domain_type</span> <a class="link" href="discrete_interval.html#id645648-bb"><span class="identifier">lower</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">domain_type</span> <a class="link" href="discrete_interval.html#id645654-bb"><span class="identifier">upper</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">interval_bounds</span> <a class="link" href="discrete_interval.html#id645660-bb"><span class="identifier">bounds</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="discrete_interval.html#id645728-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="identifier">discrete_interval</span> <a class="link" href="discrete_interval.html#id645731-bb"><span class="identifier">open</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">discrete_interval</span> <a class="link" href="discrete_interval.html#id645746-bb"><span class="identifier">right_open</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">discrete_interval</span> <a class="link" href="discrete_interval.html#id645762-bb"><span class="identifier">left_open</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">discrete_interval</span> <a class="link" href="discrete_interval.html#id646876-bb"><span class="identifier">closed</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1206546"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1206550"></a><h3>
<a name="boost.icl.discrete_intervalconstruct-copy-destruct"></a><code class="computeroutput">discrete_interval</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol type="1">
<li>
<pre class="literallayout"><a name="id645666-bb"></a><span class="identifier">discrete_interval</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>Default constructor; yields an empty interval <code class="computeroutput">[0,0)</code>. </p>
</li>
<li>
<pre class="literallayout"><span class="keyword">explicit</span> <a name="id645674-bb"></a><span class="identifier">discrete_interval</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> val<span class="special">)</span><span class="special">;</span></pre>
<p>Constructor for a closed singleton interval <code class="computeroutput">[val,val]</code> </p>
</li>
<li>
<pre class="literallayout"><a name="id645689-bb"></a><span class="identifier">discrete_interval</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> low<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">,</span>
<span class="identifier">interval_bounds</span> bounds <span class="special">=</span> <span class="identifier">interval_bounds</span><span class="special">::</span><span class="identifier">right_open</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="identifier">discrete_interval</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span></pre>
<p>Interval from <code class="computeroutput">low</code> to <code class="computeroutput">up</code> with bounds <code class="computeroutput">bounds</code> </p>
</li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1206771"></a><h3>
<a name="id645630-bb"></a><code class="computeroutput">discrete_interval</code> public member functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">typedef</span> <a name="id645632-bb"></a><span class="identifier">ICL_COMPARE_DOMAIN</span><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">domain_type</span> <a name="id645648-bb"></a><span class="identifier">lower</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">domain_type</span> <a name="id645654-bb"></a><span class="identifier">upper</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">interval_bounds</span> <a name="id645660-bb"></a><span class="identifier">bounds</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1206921"></a><h3>
<a name="id645728-bb"></a><code class="computeroutput">discrete_interval</code> public static functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">discrete_interval</span> <a name="id645731-bb"></a><span class="identifier">open</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> lo<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">discrete_interval</span> <a name="id645746-bb"></a><span class="identifier">right_open</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> lo<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">discrete_interval</span> <a name="id645762-bb"></a><span class="identifier">left_open</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> lo<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">discrete_interval</span> <a name="id646876-bb"></a><span class="identifier">closed</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> lo<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/discrete_interval_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/discrete_interval_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_traits_i_id646891.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,53 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template domain_type_of&lt;interval_traits&lt; Type &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/interval_traits_hpp.html" title="Header &lt;boost/icl/interval_traits.hpp&gt;">
<link rel="prev" href="../../header/boost/icl/interval_traits_hpp.html" title="Header &lt;boost/icl/interval_traits.hpp&gt;">
<link rel="next" href="interval_traits.html" title="Struct template interval_traits">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/interval_traits_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_traits_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_traits.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.domain_type_of_in_id657311"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template domain_type_of&lt;interval_traits&lt; Type &gt;&gt;</span></h2>
<p>boost::icl::domain_type_of&lt;interval_traits&lt; Type &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/interval_traits_hpp.html" title="Header &lt;boost/icl/interval_traits.hpp&gt;">boost/icl/interval_traits.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="domain_type_of_in_id657311.html" title="Struct template domain_type_of&lt;interval_traits&lt; Type &gt;&gt;">domain_type_of</a><span class="special">&lt;</span><span class="identifier">interval_traits</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">interval_traits</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">domain_type</span> <a name="boost.icl.domain_type_of_in_id657311.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/interval_traits_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_traits_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_traits.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,84 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template dynamic_interval_traits&lt;boost::icl::continuous_interval&lt; DomainT, Compare &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/continuous_interval_hpp.html" title="Header &lt;boost/icl/continuous_interval.hpp&gt;">
<link rel="prev" href="interval_traits_i_id645265.html" title="Struct template interval_traits&lt;icl::continuous_interval&lt; DomainT, Compare &gt;&gt;">
<link rel="next" href="interval_bound_ty_id645449.html" title="Struct template interval_bound_type&lt;continuous_interval&lt; DomainT, Compare &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="interval_traits_i_id645265.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/continuous_interval_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_bound_ty_id645449.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.dynamic_interval__id645357"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template dynamic_interval_traits&lt;boost::icl::continuous_interval&lt; DomainT, Compare &gt;&gt;</span></h2>
<p>boost::icl::dynamic_interval_traits&lt;boost::icl::continuous_interval&lt; DomainT, Compare &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/continuous_interval_hpp.html" title="Header &lt;boost/icl/continuous_interval.hpp&gt;">boost/icl/continuous_interval.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span> <span class="identifier">ICL_COMPARE</span> Compare<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="dynamic_interval__id645357.html" title="Struct template dynamic_interval_traits&lt;boost::icl::continuous_interval&lt; DomainT, Compare &gt;&gt;">dynamic_interval_traits</a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">continuous_interval</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">dynamic_interval_traits</span> <a name="boost.icl.dynamic_interval__id645357.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">continuous_interval</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="special">&gt;</span> <a name="boost.icl.dynamic_interval__id645357.interval_type"></a><span class="identifier">interval_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">DomainT</span> <a name="boost.icl.dynamic_interval__id645357.domain_type"></a><span class="identifier">domain_type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="dynamic_interval__id645357.html#id645392-bb">public member functions</a></span>
<span class="keyword">typedef</span> <a class="link" href="dynamic_interval__id645357.html#id645395-bb"><span class="identifier">ICL_COMPARE_DOMAIN</span></a><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="dynamic_interval__id645357.html#id645410-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="identifier">interval_type</span>
<a class="link" href="dynamic_interval__id645357.html#id645413-bb"><span class="identifier">construct</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">domain_type</span><span class="special">,</span> <span class="identifier">interval_bounds</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">interval_type</span>
<a class="link" href="dynamic_interval__id645357.html#id645433-bb"><span class="identifier">construct_bounded</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1201807"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1201811"></a><h3>
<a name="id645392-bb"></a><code class="computeroutput">dynamic_interval_traits</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">typedef</span> <a name="id645395-bb"></a><span class="identifier">ICL_COMPARE_DOMAIN</span><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1201863"></a><h3>
<a name="id645410-bb"></a><code class="computeroutput">dynamic_interval_traits</code> public static functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">interval_type</span>
<a name="id645413-bb"></a><span class="identifier">construct</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> lo<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">domain_type</span> up<span class="special">,</span> <span class="identifier">interval_bounds</span> bounds<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">interval_type</span>
<a name="id645433-bb"></a><span class="identifier">construct_bounded</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span> <span class="special">&amp;</span> lo<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="interval_traits_i_id645265.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/continuous_interval_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_bound_ty_id645449.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,85 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template dynamic_interval_traits&lt;boost::icl::discrete_interval&lt; DomainT, Compare &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/discrete_interval_hpp.html" title="Header &lt;boost/icl/discrete_interval.hpp&gt;">
<link rel="prev" href="interval_traits_i_id646891.html" title="Struct template interval_traits&lt;icl::discrete_interval&lt; DomainT, Compare &gt;&gt;">
<link rel="next" href="interval_bound_ty_id647075.html" title="Struct template interval_bound_type&lt;discrete_interval&lt; DomainT, Compare &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="interval_traits_i_id646891.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/discrete_interval_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_bound_ty_id647075.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.dynamic_interval__id646984"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template dynamic_interval_traits&lt;boost::icl::discrete_interval&lt; DomainT, Compare &gt;&gt;</span></h2>
<p>boost::icl::dynamic_interval_traits&lt;boost::icl::discrete_interval&lt; DomainT, Compare &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/discrete_interval_hpp.html" title="Header &lt;boost/icl/discrete_interval.hpp&gt;">boost/icl/discrete_interval.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span> <span class="identifier">ICL_COMPARE</span> Compare<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="dynamic_interval__id646984.html" title="Struct template dynamic_interval_traits&lt;boost::icl::discrete_interval&lt; DomainT, Compare &gt;&gt;">dynamic_interval_traits</a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">discrete_interval</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">dynamic_interval_traits</span> <a name="boost.icl.dynamic_interval__id646984.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">discrete_interval</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="special">&gt;</span> <a name="boost.icl.dynamic_interval__id646984.interval_type"></a><span class="identifier">interval_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">DomainT</span> <a name="boost.icl.dynamic_interval__id646984.domain_type"></a><span class="identifier">domain_type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="dynamic_interval__id646984.html#id647019-bb">public member functions</a></span>
<span class="keyword">typedef</span> <a class="link" href="dynamic_interval__id646984.html#id647021-bb"><span class="identifier">ICL_COMPARE_DOMAIN</span></a><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="dynamic_interval__id646984.html#id647037-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="identifier">interval_type</span>
<a class="link" href="dynamic_interval__id646984.html#id647039-bb"><span class="identifier">construct</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">interval_bounds</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">interval_type</span>
<a class="link" href="dynamic_interval__id646984.html#id647059-bb"><span class="identifier">construct_bounded</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1208253"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1208256"></a><h3>
<a name="id647019-bb"></a><code class="computeroutput">dynamic_interval_traits</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">typedef</span> <a name="id647021-bb"></a><span class="identifier">ICL_COMPARE_DOMAIN</span><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1208309"></a><h3>
<a name="id647037-bb"></a><code class="computeroutput">dynamic_interval_traits</code> public static functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">interval_type</span>
<a name="id647039-bb"></a><span class="identifier">construct</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span> lo<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span> up<span class="special">,</span>
<span class="identifier">interval_bounds</span> bounds<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">interval_type</span>
<a name="id647059-bb"></a><span class="identifier">construct_bounded</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span> <span class="special">&amp;</span> lo<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="interval_traits_i_id646891.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/discrete_interval_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_bound_ty_id647075.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,73 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template dynamic_interval_traits</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/dynamic_interval_traits_hpp.html" title="Header &lt;boost/icl/dynamic_interval_traits.hpp&gt;">
<link rel="prev" href="../../header/boost/icl/dynamic_interval_traits_hpp.html" title="Header &lt;boost/icl/dynamic_interval_traits.hpp&gt;">
<link rel="next" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/dynamic_interval_traits_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/dynamic_interval_traits_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.dynamic_interval_traits"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template dynamic_interval_traits</span></h2>
<p>boost::icl::dynamic_interval_traits</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/dynamic_interval_traits_hpp.html" title="Header &lt;boost/icl/dynamic_interval_traits.hpp&gt;">boost/icl/dynamic_interval_traits.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="dynamic_interval_traits.html" title="Struct template dynamic_interval_traits">dynamic_interval_traits</a> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">domain_type</span> <a name="boost.icl.dynamic_interval_traits.domain_type"></a><span class="identifier">domain_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">domain_compare</span> <a name="boost.icl.dynamic_interval_traits.domain_compare"></a><span class="identifier">domain_compare</span><span class="special">;</span>
<span class="comment">// <a class="link" href="dynamic_interval_traits.html#id647244-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="identifier">Type</span> <a class="link" href="dynamic_interval_traits.html#id647247-bb"><span class="identifier">construct</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="identifier">interval_bounds</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">Type</span> <a class="link" href="dynamic_interval_traits.html#id647267-bb"><span class="identifier">construct_bounded</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">domain_type</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">domain_type</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1210993"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1210997"></a><h3>
<a name="id647244-bb"></a><code class="computeroutput">dynamic_interval_traits</code> public static functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">Type</span> <a name="id647247-bb"></a><span class="identifier">construct</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span> lo<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span> up<span class="special">,</span>
<span class="identifier">interval_bounds</span> bounds<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">Type</span> <a name="id647267-bb"></a><span class="identifier">construct_bounded</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">domain_type</span> <span class="special">&gt;</span> <span class="special">&amp;</span> lo<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">bounded_value</span><span class="special">&lt;</span> <span class="identifier">domain_type</span> <span class="special">&gt;</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/dynamic_interval_traits_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/dynamic_interval_traits_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct has_difference&lt;boost::gregorian::date&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/gregorian_hpp.html" title="Header &lt;boost/icl/gregorian.hpp&gt;">
<link rel="prev" href="identity_element__id648643.html" title="Struct identity_element&lt;boost::gregorian::date_duration&gt;">
<link rel="next" href="difference_type_o_id648693.html" title="Struct difference_type_of&lt;boost::gregorian::date&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="identity_element__id648643.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/gregorian_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="difference_type_o_id648693.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.has_difference_bo_id648660"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct has_difference&lt;boost::gregorian::date&gt;</span></h2>
<p>boost::icl::has_difference&lt;boost::gregorian::date&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/gregorian_hpp.html" title="Header &lt;boost/icl/gregorian.hpp&gt;">boost/icl/gregorian.hpp</a>&gt;
</span>
<span class="keyword">struct</span> <a class="link" href="has_difference_bo_id648660.html" title="Struct has_difference&lt;boost::gregorian::date&gt;">has_difference</a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">gregorian</span><span class="special">::</span><span class="identifier">date</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">has_difference</span> <a name="boost.icl.has_difference_bo_id648660.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="has_difference_bo_id648660.html#id648673-bb">public member functions</a></span>
<a class="link" href="has_difference_bo_id648660.html#id648676-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1232389"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1232392"></a><h3>
<a name="id648673-bb"></a><code class="computeroutput">has_difference</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id648676-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="identity_element__id648643.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/gregorian_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="difference_type_o_id648693.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct has_difference&lt;boost::gregorian::date_duration&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/gregorian_hpp.html" title="Header &lt;boost/icl/gregorian.hpp&gt;">
<link rel="prev" href="is_discrete_boost_id648719.html" title="Struct is_discrete&lt;boost::gregorian::date_duration&gt;">
<link rel="next" href="size_type_of_boos_id648784.html" title="Struct size_type_of&lt;boost::gregorian::date_duration&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_discrete_boost_id648719.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/gregorian_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size_type_of_boos_id648784.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.has_difference_bo_id648751"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct has_difference&lt;boost::gregorian::date_duration&gt;</span></h2>
<p>boost::icl::has_difference&lt;boost::gregorian::date_duration&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/gregorian_hpp.html" title="Header &lt;boost/icl/gregorian.hpp&gt;">boost/icl/gregorian.hpp</a>&gt;
</span>
<span class="keyword">struct</span> <a class="link" href="has_difference_bo_id648751.html" title="Struct has_difference&lt;boost::gregorian::date_duration&gt;">has_difference</a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">gregorian</span><span class="special">::</span><span class="identifier">date_duration</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">has_difference</span> <a name="boost.icl.has_difference_bo_id648751.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="has_difference_bo_id648751.html#id648765-bb">public member functions</a></span>
<a class="link" href="has_difference_bo_id648751.html#id648767-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1233033"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1233037"></a><h3>
<a name="id648765-bb"></a><code class="computeroutput">has_difference</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id648767-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_discrete_boost_id648719.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/gregorian_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size_type_of_boos_id648784.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct has_difference&lt;boost::posix_time::ptime&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/ptime_hpp.html" title="Header &lt;boost/icl/ptime.hpp&gt;">
<link rel="prev" href="is_discrete_boost_id661821.html" title="Struct is_discrete&lt;boost::posix_time::ptime&gt;">
<link rel="next" href="difference_type_o_id661886.html" title="Struct difference_type_of&lt;boost::posix_time::ptime&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_discrete_boost_id661821.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/ptime_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="difference_type_o_id661886.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.has_difference_bo_id661853"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct has_difference&lt;boost::posix_time::ptime&gt;</span></h2>
<p>boost::icl::has_difference&lt;boost::posix_time::ptime&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/ptime_hpp.html" title="Header &lt;boost/icl/ptime.hpp&gt;">boost/icl/ptime.hpp</a>&gt;
</span>
<span class="keyword">struct</span> <a class="link" href="has_difference_bo_id661853.html" title="Struct has_difference&lt;boost::posix_time::ptime&gt;">has_difference</a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">ptime</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">has_difference</span> <a name="boost.icl.has_difference_bo_id661853.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="has_difference_bo_id661853.html#id661866-bb">public member functions</a></span>
<a class="link" href="has_difference_bo_id661853.html#id661869-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1332746"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1332749"></a><h3>
<a name="id661866-bb"></a><code class="computeroutput">has_difference</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id661869-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_discrete_boost_id661821.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/ptime_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="difference_type_o_id661886.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct has_difference&lt;boost::posix_time::time_duration&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/ptime_hpp.html" title="Header &lt;boost/icl/ptime.hpp&gt;">
<link rel="prev" href="is_discrete_boost_id661912.html" title="Struct is_discrete&lt;boost::posix_time::time_duration&gt;">
<link rel="next" href="size_type_of_boos_id661977.html" title="Struct size_type_of&lt;boost::posix_time::time_duration&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_discrete_boost_id661912.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/ptime_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size_type_of_boos_id661977.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.has_difference_bo_id661944"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct has_difference&lt;boost::posix_time::time_duration&gt;</span></h2>
<p>boost::icl::has_difference&lt;boost::posix_time::time_duration&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/ptime_hpp.html" title="Header &lt;boost/icl/ptime.hpp&gt;">boost/icl/ptime.hpp</a>&gt;
</span>
<span class="keyword">struct</span> <a class="link" href="has_difference_bo_id661944.html" title="Struct has_difference&lt;boost::posix_time::time_duration&gt;">has_difference</a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">time_duration</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">has_difference</span> <a name="boost.icl.has_difference_bo_id661944.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="has_difference_bo_id661944.html#id661958-bb">public member functions</a></span>
<a class="link" href="has_difference_bo_id661944.html#id661960-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1333390"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1333394"></a><h3>
<a name="id661958-bb"></a><code class="computeroutput">has_difference</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id661960-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_discrete_boost_id661912.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/ptime_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size_type_of_boos_id661977.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template has_inverse&lt;boost::rational&lt; Integral &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/rational_hpp.html" title="Header &lt;boost/icl/rational.hpp&gt;">
<link rel="prev" href="is_discrete_boost_id662108.html" title="Struct template is_discrete&lt;boost::rational&lt; Integral &gt;&gt;">
<link rel="next" href="../../header/boost/icl/right_open_interval_hpp.html" title="Header &lt;boost/icl/right_open_interval.hpp&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_discrete_boost_id662108.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/rational_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../header/boost/icl/right_open_interval_hpp.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.has_inverse_boost_id662144"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template has_inverse&lt;boost::rational&lt; Integral &gt;&gt;</span></h2>
<p>boost::icl::has_inverse&lt;boost::rational&lt; Integral &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/rational_hpp.html" title="Header &lt;boost/icl/rational.hpp&gt;">boost/icl/rational.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Integral<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="has_inverse_boost_id662144.html" title="Struct template has_inverse&lt;boost::rational&lt; Integral &gt;&gt;">has_inverse</a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">rational</span><span class="special">&lt;</span> <span class="identifier">Integral</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">has_inverse</span> <a name="boost.icl.has_inverse_boost_id662144.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="has_inverse_boost_id662144.html#id662160-bb">public member functions</a></span>
<a class="link" href="has_inverse_boost_id662144.html#id662163-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_signed</span><span class="special">&lt;</span> <span class="identifier">Integral</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1338324"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1338328"></a><h3>
<a name="id662160-bb"></a><code class="computeroutput">has_inverse</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id662163-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_signed</span><span class="special">&lt;</span> <span class="identifier">Integral</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_discrete_boost_id662108.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/rational_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../header/boost/icl/right_open_interval_hpp.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,67 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template has_inverse&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">
<link rel="prev" href="is_map_icl_interv_id652893.html" title="Struct template is_map&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
<link rel="next" href="is_interval_conta_id653092.html" title="Struct template is_interval_container&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_map_icl_interv_id652893.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_base_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_interval_conta_id653092.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.has_inverse_icl_i_id652992"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template has_inverse&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</span></h2>
<p>boost::icl::has_inverse&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">boost/icl/interval_base_map.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> SubType<span class="special">,</span> <span class="keyword">typename</span> DomainT<span class="special">,</span> <span class="keyword">typename</span> CodomainT<span class="special">,</span>
<span class="keyword">typename</span> Traits<span class="special">,</span> <span class="identifier">ICL_COMPARE</span> Compare<span class="special">,</span> <span class="identifier">ICL_COMBINE</span> Combine<span class="special">,</span>
<span class="identifier">ICL_SECTION</span> Section<span class="special">,</span> <span class="identifier">ICL_INTERVAL</span><span class="special">(</span><span class="identifier">ICL_COMPARE</span><span class="special">)</span> Interval<span class="special">,</span>
<span class="identifier">ICL_ALLOC</span> Alloc<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="has_inverse_icl_i_id652992.html" title="Struct template has_inverse&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">has_inverse</a><span class="special">&lt;</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">interval_base_map</span><span class="special">&lt;</span> <span class="identifier">SubType</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">has_inverse</span><span class="special">&lt;</span> <a class="link" href="interval_base_map.html" title="Class template interval_base_map">icl::interval_base_map</a><span class="special">&lt;</span> <span class="identifier">SubType</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <a name="boost.icl.has_inverse_icl_i_id652992.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="has_inverse_icl_i_id652992.html#id653073-bb">public member functions</a></span>
<a class="link" href="has_inverse_icl_i_id652992.html#id653075-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">has_inverse</span><span class="special">&lt;</span> <span class="identifier">CodomainT</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1264646"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1264649"></a><h3>
<a name="id653073-bb"></a><code class="computeroutput">has_inverse</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id653075-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">has_inverse</span><span class="special">&lt;</span> <span class="identifier">CodomainT</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_map_icl_interv_id652893.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_base_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_interval_conta_id653092.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template has_inverse&lt;icl::interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/interval_map_hpp.html" title="Header &lt;boost/icl/interval_map.hpp&gt;">
<link rel="prev" href="is_map_icl_interv_id656109.html" title="Struct template is_map&lt;icl::interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
<link rel="next" href="is_interval_conta_id656296.html" title="Struct template is_interval_container&lt;icl::interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_map_icl_interv_id656109.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_interval_conta_id656296.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.has_inverse_icl_i_id656202"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template has_inverse&lt;icl::interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</span></h2>
<p>boost::icl::has_inverse&lt;icl::interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/interval_map_hpp.html" title="Header &lt;boost/icl/interval_map.hpp&gt;">boost/icl/interval_map.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span> <span class="keyword">typename</span> CodomainT<span class="special">,</span> <span class="keyword">typename</span> Traits<span class="special">,</span>
<span class="identifier">ICL_COMPARE</span> Compare<span class="special">,</span> <span class="identifier">ICL_COMBINE</span> Combine<span class="special">,</span> <span class="identifier">ICL_SECTION</span> Section<span class="special">,</span>
<span class="identifier">ICL_INTERVAL</span><span class="special">(</span><span class="identifier">ICL_COMPARE</span><span class="special">)</span> Interval<span class="special">,</span> <span class="identifier">ICL_ALLOC</span> Alloc<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="has_inverse_icl_i_id656202.html" title="Struct template has_inverse&lt;icl::interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">has_inverse</a><span class="special">&lt;</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">interval_map</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">has_inverse</span><span class="special">&lt;</span> <a class="link" href="interval_map.html" title="Class template interval_map">icl::interval_map</a><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <a name="boost.icl.has_inverse_icl_i_id656202.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="has_inverse_icl_i_id656202.html#id656277-bb">public member functions</a></span>
<a class="link" href="has_inverse_icl_i_id656202.html#id656279-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">has_inverse</span><span class="special">&lt;</span> <span class="identifier">CodomainT</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1290184"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1290187"></a><h3>
<a name="id656277-bb"></a><code class="computeroutput">has_inverse</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id656279-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">has_inverse</span><span class="special">&lt;</span> <span class="identifier">CodomainT</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_map_icl_interv_id656109.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_interval_conta_id656296.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template has_inverse&lt;icl::map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/map_hpp.html" title="Header &lt;boost/icl/map.hpp&gt;">
<link rel="prev" href="is_map_icl_map_Do_id659469.html" title="Struct template is_map&lt;icl::map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;&gt;">
<link rel="next" href="absorbs_identitie_id659640.html" title="Struct template absorbs_identities&lt;icl::map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_map_icl_map_Do_id659469.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="absorbs_identitie_id659640.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.has_inverse_icl_m_id659554"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template has_inverse&lt;icl::map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;&gt;</span></h2>
<p>boost::icl::has_inverse&lt;icl::map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/map_hpp.html" title="Header &lt;boost/icl/map.hpp&gt;">boost/icl/map.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span> <span class="keyword">typename</span> CodomainT<span class="special">,</span> <span class="keyword">typename</span> Traits<span class="special">,</span>
<span class="identifier">ICL_COMPARE</span> Compare<span class="special">,</span> <span class="identifier">ICL_COMBINE</span> Combine<span class="special">,</span> <span class="identifier">ICL_SECTION</span> Section<span class="special">,</span>
<span class="identifier">ICL_ALLOC</span> Alloc<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="has_inverse_icl_m_id659554.html" title="Struct template has_inverse&lt;icl::map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;&gt;">has_inverse</a><span class="special">&lt;</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">has_inverse</span><span class="special">&lt;</span> <a class="link" href="map.html" title="Class template map">icl::map</a><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <a name="boost.icl.has_inverse_icl_m_id659554.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="has_inverse_icl_m_id659554.html#id659620-bb">public member functions</a></span>
<a class="link" href="has_inverse_icl_m_id659554.html#id659623-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">has_inverse</span><span class="special">&lt;</span> <span class="identifier">CodomainT</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1326536"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1326540"></a><h3>
<a name="id659620-bb"></a><code class="computeroutput">has_inverse</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id659623-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">has_inverse</span><span class="special">&lt;</span> <span class="identifier">CodomainT</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_map_icl_map_Do_id659469.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="absorbs_identitie_id659640.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template has_inverse&lt;icl::split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/split_interval_map_hpp.html" title="Header &lt;boost/icl/split_interval_map.hpp&gt;">
<link rel="prev" href="is_map_icl_split__id663662.html" title="Struct template is_map&lt;icl::split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
<link rel="next" href="is_interval_conta_id663849.html" title="Struct template is_interval_container&lt;icl::split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_map_icl_split__id663662.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/split_interval_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_interval_conta_id663849.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.has_inverse_icl_s_id663755"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template has_inverse&lt;icl::split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</span></h2>
<p>boost::icl::has_inverse&lt;icl::split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/split_interval_map_hpp.html" title="Header &lt;boost/icl/split_interval_map.hpp&gt;">boost/icl/split_interval_map.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span> <span class="keyword">typename</span> CodomainT<span class="special">,</span> <span class="keyword">typename</span> Traits<span class="special">,</span>
<span class="identifier">ICL_COMPARE</span> Compare<span class="special">,</span> <span class="identifier">ICL_COMBINE</span> Combine<span class="special">,</span> <span class="identifier">ICL_SECTION</span> Section<span class="special">,</span>
<span class="identifier">ICL_INTERVAL</span><span class="special">(</span><span class="identifier">ICL_COMPARE</span><span class="special">)</span> Interval<span class="special">,</span> <span class="identifier">ICL_ALLOC</span> Alloc<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="has_inverse_icl_s_id663755.html" title="Struct template has_inverse&lt;icl::split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">has_inverse</a><span class="special">&lt;</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">split_interval_map</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">has_inverse</span><span class="special">&lt;</span> <a class="link" href="split_interval_map.html" title="Class template split_interval_map">icl::split_interval_map</a><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <a name="boost.icl.has_inverse_icl_s_id663755.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="has_inverse_icl_s_id663755.html#id663830-bb">public member functions</a></span>
<a class="link" href="has_inverse_icl_s_id663755.html#id663833-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">has_inverse</span><span class="special">&lt;</span> <span class="identifier">CodomainT</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1354604"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1354608"></a><h3>
<a name="id663830-bb"></a><code class="computeroutput">has_inverse</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id663833-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">has_inverse</span><span class="special">&lt;</span> <span class="identifier">CodomainT</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_map_icl_split__id663662.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/split_interval_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_interval_conta_id663849.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,62 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template identity_based_inplace_combine</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="next" href="unit_element_base_id647307.html" title="Struct template unit_element_based_inplace_combine">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unit_element_base_id647307.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.identity_based_in_id647290"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template identity_based_inplace_combine</span></h2>
<p>boost::icl::identity_based_inplace_combine</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="identity_based_in_id647290.html" title="Struct template identity_based_inplace_combine">identity_based_inplace_combine</a> <span class="special">{</span>
<span class="comment">// <a class="link" href="identity_based_in_id647290.html#id647298-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="identifier">Type</span> <a class="link" href="identity_based_in_id647290.html#id647301-bb"><span class="identifier">identity_element</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1214025"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1214029"></a><h3>
<a name="id647298-bb"></a><code class="computeroutput">identity_based_inplace_combine</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">Type</span> <a name="id647301-bb"></a><span class="identifier">identity_element</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unit_element_base_id647307.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,62 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct identity_element&lt;boost::gregorian::date_duration&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/gregorian_hpp.html" title="Header &lt;boost/icl/gregorian.hpp&gt;">
<link rel="prev" href="is_discrete_boost_id648611.html" title="Struct is_discrete&lt;boost::gregorian::date&gt;">
<link rel="next" href="has_difference_bo_id648660.html" title="Struct has_difference&lt;boost::gregorian::date&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_discrete_boost_id648611.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/gregorian_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_difference_bo_id648660.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.identity_element__id648643"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct identity_element&lt;boost::gregorian::date_duration&gt;</span></h2>
<p>boost::icl::identity_element&lt;boost::gregorian::date_duration&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/gregorian_hpp.html" title="Header &lt;boost/icl/gregorian.hpp&gt;">boost/icl/gregorian.hpp</a>&gt;
</span>
<span class="keyword">struct</span> <a class="link" href="identity_element__id648643.html" title="Struct identity_element&lt;boost::gregorian::date_duration&gt;">identity_element</a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">gregorian</span><span class="special">::</span><span class="identifier">date_duration</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// <a class="link" href="identity_element__id648643.html#id648652-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">gregorian</span><span class="special">::</span><span class="identifier">date_duration</span> <a class="link" href="identity_element__id648643.html#id648654-bb"><span class="identifier">value</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1232179"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1232182"></a><h3>
<a name="id648652-bb"></a><code class="computeroutput">identity_element</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">gregorian</span><span class="special">::</span><span class="identifier">date_duration</span> <a name="id648654-bb"></a><span class="identifier">value</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="is_discrete_boost_id648611.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/gregorian_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_difference_bo_id648660.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,74 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_bit_add</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_minus.html" title="Struct template inplace_minus">
<link rel="next" href="inplace_bit_subtract.html" title="Struct template inplace_bit_subtract">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_minus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_bit_subtract.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_bit_add"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_bit_add</span></h2>
<p>boost::icl::inplace_bit_add</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_bit_add.html" title="Struct template inplace_bit_add">inplace_bit_add</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_bit_add</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_bit_add.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_bit_add.html#id647497-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_bit_add.html#id647500-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_bit_add.html#id647515-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="inplace_bit_add.html#id647518-bb"><span class="identifier">version</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1217445"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1217448"></a><h3>
<a name="id647497-bb"></a><code class="computeroutput">inplace_bit_add</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647500-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1217530"></a><h3>
<a name="id647515-bb"></a><code class="computeroutput">inplace_bit_add</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="id647518-bb"></a><span class="identifier">version</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_minus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_bit_subtract.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_bit_and</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_bit_subtract.html" title="Struct template inplace_bit_subtract">
<link rel="next" href="inplace_bit_xor.html" title="Struct template inplace_bit_xor">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_bit_subtract.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_bit_xor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_bit_and"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_bit_and</span></h2>
<p>boost::icl::inplace_bit_and</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_bit_and.html" title="Struct template inplace_bit_and">inplace_bit_and</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_bit_and</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_bit_and.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_bit_and.html#id647580-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_bit_and.html#id647583-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1218096"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1218100"></a><h3>
<a name="id647580-bb"></a><code class="computeroutput">inplace_bit_and</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647583-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_bit_subtract.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_bit_xor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_bit_subtract</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_bit_add.html" title="Struct template inplace_bit_add">
<link rel="next" href="inplace_bit_and.html" title="Struct template inplace_bit_and">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_bit_add.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_bit_and.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_bit_subtract"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_bit_subtract</span></h2>
<p>boost::icl::inplace_bit_subtract</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_bit_subtract.html" title="Struct template inplace_bit_subtract">inplace_bit_subtract</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_bit_subtract</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_bit_subtract.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_bit_subtract.html#id647545-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_bit_subtract.html#id647548-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1217798"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1217801"></a><h3>
<a name="id647545-bb"></a><code class="computeroutput">inplace_bit_subtract</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647548-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_bit_add.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_bit_and.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_bit_xor</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_bit_and.html" title="Struct template inplace_bit_and">
<link rel="next" href="inplace_et.html" title="Struct template inplace_et">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_bit_and.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_et.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_bit_xor"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_bit_xor</span></h2>
<p>boost::icl::inplace_bit_xor</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_bit_xor.html" title="Struct template inplace_bit_xor">inplace_bit_xor</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_bit_xor</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_bit_xor.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_bit_xor.html#id647615-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_bit_xor.html#id647617-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1218395"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1218399"></a><h3>
<a name="id647615-bb"></a><code class="computeroutput">inplace_bit_xor</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647617-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_bit_and.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_et.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_caret</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_et.html" title="Struct template inplace_et">
<link rel="next" href="inplace_insert.html" title="Struct template inplace_insert">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_et.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_insert.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_caret"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_caret</span></h2>
<p>boost::icl::inplace_caret</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_caret.html" title="Struct template inplace_caret">inplace_caret</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_caret</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_caret.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_caret.html#id647685-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_caret.html#id647687-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1219540"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1219543"></a><h3>
<a name="id647685-bb"></a><code class="computeroutput">inplace_caret</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647687-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_et.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_insert.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_erase</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_insert.html" title="Struct template inplace_insert">
<link rel="next" href="inplace_star.html" title="Struct template inplace_star">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_insert.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_star.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_erase"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_erase</span></h2>
<p>boost::icl::inplace_erase</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_erase.html" title="Struct template inplace_erase">inplace_erase</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_erase</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_erase.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_erase.html#id647754-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_erase.html#id647757-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1220137"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1220141"></a><h3>
<a name="id647754-bb"></a><code class="computeroutput">inplace_erase</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647757-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_insert.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_star.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,67 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_erasure</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_identity.html" title="Struct template inplace_identity">
<link rel="next" href="inplace_plus.html" title="Struct template inplace_plus">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_identity.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_plus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_erasure"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_erasure</span></h2>
<p>boost::icl::inplace_erasure</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_erasure.html" title="Struct template inplace_erasure">inplace_erasure</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_erasure</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_erasure.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_erasure.base_type"></a><span class="identifier">base_type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_erasure.html#id647380-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_erasure.html#id647382-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1216406"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1216409"></a><h3>
<a name="id647380-bb"></a><code class="computeroutput">inplace_erasure</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647382-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_identity.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_plus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_et</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_bit_xor.html" title="Struct template inplace_bit_xor">
<link rel="next" href="inplace_caret.html" title="Struct template inplace_caret">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_bit_xor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_caret.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_et"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_et</span></h2>
<p>boost::icl::inplace_et</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_et.html" title="Struct template inplace_et">inplace_et</a> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_et</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_et.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_et.html#id647650-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_et.html#id647652-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1219241"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1219244"></a><h3>
<a name="id647650-bb"></a><code class="computeroutput">inplace_et</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647652-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_bit_xor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_caret.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_identity</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="unit_element_base_id647307.html" title="Struct template unit_element_based_inplace_combine">
<link rel="next" href="inplace_erasure.html" title="Struct template inplace_erasure">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="unit_element_base_id647307.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_erasure.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_identity"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_identity</span></h2>
<p>boost::icl::inplace_identity</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_identity.html" title="Struct template inplace_identity">inplace_identity</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_identity</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_identity.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_identity.html#id647340-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_identity.html#id647343-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1214437"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1214440"></a><h3>
<a name="id647340-bb"></a><code class="computeroutput">inplace_identity</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647343-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="unit_element_base_id647307.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_erasure.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_insert</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_caret.html" title="Struct template inplace_caret">
<link rel="next" href="inplace_erase.html" title="Struct template inplace_erase">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_caret.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_erase.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_insert"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_insert</span></h2>
<p>boost::icl::inplace_insert</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_insert.html" title="Struct template inplace_insert">inplace_insert</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_insert</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_insert.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_insert.html#id647719-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_insert.html#id647722-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1219838"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1219842"></a><h3>
<a name="id647719-bb"></a><code class="computeroutput">inplace_insert</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647722-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_caret.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_erase.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_max</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_slash.html" title="Struct template inplace_slash">
<link rel="next" href="inplace_min.html" title="Struct template inplace_min">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_slash.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_min.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_max"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_max</span></h2>
<p>boost::icl::inplace_max</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_max.html" title="Struct template inplace_max">inplace_max</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_max</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_max.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_max.html#id647859-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_max.html#id647861-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1221034"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1221037"></a><h3>
<a name="id647859-bb"></a><code class="computeroutput">inplace_max</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647861-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_slash.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_min.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_min</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_max.html" title="Struct template inplace_max">
<link rel="next" href="inter_section.html" title="Struct template inter_section">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_max.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inter_section.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_min"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_min</span></h2>
<p>boost::icl::inplace_min</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_min.html" title="Struct template inplace_min">inplace_min</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_min</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_min.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_min.html#id647893-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_min.html#id647896-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1222425"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1222429"></a><h3>
<a name="id647893-bb"></a><code class="computeroutput">inplace_min</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647896-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_max.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inter_section.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_minus</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_plus.html" title="Struct template inplace_plus">
<link rel="next" href="inplace_bit_add.html" title="Struct template inplace_bit_add">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_plus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_bit_add.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_minus"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_minus</span></h2>
<p>boost::icl::inplace_minus</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_minus.html" title="Struct template inplace_minus">inplace_minus</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_minus</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_minus.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_minus.html#id647463-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_minus.html#id647465-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1217102"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1217105"></a><h3>
<a name="id647463-bb"></a><code class="computeroutput">inplace_minus</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647465-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_plus.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_bit_add.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,74 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_plus</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_erasure.html" title="Struct template inplace_erasure">
<link rel="next" href="inplace_minus.html" title="Struct template inplace_minus">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_erasure.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_minus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_plus"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_plus</span></h2>
<p>boost::icl::inplace_plus</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_plus.html" title="Struct template inplace_plus">inplace_plus</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_plus</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_plus.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_plus.html#id647415-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_plus.html#id647417-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_plus.html#id647433-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="inplace_plus.html#id647435-bb"><span class="identifier">version</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1216749"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1216752"></a><h3>
<a name="id647415-bb"></a><code class="computeroutput">inplace_plus</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647417-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1216834"></a><h3>
<a name="id647433-bb"></a><code class="computeroutput">inplace_plus</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="id647435-bb"></a><span class="identifier">version</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_erasure.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_minus.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_slash</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_star.html" title="Struct template inplace_star">
<link rel="next" href="inplace_max.html" title="Struct template inplace_max">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_star.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_max.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_slash"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_slash</span></h2>
<p>boost::icl::inplace_slash</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_slash.html" title="Struct template inplace_slash">inplace_slash</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_slash</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_slash.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_slash.html#id647824-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_slash.html#id647826-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1220735"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1220738"></a><h3>
<a name="id647824-bb"></a><code class="computeroutput">inplace_slash</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647826-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_star.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_max.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inplace_star</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_erase.html" title="Struct template inplace_erase">
<link rel="next" href="inplace_slash.html" title="Struct template inplace_slash">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_erase.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_slash.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inplace_star"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inplace_star</span></h2>
<p>boost::icl::inplace_star</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inplace_star.html" title="Struct template inplace_star">inplace_star</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">inplace_star</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <a name="boost.icl.inplace_star.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inplace_star.html#id647789-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inplace_star.html#id647791-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1220436"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1220440"></a><h3>
<a name="id647789-bb"></a><code class="computeroutput">inplace_star</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647791-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_erase.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_slash.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,92 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template insert_iterator</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/iterator_hpp.html" title="Header &lt;boost/icl/iterator.hpp&gt;">
<link rel="prev" href="add_iterator.html" title="Class template add_iterator">
<link rel="next" href="adder.html" title="Function template adder">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="add_iterator.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/iterator_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adder.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.insert_iterator"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template insert_iterator</span></h2>
<p>boost::icl::insert_iterator &#8212; Performes an insertion using a container's memberfunction add, when operator= is called. </p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/iterator_hpp.html" title="Header &lt;boost/icl/iterator.hpp&gt;">boost/icl/iterator.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ContainerT<span class="special">&gt;</span>
<span class="keyword">class</span> <a class="link" href="insert_iterator.html" title="Class template insert_iterator">insert_iterator</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">ContainerT</span> <a name="boost.icl.insert_iterator.container_type"></a><span class="identifier">container_type</span><span class="special">;</span> <span class="comment">// The container's type. </span>
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">output_iterator_tag</span> <a name="boost.icl.insert_iterator.iterator_category"></a><span class="identifier">iterator_category</span><span class="special">;</span>
<span class="comment">// <a class="link" href="insert_iterator.html#boost.icl.insert_iteratorconstruct-copy-destruct">construct/copy/destruct</a></span>
<a class="link" href="insert_iterator.html#id657579-bb"><span class="identifier">insert_iterator</span></a><span class="special">(</span><span class="identifier">ContainerT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ContainerT</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">)</span><span class="special">;</span>
insert_iterator&amp; <a class="link" href="insert_iterator.html#id657598-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">ContainerT</span><span class="special">::</span><span class="identifier">const_reference</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="insert_iterator.html#id657546-bb">public member functions</a></span>
<a class="link" href="insert_iterator.html" title="Class template insert_iterator">insert_iterator</a> <span class="special">&amp;</span> <a class="link" href="insert_iterator.html#id657549-bb"><span class="keyword">operator</span><span class="special">*</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="insert_iterator.html" title="Class template insert_iterator">insert_iterator</a> <span class="special">&amp;</span> <a class="link" href="insert_iterator.html#id657557-bb"><span class="keyword">operator</span><span class="special">++</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="insert_iterator.html" title="Class template insert_iterator">insert_iterator</a> <span class="special">&amp;</span> <a class="link" href="insert_iterator.html#id657565-bb"><span class="keyword">operator</span><span class="special">++</span></a><span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1302298"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1302302"></a><h3>
<a name="boost.icl.insert_iteratorconstruct-copy-destruct"></a><code class="computeroutput">insert_iterator</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol type="1">
<li>
<pre class="literallayout"><a name="id657579-bb"></a><span class="identifier">insert_iterator</span><span class="special">(</span><span class="identifier">ContainerT</span> <span class="special">&amp;</span> cont<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ContainerT</span><span class="special">::</span><span class="identifier">iterator</span> iter<span class="special">)</span><span class="special">;</span></pre>
<p>An <code class="computeroutput"><a class="link" href="insert_iterator.html" title="Class template insert_iterator">insert_iterator</a></code> is constructed with a container and a position that has to be maintained. </p>
</li>
<li>
<pre class="literallayout">insert_iterator&amp; <a name="id657598-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">ContainerT</span><span class="special">::</span><span class="identifier">const_reference</span> value<span class="special">)</span><span class="special">;</span></pre>
<p>This assignment operator adds the <code class="computeroutput">value</code> before the current position. It maintains it's position by incrementing after addition. </p>
</li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1302430"></a><h3>
<a name="id657546-bb"></a><code class="computeroutput">insert_iterator</code> public member functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><a class="link" href="insert_iterator.html" title="Class template insert_iterator">insert_iterator</a> <span class="special">&amp;</span> <a name="id657549-bb"></a><span class="keyword">operator</span><span class="special">*</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><a class="link" href="insert_iterator.html" title="Class template insert_iterator">insert_iterator</a> <span class="special">&amp;</span> <a name="id657557-bb"></a><span class="keyword">operator</span><span class="special">++</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><a class="link" href="insert_iterator.html" title="Class template insert_iterator">insert_iterator</a> <span class="special">&amp;</span> <a name="id657565-bb"></a><span class="keyword">operator</span><span class="special">++</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="add_iterator.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/iterator_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adder.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Function template inserter</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/iterator_hpp.html" title="Header &lt;boost/icl/iterator.hpp&gt;">
<link rel="prev" href="adder.html" title="Function template adder">
<link rel="next" href="../../header/boost/icl/left_open_interval_hpp.html" title="Header &lt;boost/icl/left_open_interval.hpp&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="adder.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/iterator_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../header/boost/icl/left_open_interval_hpp.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inserter"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Function template inserter</span></h2>
<p>boost::icl::inserter</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/iterator_hpp.html" title="Header &lt;boost/icl/iterator.hpp&gt;">boost/icl/iterator.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ContainerT<span class="special">,</span> <span class="keyword">typename</span> IteratorT<span class="special">&gt;</span>
<a class="link" href="insert_iterator.html" title="Class template insert_iterator">insert_iterator</a><span class="special">&lt;</span> <span class="identifier">ContainerT</span> <span class="special">&gt;</span> <span class="identifier">inserter</span><span class="special">(</span><span class="identifier">ContainerT</span> <span class="special">&amp;</span> cont<span class="special">,</span> <span class="identifier">IteratorT</span> iter_<span class="special">)</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1302777"></a><h2>Description</h2>
<p>Function inserter creates and initializes an <code class="computeroutput"><a class="link" href="insert_iterator.html" title="Class template insert_iterator">insert_iterator</a></code> </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="adder.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/iterator_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../header/boost/icl/left_open_interval_hpp.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template inter_section</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">
<link rel="prev" href="inplace_min.html" title="Struct template inplace_min">
<link rel="next" href="inverse_icl_inpla_id647946.html" title="Struct template inverse&lt;icl::inplace_plus&lt; Type &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_min.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_icl_inpla_id647946.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.inter_section"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template inter_section</span></h2>
<p>boost::icl::inter_section</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/functors_hpp.html" title="Header &lt;boost/icl/functors.hpp&gt;">boost/icl/functors.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="inter_section.html" title="Struct template inter_section">inter_section</a> <span class="special">:</span>
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">identity_based_inplace_combine</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span> <span class="identifier">has_set_semantics</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span><span class="special">,</span> <span class="identifier">icl</span><span class="special">::</span><span class="identifier">inplace_et</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span><span class="special">,</span> <span class="identifier">icl</span><span class="special">::</span><span class="identifier">inplace_plus</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.icl.inter_section.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="inter_section.html#id647928-bb">public member functions</a></span>
<span class="keyword">void</span> <a class="link" href="inter_section.html#id647931-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1222816"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1222820"></a><h3>
<a name="id647928-bb"></a><code class="computeroutput">inter_section</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">void</span> <a name="id647931-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="inplace_min.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/functors_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_icl_inpla_id647946.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,76 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template interval</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/interval_hpp.html" title="Header &lt;boost/icl/interval.hpp&gt;">
<link rel="prev" href="../../header/boost/icl/interval_hpp.html" title="Header &lt;boost/icl/interval.hpp&gt;">
<link rel="next" href="static_interval_I_id648954.html" title="Struct template static_interval&lt;IntervalT, true, PretendedBounds, RepresentedBounds&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/interval_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="static_interval_I_id648954.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template interval</span></h2>
<p>boost::icl::interval</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/interval_hpp.html" title="Header &lt;boost/icl/interval.hpp&gt;">boost/icl/interval.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span>
<span class="identifier">ICL_COMPARE</span> Compare <span class="special">=</span> <span class="identifier">ICL_COMPARE_INSTANCE</span><span class="special">(</span><span class="identifier">ICL_COMPARE_DEFAULT</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="interval.html" title="Struct template interval">interval</a> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">interval_type_default</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a name="boost.icl.interval.interval_type"></a><span class="identifier">interval_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">interval_type</span> <a name="boost.icl.interval.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="interval.html#id648874-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="identifier">interval_type</span> <a class="link" href="interval.html#id648876-bb"><span class="identifier">right_open</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">interval_type</span> <a class="link" href="interval.html#id648892-bb"><span class="identifier">left_open</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">interval_type</span> <a class="link" href="interval.html#id648907-bb"><span class="identifier">open</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">interval_type</span> <a class="link" href="interval.html#id648923-bb"><span class="identifier">closed</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">interval_type</span> <a class="link" href="interval.html#id648939-bb"><span class="identifier">construct</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1235245"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1235249"></a><h3>
<a name="id648874-bb"></a><code class="computeroutput">interval</code> public static functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">interval_type</span> <a name="id648876-bb"></a><span class="identifier">right_open</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> low<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">interval_type</span> <a name="id648892-bb"></a><span class="identifier">left_open</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> low<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">interval_type</span> <a name="id648907-bb"></a><span class="identifier">open</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> low<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">interval_type</span> <a name="id648923-bb"></a><span class="identifier">closed</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> low<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">interval_type</span> <a name="id648939-bb"></a><span class="identifier">construct</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> low<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">DomainT</span> <span class="special">&amp;</span> up<span class="special">)</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/interval_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="static_interval_I_id648954.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,508 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template interval_base_map</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">
<link rel="prev" href="mapping_pair.html" title="Struct template mapping_pair">
<link rel="next" href="interval_base_map/on_codomain_model_id649735.html" title="Struct template on_codomain_model&lt;Type, false&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="mapping_pair.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_base_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_base_map/on_codomain_model_id649735.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval_base_map"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template interval_base_map</span></h2>
<p>boost::icl::interval_base_map &#8212; Implements a <a class="link" href="map.html" title="Class template map">map</a> as a <a class="link" href="map.html" title="Class template map">map</a> of intervals (base class). </p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">boost/icl/interval_base_map.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> SubType<span class="special">,</span> <span class="keyword">typename</span> DomainT<span class="special">,</span> <span class="keyword">typename</span> CodomainT<span class="special">,</span>
<span class="keyword">typename</span> Traits <span class="special">=</span> <span class="identifier">icl</span><span class="special">::</span><span class="identifier">partial_absorber</span><span class="special">,</span>
<span class="identifier">ICL_COMPARE</span> Compare <span class="special">=</span> <span class="identifier">ICL_COMPARE_INSTANCE</span><span class="special">(</span><span class="identifier">ICL_COMPARE_DEFAULT</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">,</span>
<span class="identifier">ICL_COMBINE</span> Combine <span class="special">=</span> <span class="identifier">ICL_COMBINE_INSTANCE</span><span class="special">(</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">inplace_plus</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">)</span><span class="special">,</span>
<span class="identifier">ICL_SECTION</span> Section <span class="special">=</span> <span class="identifier">ICL_SECTION_INSTANCE</span><span class="special">(</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">inter_section</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">)</span><span class="special">,</span>
<span class="identifier">ICL_INTERVAL</span><span class="special">(</span><span class="identifier">ICL_COMPARE</span><span class="special">)</span> Interval <span class="special">=</span> <span class="identifier">ICL_INTERVAL_INSTANCE</span><span class="special">(</span><span class="identifier">ICL_INTERVAL_DEFAULT</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">)</span><span class="special">,</span>
<span class="identifier">ICL_ALLOC</span> Alloc <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&gt;</span>
<span class="keyword">class</span> <a class="link" href="interval_base_map.html" title="Class template interval_base_map">interval_base_map</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <a class="link" href="interval_base_map.html" title="Class template interval_base_map">interval_base_map</a><span class="special">&lt;</span> <span class="identifier">SubType</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">SubType</span> <a name="boost.icl.interval_base_map.sub_type"></a><span class="identifier">sub_type</span><span class="special">;</span> <span class="comment">// The designated <span class="emphasis"><em>derived</em></span> or <span class="emphasis"><em>sub_type</em></span> of this base class. </span>
<span class="keyword">typedef</span> <a class="link" href="interval_base_map.html#boost.icl.interval_base_map.type">type</a> <a name="boost.icl.interval_base_map.overloadable_type"></a><span class="identifier">overloadable_type</span><span class="special">;</span> <span class="comment">// Auxilliary type for overloadresolution. </span>
<span class="keyword">typedef</span> <span class="identifier">Traits</span> <a name="boost.icl.interval_base_map.traits"></a><span class="identifier">traits</span><span class="special">;</span> <span class="comment">// Traits of an itl <a class="link" href="map.html" title="Class template map">map</a>. </span>
<span class="keyword">typedef</span> <a class="link" href="map.html" title="Class template map">icl::map</a><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">Section</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.atomized_type"></a><span class="identifier">atomized_type</span><span class="special">;</span> <span class="comment">// The atomized type representing the corresponding container of elements. </span>
<span class="keyword">typedef</span> <span class="identifier">DomainT</span> <a name="boost.icl.interval_base_map.domain_type"></a><span class="identifier">domain_type</span><span class="special">;</span> <span class="comment">// Domain type (type of the keys) of the <a class="link" href="map.html" title="Class template map">map</a>. </span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">call_traits</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">param_type</span> <a name="boost.icl.interval_base_map.domain_param"></a><span class="identifier">domain_param</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">CodomainT</span> <a name="boost.icl.interval_base_map.codomain_type"></a><span class="identifier">codomain_type</span><span class="special">;</span> <span class="comment">// Domain type (type of the keys) of the <a class="link" href="map.html" title="Class template map">map</a>. </span>
<span class="keyword">typedef</span> <span class="identifier">mapping_pair</span><span class="special">&lt;</span> <span class="identifier">domain_type</span><span class="special">,</span> <span class="identifier">codomain_type</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.domain_mapping_type"></a><span class="identifier">domain_mapping_type</span><span class="special">;</span> <span class="comment">// Auxiliary type to help the compiler resolve ambiguities when using std::make_pair. </span>
<span class="keyword">typedef</span> <span class="identifier">domain_mapping_type</span> <a name="boost.icl.interval_base_map.element_type"></a><span class="identifier">element_type</span><span class="special">;</span> <span class="comment">// Conceptual is a <a class="link" href="map.html" title="Class template map">map</a> a set of elements of type <code class="computeroutput">element_type</code>. </span>
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">interval_type</span><span class="special">,</span> <span class="identifier">CodomainT</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.interval_mapping_type"></a><span class="identifier">interval_mapping_type</span><span class="special">;</span> <span class="comment">// Auxiliary type for overload resolution. </span>
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">interval_type</span><span class="special">,</span> <span class="identifier">CodomainT</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.segment_type"></a><span class="identifier">segment_type</span><span class="special">;</span> <span class="comment">// Type of an interval containers segment, that is spanned by an interval. </span>
<span class="keyword">typedef</span> <span class="identifier">difference_type_of</span><span class="special">&lt;</span> <span class="identifier">domain_type</span> <span class="special">&gt;</span><span class="special">::</span><a class="link" href="interval_base_map.html#boost.icl.interval_base_map.type">type</a> <a name="boost.icl.interval_base_map.difference_type"></a><span class="identifier">difference_type</span><span class="special">;</span> <span class="comment">// The difference type of an interval which is sometimes different form the domain_type. </span>
<span class="keyword">typedef</span> <span class="identifier">size_type_of</span><span class="special">&lt;</span> <span class="identifier">domain_type</span> <span class="special">&gt;</span><span class="special">::</span><a class="link" href="interval_base_map.html#boost.icl.interval_base_map.type">type</a> <a name="boost.icl.interval_base_map.size_type"></a><span class="identifier">size_type</span><span class="special">;</span> <span class="comment">// The size type of an interval which is mostly std::size_t. </span>
<span class="keyword">typedef</span> <span class="identifier">inverse</span><span class="special">&lt;</span> <span class="identifier">codomain_combine</span> <span class="special">&gt;</span><span class="special">::</span><a class="link" href="interval_base_map.html#boost.icl.interval_base_map.type">type</a> <a name="boost.icl.interval_base_map.inverse_codomain_combine"></a><span class="identifier">inverse_codomain_combine</span><span class="special">;</span> <span class="comment">// Inverse Combine functor for codomain value aggregation. </span>
<span class="keyword">typedef</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span> <span class="identifier">has_set_semantics</span><span class="special">&lt;</span> <span class="identifier">codomain_type</span> <span class="special">&gt;</span><span class="special">,</span> <span class="identifier">ICL_SECTION_CODOMAIN</span><span class="special">(</span><span class="identifier">Section</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">)</span><span class="special">,</span> <span class="identifier">codomain_combine</span> <span class="special">&gt;</span><span class="special">::</span><a class="link" href="interval_base_map.html#boost.icl.interval_base_map.type">type</a> <a name="boost.icl.interval_base_map.codomain_intersect"></a><span class="identifier">codomain_intersect</span><span class="special">;</span> <span class="comment">// Intersection functor for codomain values. </span>
<span class="keyword">typedef</span> <span class="identifier">inverse</span><span class="special">&lt;</span> <span class="identifier">codomain_intersect</span> <span class="special">&gt;</span><span class="special">::</span><a class="link" href="interval_base_map.html#boost.icl.interval_base_map.type">type</a> <a name="boost.icl.interval_base_map.inverse_codomain_intersect"></a><span class="identifier">inverse_codomain_intersect</span><span class="special">;</span> <span class="comment">// Inverse Combine functor for codomain value intersection. </span>
<span class="keyword">typedef</span> <span class="identifier">exclusive_less_than</span><span class="special">&lt;</span> <span class="identifier">interval_type</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.interval_compare"></a><span class="identifier">interval_compare</span><span class="special">;</span> <span class="comment">// Comparison functor for intervals which are keys as well. </span>
<span class="keyword">typedef</span> <span class="identifier">exclusive_less_than</span><span class="special">&lt;</span> <span class="identifier">interval_type</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.key_compare"></a><span class="identifier">key_compare</span><span class="special">;</span> <span class="comment">// Comparison functor for keys. </span>
<span class="keyword">typedef</span> <span class="identifier">Alloc</span><span class="special">&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">interval_type</span><span class="special">,</span> <span class="identifier">codomain_type</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.allocator_type"></a><span class="identifier">allocator_type</span><span class="special">;</span> <span class="comment">// The allocator type of the set. </span>
<span class="keyword">typedef</span> <span class="identifier">ICL_IMPL_SPACE</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span> <span class="identifier">interval_type</span><span class="special">,</span> <span class="identifier">codomain_type</span><span class="special">,</span> <span class="identifier">key_compare</span><span class="special">,</span> <span class="identifier">allocator_type</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.ImplMapT"></a><span class="identifier">ImplMapT</span><span class="special">;</span> <span class="comment">// Container type for the implementation. </span>
<span class="keyword">typedef</span> <span class="identifier">ImplMapT</span><span class="special">::</span><span class="identifier">key_type</span> <a name="boost.icl.interval_base_map.key_type"></a><span class="identifier">key_type</span><span class="special">;</span> <span class="comment">// key type of the implementing container </span>
<span class="keyword">typedef</span> <span class="identifier">ImplMapT</span><span class="special">::</span><span class="identifier">value_type</span> <a name="boost.icl.interval_base_map.value_type"></a><span class="identifier">value_type</span><span class="special">;</span> <span class="comment">// value type of the implementing container </span>
<span class="keyword">typedef</span> <span class="identifier">ImplMapT</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">::</span><span class="identifier">second_type</span> <a name="boost.icl.interval_base_map.data_type"></a><span class="identifier">data_type</span><span class="special">;</span> <span class="comment">// data type of the implementing container </span>
<span class="keyword">typedef</span> <span class="identifier">ImplMapT</span><span class="special">::</span><span class="identifier">pointer</span> <a name="boost.icl.interval_base_map.pointer"></a><span class="identifier">pointer</span><span class="special">;</span> <span class="comment">// pointer type </span>
<span class="keyword">typedef</span> <span class="identifier">ImplMapT</span><span class="special">::</span><span class="identifier">const_pointer</span> <a name="boost.icl.interval_base_map.const_pointer"></a><span class="identifier">const_pointer</span><span class="special">;</span> <span class="comment">// const pointer type </span>
<span class="keyword">typedef</span> <span class="identifier">ImplMapT</span><span class="special">::</span><span class="identifier">reference</span> <a name="boost.icl.interval_base_map.reference"></a><span class="identifier">reference</span><span class="special">;</span> <span class="comment">// reference type </span>
<span class="keyword">typedef</span> <span class="identifier">ImplMapT</span><span class="special">::</span><span class="identifier">const_reference</span> <a name="boost.icl.interval_base_map.const_reference"></a><span class="identifier">const_reference</span><span class="special">;</span> <span class="comment">// const reference type </span>
<span class="keyword">typedef</span> <span class="identifier">ImplMapT</span><span class="special">::</span><span class="identifier">iterator</span> <a name="boost.icl.interval_base_map.iterator"></a><span class="identifier">iterator</span><span class="special">;</span> <span class="comment">// iterator for iteration over intervals </span>
<span class="keyword">typedef</span> <span class="identifier">ImplMapT</span><span class="special">::</span><span class="identifier">const_iterator</span> <a name="boost.icl.interval_base_map.const_iterator"></a><span class="identifier">const_iterator</span><span class="special">;</span> <span class="comment">// const_iterator for iteration over intervals </span>
<span class="keyword">typedef</span> <span class="identifier">ImplMapT</span><span class="special">::</span><span class="identifier">reverse_iterator</span> <a name="boost.icl.interval_base_map.reverse_iterator"></a><span class="identifier">reverse_iterator</span><span class="special">;</span> <span class="comment">// iterator for reverse iteration over intervals </span>
<span class="keyword">typedef</span> <span class="identifier">ImplMapT</span><span class="special">::</span><span class="identifier">const_reverse_iterator</span> <a name="boost.icl.interval_base_map.const_reverse_iterator"></a><span class="identifier">const_reverse_iterator</span><span class="special">;</span> <span class="comment">// const_iterator for iteration over intervals </span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">element_iterator</span><span class="special">&lt;</span> <span class="identifier">iterator</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.element_iterator"></a><span class="identifier">element_iterator</span><span class="special">;</span> <span class="comment">// element iterator: Depreciated, see documentation. </span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">element_iterator</span><span class="special">&lt;</span> <span class="identifier">const_iterator</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.element_const_iterator"></a><span class="identifier">element_const_iterator</span><span class="special">;</span> <span class="comment">// const element iterator: Depreciated, see documentation. </span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">element_iterator</span><span class="special">&lt;</span> <span class="identifier">reverse_iterator</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.element_reverse_iterator"></a><span class="identifier">element_reverse_iterator</span><span class="special">;</span> <span class="comment">// element reverse iterator: Depreciated, see documentation. </span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">element_iterator</span><span class="special">&lt;</span> <span class="identifier">const_reverse_iterator</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_map.element_const_rev_id650478"></a><span class="identifier">element_const_reverse_iterator</span><span class="special">;</span> <span class="comment">// element const reverse iterator: Depreciated, see documentation. </span>
<span class="keyword">typedef</span> <span class="identifier">on_absorbtion</span><span class="special">&lt;</span> <a class="link" href="interval_base_map.html#boost.icl.interval_base_map.type">type</a><span class="special">,</span> <span class="identifier">codomain_combine</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">::</span><span class="identifier">absorbs_identities</span> <span class="special">&gt;</span><span class="special">::</span><a class="link" href="interval_base_map.html#boost.icl.interval_base_map.type">type</a> <a name="boost.icl.interval_base_map.on_codomain_absorbtion"></a><span class="identifier">on_codomain_absorbtion</span><span class="special">;</span>
<span class="comment">// member classes/structs/unions</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="interval_base_map/on_codomain_model_id649735.html" title="Struct template on_codomain_model&lt;Type, false&gt;">on_codomain_model</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">false</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">interval_type</span> <a class="link" href="interval_base_map/on_codomain_model_id649735.html#boost.icl.interval_base_map.on_codomain_model_id649735.interval_type"><span class="identifier">interval_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">codomain_type</span> <a class="link" href="interval_base_map/on_codomain_model_id649735.html#boost.icl.interval_base_map.on_codomain_model_id649735.codomain_type"><span class="identifier">codomain_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <a class="link" href="interval_base_map/on_codomain_model_id649735.html#boost.icl.interval_base_map.on_codomain_model_id649735.segment_type"><span class="identifier">segment_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">codomain_combine</span> <a class="link" href="interval_base_map/on_codomain_model_id649735.html#boost.icl.interval_base_map.on_codomain_model_id649735.codomain_combine"><span class="identifier">codomain_combine</span></a><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_map/on_codomain_model_id649735.html#id649768-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="interval_base_map/on_codomain_model_id649735.html#id649771-bb"><span class="identifier">add</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="interval_base_map/on_codomain_model_id649796.html" title="Struct template on_codomain_model&lt;Type, true&gt;">on_codomain_model</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">true</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">interval_type</span> <a class="link" href="interval_base_map/on_codomain_model_id649796.html#boost.icl.interval_base_map.on_codomain_model_id649796.interval_type"><span class="identifier">interval_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">codomain_type</span> <a class="link" href="interval_base_map/on_codomain_model_id649796.html#boost.icl.interval_base_map.on_codomain_model_id649796.codomain_type"><span class="identifier">codomain_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <a class="link" href="interval_base_map/on_codomain_model_id649796.html#boost.icl.interval_base_map.on_codomain_model_id649796.segment_type"><span class="identifier">segment_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">codomain_combine</span> <a class="link" href="interval_base_map/on_codomain_model_id649796.html#boost.icl.interval_base_map.on_codomain_model_id649796.codomain_combine"><span class="identifier">codomain_combine</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">inverse_codomain_intersect</span> <a class="link" href="interval_base_map/on_codomain_model_id649796.html#boost.icl.interval_base_map.on_codomain_model_id649796.inverse_codomain_intersect"><span class="identifier">inverse_codomain_intersect</span></a><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_map/on_codomain_model_id649796.html#id649834-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="interval_base_map/on_codomain_model_id649796.html#id649837-bb"><span class="identifier">add</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="interval_base_map/on_definedness_Ty_id649862.html" title="Struct template on_definedness&lt;Type, false&gt;">on_definedness</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">false</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// <a class="link" href="interval_base_map/on_definedness_Ty_id649862.html#id649876-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="interval_base_map/on_definedness_Ty_id649862.html#id649879-bb"><span class="identifier">add_intersection</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="interval_base_map/on_definedness_Ty_id649899.html" title="Struct template on_definedness&lt;Type, true&gt;">on_definedness</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">true</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// <a class="link" href="interval_base_map/on_definedness_Ty_id649899.html#id649914-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="interval_base_map/on_definedness_Ty_id649899.html#id649916-bb"><span class="identifier">add_intersection</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="interval_base_map/on_invertible_Typ_id649936.html" title="Struct template on_invertible&lt;Type, false&gt;">on_invertible</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">false</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <a class="link" href="interval_base_map/on_invertible_Typ_id649936.html#boost.icl.interval_base_map.on_invertible_Typ_id649936.segment_type"><span class="identifier">segment_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">inverse_codomain_combine</span> <a class="link" href="interval_base_map/on_invertible_Typ_id649936.html#boost.icl.interval_base_map.on_invertible_Typ_id649936.inverse_codomain_combine"><span class="identifier">inverse_codomain_combine</span></a><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_map/on_invertible_Typ_id649936.html#id649960-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="interval_base_map/on_invertible_Typ_id649936.html#id649963-bb"><span class="identifier">subtract</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="interval_base_map/on_invertible_Typ_id649978.html" title="Struct template on_invertible&lt;Type, true&gt;">on_invertible</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">true</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <a class="link" href="interval_base_map/on_invertible_Typ_id649978.html#boost.icl.interval_base_map.on_invertible_Typ_id649978.segment_type"><span class="identifier">segment_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">inverse_codomain_combine</span> <a class="link" href="interval_base_map/on_invertible_Typ_id649978.html#boost.icl.interval_base_map.on_invertible_Typ_id649978.inverse_codomain_combine"><span class="identifier">inverse_codomain_combine</span></a><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_map/on_invertible_Typ_id649978.html#id650002-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="interval_base_map/on_invertible_Typ_id649978.html#id650005-bb"><span class="identifier">subtract</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">,</span> <span class="keyword">bool</span> absorbs_identities<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="interval_base_map/on_total_absorbab_id650020.html" title="Struct template on_total_absorbable&lt;Type, false, absorbs_identities&gt;">on_total_absorbable</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">false</span><span class="special">,</span> <span class="identifier">absorbs_identities</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <a class="link" href="interval_base_map/on_total_absorbab_id650020.html#boost.icl.interval_base_map.on_total_absorbab_id650020.segment_type"><span class="identifier">segment_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">codomain_type</span> <a class="link" href="interval_base_map/on_total_absorbab_id650020.html#boost.icl.interval_base_map.on_total_absorbab_id650020.codomain_type"><span class="identifier">codomain_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">interval_type</span> <a class="link" href="interval_base_map/on_total_absorbab_id650020.html#boost.icl.interval_base_map.on_total_absorbab_id650020.interval_type"><span class="identifier">interval_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">value_type</span> <a class="link" href="interval_base_map/on_total_absorbab_id650020.html#boost.icl.interval_base_map.on_total_absorbab_id650020.value_type"><span class="identifier">value_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">const_iterator</span> <a class="link" href="interval_base_map/on_total_absorbab_id650020.html#boost.icl.interval_base_map.on_total_absorbab_id650020.const_iterator"><span class="identifier">const_iterator</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">set_type</span> <a class="link" href="interval_base_map/on_total_absorbab_id650020.html#boost.icl.interval_base_map.on_total_absorbab_id650020.set_type"><span class="identifier">set_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">inverse_codomain_intersect</span> <a class="link" href="interval_base_map/on_total_absorbab_id650020.html#boost.icl.interval_base_map.on_total_absorbab_id650020.inverse_codomain_intersect"><span class="identifier">inverse_codomain_intersect</span></a><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_map/on_total_absorbab_id650020.html#id650077-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="interval_base_map/on_total_absorbab_id650020.html#id650079-bb"><span class="identifier">flip</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="interval_base_map/on_total_absorbab_id650095.html" title="Struct template on_total_absorbable&lt;Type, true, false&gt;">on_total_absorbable</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">true</span><span class="special">,</span> <span class="keyword">false</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <a class="link" href="interval_base_map/on_total_absorbab_id650095.html#boost.icl.interval_base_map.on_total_absorbab_id650095.segment_type"><span class="identifier">segment_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">codomain_type</span> <a class="link" href="interval_base_map/on_total_absorbab_id650095.html#boost.icl.interval_base_map.on_total_absorbab_id650095.codomain_type"><span class="identifier">codomain_type</span></a><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_map/on_total_absorbab_id650095.html#id650121-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="interval_base_map/on_total_absorbab_id650095.html#id650124-bb"><span class="identifier">flip</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="interval_base_map/on_total_absorbab_id650139.html" title="Struct template on_total_absorbable&lt;Type, true, true&gt;">on_total_absorbable</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">true</span><span class="special">,</span> <span class="keyword">true</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// <a class="link" href="interval_base_map/on_total_absorbab_id650139.html#id650156-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="interval_base_map/on_total_absorbab_id650139.html#id650158-bb"><span class="identifier">flip</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_map.html#boost.icl.interval_base_mapconstruct-copy-destruct">construct/copy/destruct</a></span>
<a class="link" href="interval_base_map.html#id651302-bb"><span class="identifier">interval_base_map</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="interval_base_map.html#id651307-bb"><span class="identifier">interval_base_map</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="interval_base_map.html" title="Class template interval_base_map">interval_base_map</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="interval_base_map.html#id651333-bb"><span class="identifier">interval_base_map</span></a><span class="special">(</span><a class="link" href="interval_base_map.html" title="Class template interval_base_map">interval_base_map</a> <span class="special">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
interval_base_map&amp; <a class="link" href="interval_base_map.html#id651320-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="interval_base_map.html" title="Class template interval_base_map">interval_base_map</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
interval_base_map&amp; <a class="link" href="interval_base_map.html#id651345-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="interval_base_map.html" title="Class template interval_base_map">interval_base_map</a> <span class="special">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_map.html#id650496-bb">public member functions</a></span>
<span class="keyword">typedef</span> <a class="link" href="interval_base_map.html#id650498-bb"><span class="identifier">ICL_INTERVAL_TYPE</span></a><span class="special">(</span><span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">typedef</span> <a class="link" href="interval_base_map.html#id650526-bb"><span class="identifier">ICL_COMPARE_DOMAIN</span></a><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">typedef</span> <a class="link" href="interval_base_map.html#id650544-bb"><span class="identifier">ICL_COMPARE_DOMAIN</span></a><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">segment_type</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">typedef</span> <a class="link" href="interval_base_map.html#id650559-bb"><span class="identifier">ICL_COMBINE_CODOMAIN</span></a><span class="special">(</span><span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="interval_base_map.html#id650577-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span>
<span class="identifier">is_total_invertible</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Traits</span><span class="special">::</span><span class="identifier">is_total</span> <span class="special">&amp;&amp;</span><span class="identifier">has_inverse</span><span class="special">&lt;</span> <span class="identifier">codomain_type</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="interval_base_map.html#id650595-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">fineness</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id650612-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="interval_base_map.html" title="Class template interval_base_map">interval_base_map</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id650629-bb"><span class="identifier">clear</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="interval_base_map.html#id650643-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">size_type</span> <a class="link" href="interval_base_map.html#id650658-bb"><span class="identifier">size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="interval_base_map.html#id650667-bb"><span class="identifier">iterative_size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="interval_base_map.html#id650677-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="interval_base_map.html#id650695-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">codomain_type</span> <a class="link" href="interval_base_map.html#id650713-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id650727-bb"><span class="identifier">add</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id650746-bb"><span class="identifier">add</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_map.html#id650766-bb"><span class="identifier">add</span></a><span class="special">(</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id650800-bb"><span class="identifier">subtract</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id650820-bb"><span class="identifier">subtract</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id650839-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id650862-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_map.html#id650884-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id650919-bb"><span class="identifier">set</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id650944-bb"><span class="identifier">set</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id650974-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id650997-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id651020-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id651038-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651061-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">iterator</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651079-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">iterator</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651102-bb"><span class="identifier">add_intersection</span></a><span class="special">(</span><span class="identifier">SubType</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id651136-bb"><span class="identifier">flip</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_map.html#id651163-bb"><span class="identifier">flip</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_map.html#id651189-bb"><span class="identifier">lower_bound</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_map.html#id651200-bb"><span class="identifier">upper_bound</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="interval_base_map.html#id651211-bb"><span class="identifier">lower_bound</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="interval_base_map.html#id651222-bb"><span class="identifier">upper_bound</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&gt;</span> <a class="link" href="interval_base_map.html#id651232-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="special">&gt;</span>
<a class="link" href="interval_base_map.html#id651243-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_map.html#id651254-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_map.html#id651260-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="interval_base_map.html#id651266-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="interval_base_map.html#id651272-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">reverse_iterator</span> <a class="link" href="interval_base_map.html#id651278-bb"><span class="identifier">rbegin</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">reverse_iterator</span> <a class="link" href="interval_base_map.html#id651284-bb"><span class="identifier">rend</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_reverse_iterator</span> <a class="link" href="interval_base_map.html#id651290-bb"><span class="identifier">rbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">const_reverse_iterator</span> <a class="link" href="interval_base_map.html#id651296-bb"><span class="identifier">rend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_map.html#id651357-bb">private member functions</a></span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span> <span class="identifier">iterator</span> <a class="link" href="interval_base_map.html#id651360-bb"><span class="identifier">_add</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span> <span class="identifier">iterator</span> <a class="link" href="interval_base_map.html#id651376-bb"><span class="identifier">_add</span></a><span class="special">(</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span> <span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651398-bb"><span class="identifier">_subtract</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_map.html#id651415-bb"><span class="identifier">_insert</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_map.html#id651426-bb"><span class="identifier">_insert</span></a><span class="special">(</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651441-bb"><span class="identifier">add_segment</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651468-bb"><span class="identifier">add_main</span></a><span class="special">(</span><span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651499-bb"><span class="identifier">add_rear</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651525-bb"><span class="identifier">add_front</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651541-bb"><span class="identifier">subtract_front</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651556-bb"><span class="identifier">subtract_main</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651583-bb"><span class="identifier">subtract_rear</span></a><span class="special">(</span><span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651609-bb"><span class="identifier">insert_main</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651634-bb"><span class="identifier">erase_rest</span></a><span class="special">(</span><span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> FragmentT<span class="special">&gt;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651660-bb"><span class="identifier">total_add_intersection</span></a><span class="special">(</span><span class="identifier">SubType</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">FragmentT</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651681-bb"><span class="identifier">partial_add_intersection</span></a><span class="special">(</span><span class="identifier">SubType</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_map.html#id651697-bb"><span class="identifier">partial_add_intersection</span></a><span class="special">(</span><span class="identifier">SubType</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_map.html#id651712-bb">protected member functions</a></span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_map.html#id651715-bb"><span class="identifier">gap_insert</span></a><span class="special">(</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span> <span class="special">&gt;</span>
<a class="link" href="interval_base_map.html#id651741-bb"><span class="identifier">add_at</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span> <span class="special">&gt;</span>
<a class="link" href="interval_base_map.html#id651768-bb"><span class="identifier">insert_at</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">sub_type</span> <span class="special">*</span> <a class="link" href="interval_base_map.html#id652881-bb"><span class="identifier">that</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">const</span> <span class="identifier">sub_type</span> <span class="special">*</span> <a class="link" href="interval_base_map.html#id652887-bb"><span class="identifier">that</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1248828"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1248832"></a><h3>
<a name="boost.icl.interval_base_mapconstruct-copy-destruct"></a><code class="computeroutput">interval_base_map</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol type="1">
<li>
<pre class="literallayout"><a name="id651302-bb"></a><span class="identifier">interval_base_map</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>Default constructor for the empty object </p>
</li>
<li>
<pre class="literallayout"><a name="id651307-bb"></a><span class="identifier">interval_base_map</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="interval_base_map.html" title="Class template interval_base_map">interval_base_map</a> <span class="special">&amp;</span> src<span class="special">)</span><span class="special">;</span></pre>
<p>Copy constructor </p>
</li>
<li>
<pre class="literallayout"><a name="id651333-bb"></a><span class="identifier">interval_base_map</span><span class="special">(</span><a class="link" href="interval_base_map.html" title="Class template interval_base_map">interval_base_map</a> <span class="special">&amp;&amp;</span> src<span class="special">)</span><span class="special">;</span></pre>
<p>Move constructor </p>
</li>
<li>
<pre class="literallayout">interval_base_map&amp; <a name="id651320-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="interval_base_map.html" title="Class template interval_base_map">interval_base_map</a> <span class="special">&amp;</span> src<span class="special">)</span><span class="special">;</span></pre>
<p>Copy assignment operator </p>
</li>
<li>
<pre class="literallayout">interval_base_map&amp; <a name="id651345-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="interval_base_map.html" title="Class template interval_base_map">interval_base_map</a> <span class="special">&amp;&amp;</span> src<span class="special">)</span><span class="special">;</span></pre>
<p>Move assignment operator </p>
</li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1249029"></a><h3>
<a name="id650496-bb"></a><code class="computeroutput">interval_base_map</code> public member functions</h3>
<div class="orderedlist"><ol type="1">
<li>
<pre class="literallayout"><span class="keyword">typedef</span> <a name="id650498-bb"></a><span class="identifier">ICL_INTERVAL_TYPE</span><span class="special">(</span><span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">)</span><span class="special">;</span></pre>The interval type of the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code>. </li>
<li>
<pre class="literallayout"><span class="keyword">typedef</span> <a name="id650526-bb"></a><span class="identifier">ICL_COMPARE_DOMAIN</span><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span></pre>Comparison functor for domain values. </li>
<li><pre class="literallayout"><span class="keyword">typedef</span> <a name="id650544-bb"></a><span class="identifier">ICL_COMPARE_DOMAIN</span><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">segment_type</span><span class="special">)</span><span class="special">;</span></pre></li>
<li>
<pre class="literallayout"><span class="keyword">typedef</span> <a name="id650559-bb"></a><span class="identifier">ICL_COMBINE_CODOMAIN</span><span class="special">(</span><span class="identifier">Combine</span><span class="special">,</span> <span class="identifier">CodomainT</span><span class="special">)</span><span class="special">;</span></pre>Combine functor for codomain value aggregation. </li>
<li><pre class="literallayout"> <a name="id650577-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">bool</span><span class="special">,</span>
<span class="identifier">is_total_invertible</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Traits</span><span class="special">::</span><span class="identifier">is_total</span> <span class="special">&amp;&amp;</span><span class="identifier">has_inverse</span><span class="special">&lt;</span> <span class="identifier">codomain_type</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"> <a name="id650595-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">fineness</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span></pre></li>
<li>
<pre class="literallayout"><span class="keyword">void</span> <a name="id650612-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="interval_base_map.html" title="Class template interval_base_map">interval_base_map</a> <span class="special">&amp;</span> object<span class="special">)</span><span class="special">;</span></pre>
<p>swap the content of containers </p>
</li>
<li>
<pre class="literallayout"><span class="keyword">void</span> <a name="id650629-bb"></a><span class="identifier">clear</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>clear the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code> </p>
</li>
<li>
<pre class="literallayout"><span class="keyword">bool</span> <a name="id650643-bb"></a><span class="identifier">empty</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>is the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code> empty? </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">size_type</span> <a name="id650658-bb"></a><span class="identifier">size</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>An interval map's size is it's cardinality </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id650667-bb"></a><span class="identifier">iterative_size</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>Size of the iteration over this container </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id650677-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span> key_value<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>Find the interval value pair, that contains <code class="computeroutput">key</code> </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id650695-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> key_interval<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>Find the first interval value pair, that collides with interval <code class="computeroutput">key_interval</code> </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">codomain_type</span> <a name="id650713-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span> key_value<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>Total select function. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id650727-bb"></a><span class="identifier">add</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> key_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>Addition of a key value pair to the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code> </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id650746-bb"></a><span class="identifier">add</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>Addition of an interval value pair to the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code>. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">iterator</span> <a name="id650766-bb"></a><span class="identifier">add</span><span class="special">(</span><span class="identifier">iterator</span> prior_<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>Addition of an interval value pair <code class="computeroutput">interval_value_pair</code> to the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code>. Iterator <code class="computeroutput">prior_</code> is a hint to the position <code class="computeroutput">interval_value_pair</code> can be inserted after. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id650800-bb"></a><span class="identifier">subtract</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> key_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>Subtraction of a key value pair from the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code> </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id650820-bb"></a><span class="identifier">subtract</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>Subtraction of an interval value pair from the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code>. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id650839-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> key_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>Insertion of a <code class="computeroutput">key_value_pair</code> into the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code>. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id650862-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>Insertion of an <code class="computeroutput">interval_value_pair</code> into the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code>. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">iterator</span> <a name="id650884-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">iterator</span> prior<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>Insertion of an <code class="computeroutput">interval_value_pair</code> into the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code>. Iterator <code class="computeroutput">prior_</code>. serves as a hint to insert after the element <code class="computeroutput">prior</code> point to. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id650919-bb"></a><span class="identifier">set</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> key_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>With <code class="computeroutput">key_value_pair = (k,v)</code> set value <code class="computeroutput">v</code> for key <code class="computeroutput">k</code> </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id650944-bb"></a><span class="identifier">set</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>With <code class="computeroutput">interval_value_pair = (I,v)</code> set value <code class="computeroutput">v</code> for all keys in interval <code class="computeroutput">I</code> in the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code>. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id650974-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> key_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>Erase a <code class="computeroutput">key_value_pair</code> from the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code>. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id650997-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>Erase an <code class="computeroutput">interval_value_pair</code> from the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code>. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id651020-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">domain_type</span> <span class="special">&amp;</span> key<span class="special">)</span><span class="special">;</span></pre>
<p>Erase a key value pair for <code class="computeroutput">key</code>. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id651038-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">)</span><span class="special">;</span></pre>
<p>Erase all value pairs within the range of the interval <code class="computeroutput">inter_val</code> from the <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code>. </p>
</li>
<li>
<pre class="literallayout"><span class="keyword">void</span> <a name="id651061-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">iterator</span> position<span class="special">)</span><span class="special">;</span></pre>
<p>Erase all value pairs within the range of the interval that iterator <code class="computeroutput">position</code> points to. </p>
</li>
<li>
<pre class="literallayout"><span class="keyword">void</span> <a name="id651079-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">iterator</span> first<span class="special">,</span> <span class="identifier">iterator</span> past<span class="special">)</span><span class="special">;</span></pre>
<p>Erase all value pairs for a range of iterators <code class="computeroutput">[first,past)</code>. </p>
</li>
<li>
<pre class="literallayout"><span class="keyword">void</span> <a name="id651102-bb"></a><span class="identifier">add_intersection</span><span class="special">(</span><span class="identifier">SubType</span> <span class="special">&amp;</span> section<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>The intersection of <code class="computeroutput">interval_value_pair</code> and <code class="computeroutput">*this</code> <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code> is added to <code class="computeroutput">section</code>. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id651136-bb"></a><span class="identifier">flip</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> key_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>If <code class="computeroutput">*this</code> <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code> contains <code class="computeroutput">key_value_pair</code> it is erased, otherwise it is added. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id651163-bb"></a><span class="identifier">flip</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre>
<p>If <code class="computeroutput">*this</code> <code class="computeroutput"><a class="link" href="map.html" title="Class template map">map</a></code> contains <code class="computeroutput">interval_value_pair</code> it is erased, otherwise it is added. </p>
</li>
<li><pre class="literallayout"><span class="identifier">iterator</span> <a name="id651189-bb"></a><span class="identifier">lower_bound</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span> interval<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">iterator</span> <a name="id651200-bb"></a><span class="identifier">upper_bound</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span> interval<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id651211-bb"></a><span class="identifier">lower_bound</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span> interval<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id651222-bb"></a><span class="identifier">upper_bound</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span> interval<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&gt;</span> <a name="id651232-bb"></a><span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span> interval<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="special">&gt;</span>
<a name="id651243-bb"></a><span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span> interval<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">iterator</span> <a name="id651254-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">iterator</span> <a name="id651260-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id651266-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id651272-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">reverse_iterator</span> <a name="id651278-bb"></a><span class="identifier">rbegin</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">reverse_iterator</span> <a name="id651284-bb"></a><span class="identifier">rend</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="id651290-bb"></a><span class="identifier">rbegin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="id651296-bb"></a><span class="identifier">rend</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1253641"></a><h3>
<a name="id651357-bb"></a><code class="computeroutput">interval_base_map</code> private member functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="identifier">iterator</span> <a name="id651360-bb"></a><span class="identifier">_add</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="identifier">iterator</span> <a name="id651376-bb"></a><span class="identifier">_add</span><span class="special">(</span><span class="identifier">iterator</span> prior_<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="keyword">void</span> <a name="id651398-bb"></a><span class="identifier">_subtract</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">iterator</span> <a name="id651415-bb"></a><span class="identifier">_insert</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">iterator</span> <a name="id651426-bb"></a><span class="identifier">_insert</span><span class="special">(</span><span class="identifier">iterator</span> prior_<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="keyword">void</span> <a name="id651441-bb"></a><span class="identifier">add_segment</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span> co_val<span class="special">,</span>
<span class="identifier">iterator</span> <span class="special">&amp;</span> it_<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="keyword">void</span> <a name="id651468-bb"></a><span class="identifier">add_main</span><span class="special">(</span><span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span> co_val<span class="special">,</span>
<span class="identifier">iterator</span> <span class="special">&amp;</span> it_<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span> last_<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="keyword">void</span> <a name="id651499-bb"></a><span class="identifier">add_rear</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span> co_val<span class="special">,</span>
<span class="identifier">iterator</span> <span class="special">&amp;</span> it_<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">void</span> <a name="id651525-bb"></a><span class="identifier">add_front</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span> first_<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">void</span> <a name="id651541-bb"></a><span class="identifier">subtract_front</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span> first_<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="keyword">void</span> <a name="id651556-bb"></a><span class="identifier">subtract_main</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span> co_val<span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span> it_<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span> last_<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="keyword">void</span> <a name="id651583-bb"></a><span class="identifier">subtract_rear</span><span class="special">(</span><span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span> co_val<span class="special">,</span>
<span class="identifier">iterator</span> <span class="special">&amp;</span> it_<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">void</span> <a name="id651609-bb"></a><span class="identifier">insert_main</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">void</span> <a name="id651634-bb"></a><span class="identifier">erase_rest</span><span class="special">(</span><span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CodomainT</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> FragmentT<span class="special">&gt;</span>
<span class="keyword">void</span> <a name="id651660-bb"></a><span class="identifier">total_add_intersection</span><span class="special">(</span><span class="identifier">SubType</span> <span class="special">&amp;</span> section<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">FragmentT</span> <span class="special">&amp;</span> fragment<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">void</span> <a name="id651681-bb"></a><span class="identifier">partial_add_intersection</span><span class="special">(</span><span class="identifier">SubType</span> <span class="special">&amp;</span> section<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">void</span> <a name="id651697-bb"></a><span class="identifier">partial_add_intersection</span><span class="special">(</span><span class="identifier">SubType</span> <span class="special">&amp;</span> section<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> operand<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1254894"></a><h3>
<a name="id651712-bb"></a><code class="computeroutput">interval_base_map</code> protected member functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="identifier">iterator</span> <a name="id651715-bb"></a><span class="identifier">gap_insert</span><span class="special">(</span><span class="identifier">iterator</span> prior_<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span> co_val<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Combiner<span class="special">&gt;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span> <span class="special">&gt;</span>
<a name="id651741-bb"></a><span class="identifier">add_at</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span> prior_<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span> co_val<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span> <span class="special">&gt;</span>
<a name="id651768-bb"></a><span class="identifier">insert_at</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span> prior_<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span> co_val<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">sub_type</span> <span class="special">*</span> <a name="id652881-bb"></a><span class="identifier">that</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">const</span> <span class="identifier">sub_type</span> <span class="special">*</span> <a name="id652887-bb"></a><span class="identifier">that</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="mapping_pair.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_base_map_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interval_base_map/on_codomain_model_id649735.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,70 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template on_codomain_model&lt;Type, false&gt;</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../interval_base_map.html#id1248828" title="Description">
<link rel="prev" href="../interval_base_map.html" title="Class template interval_base_map">
<link rel="next" href="on_codomain_model_id649796.html" title="Struct template on_codomain_model&lt;Type, true&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../interval_base_map.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_codomain_model_id649796.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval_base_map.on_codomain_model_id649735"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template on_codomain_model&lt;Type, false&gt;</span></h2>
<p>boost::icl::interval_base_map::on_codomain_model&lt;Type, false&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">boost/icl/interval_base_map.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="on_codomain_model_id649735.html" title="Struct template on_codomain_model&lt;Type, false&gt;">on_codomain_model</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">false</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">interval_type</span> <a name="boost.icl.interval_base_map.on_codomain_model_id649735.interval_type"></a><span class="identifier">interval_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">codomain_type</span> <a name="boost.icl.interval_base_map.on_codomain_model_id649735.codomain_type"></a><span class="identifier">codomain_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <a name="boost.icl.interval_base_map.on_codomain_model_id649735.segment_type"></a><span class="identifier">segment_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">codomain_combine</span> <a name="boost.icl.interval_base_map.on_codomain_model_id649735.codomain_combine"></a><span class="identifier">codomain_combine</span><span class="special">;</span>
<span class="comment">// <a class="link" href="on_codomain_model_id649735.html#id649768-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="on_codomain_model_id649735.html#id649771-bb"><span class="identifier">add</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1255597"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1255600"></a><h3>
<a name="id649768-bb"></a><code class="computeroutput">on_codomain_model</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="id649771-bb"></a><span class="identifier">add</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> intersection<span class="special">,</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> common_interval<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../interval_base_map.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_codomain_model_id649796.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,72 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template on_codomain_model&lt;Type, true&gt;</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../interval_base_map.html#id1248828" title="Description">
<link rel="prev" href="on_codomain_model_id649735.html" title="Struct template on_codomain_model&lt;Type, false&gt;">
<link rel="next" href="on_definedness_Ty_id649862.html" title="Struct template on_definedness&lt;Type, false&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_codomain_model_id649735.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_definedness_Ty_id649862.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval_base_map.on_codomain_model_id649796"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template on_codomain_model&lt;Type, true&gt;</span></h2>
<p>boost::icl::interval_base_map::on_codomain_model&lt;Type, true&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">boost/icl/interval_base_map.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="on_codomain_model_id649796.html" title="Struct template on_codomain_model&lt;Type, true&gt;">on_codomain_model</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">true</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">interval_type</span> <a name="boost.icl.interval_base_map.on_codomain_model_id649796.interval_type"></a><span class="identifier">interval_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">codomain_type</span> <a name="boost.icl.interval_base_map.on_codomain_model_id649796.codomain_type"></a><span class="identifier">codomain_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <a name="boost.icl.interval_base_map.on_codomain_model_id649796.segment_type"></a><span class="identifier">segment_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">codomain_combine</span> <a name="boost.icl.interval_base_map.on_codomain_model_id649796.codomain_combine"></a><span class="identifier">codomain_combine</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">inverse_codomain_intersect</span> <a name="boost.icl.interval_base_map.on_codomain_model_id649796.inverse_codomain_intersect"></a><span class="identifier">inverse_codomain_intersect</span><span class="special">;</span>
<span class="comment">// <a class="link" href="on_codomain_model_id649796.html#id649834-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="on_codomain_model_id649796.html#id649837-bb"><span class="identifier">add</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1257119"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1257123"></a><h3>
<a name="id649834-bb"></a><code class="computeroutput">on_codomain_model</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="id649837-bb"></a><span class="identifier">add</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> intersection<span class="special">,</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> common_interval<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span> flip_value<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">codomain_type</span> <span class="special">&amp;</span> co_value<span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_codomain_model_id649735.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_definedness_Ty_id649862.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template on_definedness&lt;Type, false&gt;</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../interval_base_map.html#id1248828" title="Description">
<link rel="prev" href="on_codomain_model_id649796.html" title="Struct template on_codomain_model&lt;Type, true&gt;">
<link rel="next" href="on_definedness_Ty_id649899.html" title="Struct template on_definedness&lt;Type, true&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_codomain_model_id649796.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_definedness_Ty_id649899.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval_base_map.on_definedness_Ty_id649862"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template on_definedness&lt;Type, false&gt;</span></h2>
<p>boost::icl::interval_base_map::on_definedness&lt;Type, false&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">boost/icl/interval_base_map.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="on_definedness_Ty_id649862.html" title="Struct template on_definedness&lt;Type, false&gt;">on_definedness</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">false</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// <a class="link" href="on_definedness_Ty_id649862.html#id649876-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="on_definedness_Ty_id649862.html#id649879-bb"><span class="identifier">add_intersection</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1257396"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1257400"></a><h3>
<a name="id649876-bb"></a><code class="computeroutput">on_definedness</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="id649879-bb"></a><span class="identifier">add_intersection</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> section<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> operand<span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_codomain_model_id649796.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_definedness_Ty_id649899.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template on_definedness&lt;Type, true&gt;</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../interval_base_map.html#id1248828" title="Description">
<link rel="prev" href="on_definedness_Ty_id649862.html" title="Struct template on_definedness&lt;Type, false&gt;">
<link rel="next" href="on_invertible_Typ_id649936.html" title="Struct template on_invertible&lt;Type, false&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_definedness_Ty_id649862.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_invertible_Typ_id649936.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval_base_map.on_definedness_Ty_id649899"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template on_definedness&lt;Type, true&gt;</span></h2>
<p>boost::icl::interval_base_map::on_definedness&lt;Type, true&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">boost/icl/interval_base_map.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="on_definedness_Ty_id649899.html" title="Struct template on_definedness&lt;Type, true&gt;">on_definedness</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">true</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// <a class="link" href="on_definedness_Ty_id649899.html#id649914-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="on_definedness_Ty_id649899.html#id649916-bb"><span class="identifier">add_intersection</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1257659"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1257663"></a><h3>
<a name="id649914-bb"></a><code class="computeroutput">on_definedness</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="id649916-bb"></a><span class="identifier">add_intersection</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> section<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> operand<span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_definedness_Ty_id649862.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_invertible_Typ_id649936.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template on_invertible&lt;Type, false&gt;</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../interval_base_map.html#id1248828" title="Description">
<link rel="prev" href="on_definedness_Ty_id649899.html" title="Struct template on_definedness&lt;Type, true&gt;">
<link rel="next" href="on_invertible_Typ_id649978.html" title="Struct template on_invertible&lt;Type, true&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_definedness_Ty_id649899.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_invertible_Typ_id649978.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval_base_map.on_invertible_Typ_id649936"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template on_invertible&lt;Type, false&gt;</span></h2>
<p>boost::icl::interval_base_map::on_invertible&lt;Type, false&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">boost/icl/interval_base_map.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="on_invertible_Typ_id649936.html" title="Struct template on_invertible&lt;Type, false&gt;">on_invertible</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">false</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <a name="boost.icl.interval_base_map.on_invertible_Typ_id649936.segment_type"></a><span class="identifier">segment_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">inverse_codomain_combine</span> <a name="boost.icl.interval_base_map.on_invertible_Typ_id649936.inverse_codomain_combine"></a><span class="identifier">inverse_codomain_combine</span><span class="special">;</span>
<span class="comment">// <a class="link" href="on_invertible_Typ_id649936.html#id649960-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="on_invertible_Typ_id649936.html#id649963-bb"><span class="identifier">subtract</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1257964"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1257968"></a><h3>
<a name="id649960-bb"></a><code class="computeroutput">on_invertible</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="id649963-bb"></a><span class="identifier">subtract</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> operand<span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_definedness_Ty_id649899.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_invertible_Typ_id649978.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template on_invertible&lt;Type, true&gt;</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../interval_base_map.html#id1248828" title="Description">
<link rel="prev" href="on_invertible_Typ_id649936.html" title="Struct template on_invertible&lt;Type, false&gt;">
<link rel="next" href="on_total_absorbab_id650020.html" title="Struct template on_total_absorbable&lt;Type, false, absorbs_identities&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_invertible_Typ_id649936.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_total_absorbab_id650020.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval_base_map.on_invertible_Typ_id649978"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template on_invertible&lt;Type, true&gt;</span></h2>
<p>boost::icl::interval_base_map::on_invertible&lt;Type, true&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">boost/icl/interval_base_map.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="on_invertible_Typ_id649978.html" title="Struct template on_invertible&lt;Type, true&gt;">on_invertible</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">true</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <a name="boost.icl.interval_base_map.on_invertible_Typ_id649978.segment_type"></a><span class="identifier">segment_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">inverse_codomain_combine</span> <a name="boost.icl.interval_base_map.on_invertible_Typ_id649978.inverse_codomain_combine"></a><span class="identifier">inverse_codomain_combine</span><span class="special">;</span>
<span class="comment">// <a class="link" href="on_invertible_Typ_id649978.html#id650002-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="on_invertible_Typ_id649978.html#id650005-bb"><span class="identifier">subtract</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1258250"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1258253"></a><h3>
<a name="id650002-bb"></a><code class="computeroutput">on_invertible</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="id650005-bb"></a><span class="identifier">subtract</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> operand<span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_invertible_Typ_id649936.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_total_absorbab_id650020.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,71 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template on_total_absorbable&lt;Type, false, absorbs_identities&gt;</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../interval_base_map.html#id1248828" title="Description">
<link rel="prev" href="on_invertible_Typ_id649978.html" title="Struct template on_invertible&lt;Type, true&gt;">
<link rel="next" href="on_total_absorbab_id650095.html" title="Struct template on_total_absorbable&lt;Type, true, false&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_invertible_Typ_id649978.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_total_absorbab_id650095.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval_base_map.on_total_absorbab_id650020"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template on_total_absorbable&lt;Type, false, absorbs_identities&gt;</span></h2>
<p>boost::icl::interval_base_map::on_total_absorbable&lt;Type, false, absorbs_identities&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">boost/icl/interval_base_map.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">,</span> <span class="keyword">bool</span> absorbs_identities<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="on_total_absorbab_id650020.html" title="Struct template on_total_absorbable&lt;Type, false, absorbs_identities&gt;">on_total_absorbable</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">false</span><span class="special">,</span> <span class="identifier">absorbs_identities</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <a name="boost.icl.interval_base_map.on_total_absorbab_id650020.segment_type"></a><span class="identifier">segment_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">codomain_type</span> <a name="boost.icl.interval_base_map.on_total_absorbab_id650020.codomain_type"></a><span class="identifier">codomain_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">interval_type</span> <a name="boost.icl.interval_base_map.on_total_absorbab_id650020.interval_type"></a><span class="identifier">interval_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">value_type</span> <a name="boost.icl.interval_base_map.on_total_absorbab_id650020.value_type"></a><span class="identifier">value_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">const_iterator</span> <a name="boost.icl.interval_base_map.on_total_absorbab_id650020.const_iterator"></a><span class="identifier">const_iterator</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">set_type</span> <a name="boost.icl.interval_base_map.on_total_absorbab_id650020.set_type"></a><span class="identifier">set_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">inverse_codomain_intersect</span> <a name="boost.icl.interval_base_map.on_total_absorbab_id650020.inverse_codomain_intersect"></a><span class="identifier">inverse_codomain_intersect</span><span class="special">;</span>
<span class="comment">// <a class="link" href="on_total_absorbab_id650020.html#id650077-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="on_total_absorbab_id650020.html#id650079-bb"><span class="identifier">flip</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1258692"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1258696"></a><h3>
<a name="id650077-bb"></a><code class="computeroutput">on_total_absorbable</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="id650079-bb"></a><span class="identifier">flip</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> interval_value_pair<span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_invertible_Typ_id649978.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_total_absorbab_id650095.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template on_total_absorbable&lt;Type, true, false&gt;</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../interval_base_map.html#id1248828" title="Description">
<link rel="prev" href="on_total_absorbab_id650020.html" title="Struct template on_total_absorbable&lt;Type, false, absorbs_identities&gt;">
<link rel="next" href="on_total_absorbab_id650139.html" title="Struct template on_total_absorbable&lt;Type, true, true&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_total_absorbab_id650020.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_total_absorbab_id650139.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval_base_map.on_total_absorbab_id650095"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template on_total_absorbable&lt;Type, true, false&gt;</span></h2>
<p>boost::icl::interval_base_map::on_total_absorbable&lt;Type, true, false&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">boost/icl/interval_base_map.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="on_total_absorbab_id650095.html" title="Struct template on_total_absorbable&lt;Type, true, false&gt;">on_total_absorbable</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">true</span><span class="special">,</span> <span class="keyword">false</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <a name="boost.icl.interval_base_map.on_total_absorbab_id650095.segment_type"></a><span class="identifier">segment_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">codomain_type</span> <a name="boost.icl.interval_base_map.on_total_absorbab_id650095.codomain_type"></a><span class="identifier">codomain_type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="on_total_absorbab_id650095.html#id650121-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="on_total_absorbab_id650095.html#id650124-bb"><span class="identifier">flip</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1258985"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1258989"></a><h3>
<a name="id650121-bb"></a><code class="computeroutput">on_total_absorbable</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="id650124-bb"></a><span class="identifier">flip</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> operand<span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_total_absorbab_id650020.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="on_total_absorbab_id650139.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,63 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template on_total_absorbable&lt;Type, true, true&gt;</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../interval_base_map.html#id1248828" title="Description">
<link rel="prev" href="on_total_absorbab_id650095.html" title="Struct template on_total_absorbable&lt;Type, true, false&gt;">
<link rel="next" href="../is_map_icl_interv_id652893.html" title="Struct template is_map&lt;icl::interval_base_map&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_total_absorbab_id650095.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_map_icl_interv_id652893.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval_base_map.on_total_absorbab_id650139"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template on_total_absorbable&lt;Type, true, true&gt;</span></h2>
<p>boost::icl::interval_base_map::on_total_absorbable&lt;Type, true, true&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../../header/boost/icl/interval_base_map_hpp.html" title="Header &lt;boost/icl/interval_base_map.hpp&gt;">boost/icl/interval_base_map.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Type<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="on_total_absorbab_id650139.html" title="Struct template on_total_absorbable&lt;Type, true, true&gt;">on_total_absorbable</a><span class="special">&lt;</span><span class="identifier">Type</span><span class="special">,</span> <span class="keyword">true</span><span class="special">,</span> <span class="keyword">true</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// <a class="link" href="on_total_absorbab_id650139.html#id650156-bb">public static functions</a></span>
<span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="on_total_absorbab_id650139.html#id650158-bb"><span class="identifier">flip</span></a><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1263634"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1263638"></a><h3>
<a name="id650156-bb"></a><code class="computeroutput">on_total_absorbable</code> public static functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="id650158-bb"></a><span class="identifier">flip</span><span class="special">(</span><span class="identifier">Type</span> <span class="special">&amp;</span> object<span class="special">,</span> <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Type</span><span class="special">::</span><span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="on_total_absorbab_id650095.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../interval_base_map.html#id1248828"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_map_icl_interv_id652893.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,310 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template interval_base_set</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../header/boost/icl/interval_base_set_hpp.html" title="Header &lt;boost/icl/interval_base_set.hpp&gt;">
<link rel="prev" href="../../header/boost/icl/interval_base_set_hpp.html" title="Header &lt;boost/icl/interval_base_set.hpp&gt;">
<link rel="next" href="is_set_icl_interv_id654405.html" title="Struct template is_set&lt;icl::interval_base_set&lt; SubType, DomainT, Compare, Interval, Alloc &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/interval_base_set_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_base_set_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_set_icl_interv_id654405.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval_base_set"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template interval_base_set</span></h2>
<p>boost::icl::interval_base_set &#8212; Implements a set as a set of intervals (base class). </p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../header/boost/icl/interval_base_set_hpp.html" title="Header &lt;boost/icl/interval_base_set.hpp&gt;">boost/icl/interval_base_set.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> SubType<span class="special">,</span> <span class="keyword">typename</span> DomainT<span class="special">,</span>
<span class="identifier">ICL_COMPARE</span> Compare <span class="special">=</span> <span class="identifier">ICL_COMPARE_INSTANCE</span><span class="special">(</span><span class="identifier">ICL_COMPARE_DEFAULT</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">,</span>
<span class="identifier">ICL_INTERVAL</span><span class="special">(</span><span class="identifier">ICL_COMPARE</span><span class="special">)</span> Interval <span class="special">=</span> <span class="identifier">ICL_INTERVAL_INSTANCE</span><span class="special">(</span><span class="identifier">ICL_INTERVAL_DEFAULT</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">)</span><span class="special">,</span>
<span class="identifier">ICL_ALLOC</span> Alloc <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&gt;</span>
<span class="keyword">class</span> <a class="link" href="interval_base_set.html" title="Class template interval_base_set">interval_base_set</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <a class="link" href="interval_base_set.html" title="Class template interval_base_set">interval_base_set</a><span class="special">&lt;</span> <span class="identifier">SubType</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">Alloc</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_set.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">SubType</span> <a name="boost.icl.interval_base_set.sub_type"></a><span class="identifier">sub_type</span><span class="special">;</span> <span class="comment">// The designated <span class="emphasis"><em>derived</em></span> or <span class="emphasis"><em>sub_type</em></span> of this base class. </span>
<span class="keyword">typedef</span> <a class="link" href="interval_base_set.html#boost.icl.interval_base_set.type">type</a> <a name="boost.icl.interval_base_set.overloadable_type"></a><span class="identifier">overloadable_type</span><span class="special">;</span> <span class="comment">// Auxilliary type for overloadresolution. </span>
<span class="keyword">typedef</span> <span class="identifier">DomainT</span> <a name="boost.icl.interval_base_set.domain_type"></a><span class="identifier">domain_type</span><span class="special">;</span> <span class="comment">// The domain type of the set. </span>
<span class="keyword">typedef</span> <span class="identifier">DomainT</span> <a name="boost.icl.interval_base_set.codomain_type"></a><span class="identifier">codomain_type</span><span class="special">;</span> <span class="comment">// The codomaintype is the same as domain_type. </span>
<span class="keyword">typedef</span> <span class="identifier">DomainT</span> <a name="boost.icl.interval_base_set.element_type"></a><span class="identifier">element_type</span><span class="special">;</span> <span class="comment">// The element type of the set. </span>
<span class="keyword">typedef</span> <span class="identifier">interval_type</span> <a name="boost.icl.interval_base_set.segment_type"></a><span class="identifier">segment_type</span><span class="special">;</span> <span class="comment">// The segment type of the set. </span>
<span class="keyword">typedef</span> <span class="identifier">difference_type_of</span><span class="special">&lt;</span> <span class="identifier">domain_type</span> <span class="special">&gt;</span><span class="special">::</span><a class="link" href="interval_base_set.html#boost.icl.interval_base_set.type">type</a> <a name="boost.icl.interval_base_set.difference_type"></a><span class="identifier">difference_type</span><span class="special">;</span> <span class="comment">// The difference type of an interval which is sometimes different form the data_type. </span>
<span class="keyword">typedef</span> <span class="identifier">size_type_of</span><span class="special">&lt;</span> <span class="identifier">domain_type</span> <span class="special">&gt;</span><span class="special">::</span><a class="link" href="interval_base_set.html#boost.icl.interval_base_set.type">type</a> <a name="boost.icl.interval_base_set.size_type"></a><span class="identifier">size_type</span><span class="special">;</span> <span class="comment">// The size type of an interval which is mostly std::size_t. </span>
<span class="keyword">typedef</span> <span class="identifier">exclusive_less_than</span><span class="special">&lt;</span> <span class="identifier">interval_type</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_set.interval_compare"></a><span class="identifier">interval_compare</span><span class="special">;</span> <span class="comment">// Comparison functor for intervals. </span>
<span class="keyword">typedef</span> <span class="identifier">exclusive_less_than</span><span class="special">&lt;</span> <span class="identifier">interval_type</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_set.key_compare"></a><span class="identifier">key_compare</span><span class="special">;</span> <span class="comment">// Comparison functor for keys. </span>
<span class="keyword">typedef</span> <span class="identifier">ICL_IMPL_SPACE</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">domain_compare</span><span class="special">,</span> <span class="identifier">Alloc</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_set.atomized_type"></a><span class="identifier">atomized_type</span><span class="special">;</span> <span class="comment">// The atomized type representing the corresponding container of elements. </span>
<span class="keyword">typedef</span> <span class="identifier">Alloc</span><span class="special">&lt;</span> <span class="identifier">interval_type</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_set.allocator_type"></a><span class="identifier">allocator_type</span><span class="special">;</span> <span class="comment">// The allocator type of the set. </span>
<span class="keyword">typedef</span> <span class="identifier">Alloc</span><span class="special">&lt;</span> <span class="identifier">DomainT</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_set.domain_allocator_type"></a><span class="identifier">domain_allocator_type</span><span class="special">;</span> <span class="comment">// allocator type of the corresponding element set </span>
<span class="keyword">typedef</span> <span class="identifier">ICL_IMPL_SPACE</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span> <span class="identifier">interval_type</span><span class="special">,</span> <span class="identifier">key_compare</span><span class="special">,</span> <span class="identifier">allocator_type</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_set.ImplSetT"></a><span class="identifier">ImplSetT</span><span class="special">;</span> <span class="comment">// Container type for the implementation. </span>
<span class="keyword">typedef</span> <span class="identifier">ImplSetT</span><span class="special">::</span><span class="identifier">key_type</span> <a name="boost.icl.interval_base_set.key_type"></a><span class="identifier">key_type</span><span class="special">;</span> <span class="comment">// key type of the implementing container </span>
<span class="keyword">typedef</span> <span class="identifier">ImplSetT</span><span class="special">::</span><span class="identifier">key_type</span> <a name="boost.icl.interval_base_set.data_type"></a><span class="identifier">data_type</span><span class="special">;</span> <span class="comment">// data type of the implementing container </span>
<span class="keyword">typedef</span> <span class="identifier">ImplSetT</span><span class="special">::</span><span class="identifier">value_type</span> <a name="boost.icl.interval_base_set.value_type"></a><span class="identifier">value_type</span><span class="special">;</span> <span class="comment">// value type of the implementing container </span>
<span class="keyword">typedef</span> <span class="identifier">ImplSetT</span><span class="special">::</span><span class="identifier">pointer</span> <a name="boost.icl.interval_base_set.pointer"></a><span class="identifier">pointer</span><span class="special">;</span> <span class="comment">// pointer type </span>
<span class="keyword">typedef</span> <span class="identifier">ImplSetT</span><span class="special">::</span><span class="identifier">const_pointer</span> <a name="boost.icl.interval_base_set.const_pointer"></a><span class="identifier">const_pointer</span><span class="special">;</span> <span class="comment">// const pointer type </span>
<span class="keyword">typedef</span> <span class="identifier">ImplSetT</span><span class="special">::</span><span class="identifier">reference</span> <a name="boost.icl.interval_base_set.reference"></a><span class="identifier">reference</span><span class="special">;</span> <span class="comment">// reference type </span>
<span class="keyword">typedef</span> <span class="identifier">ImplSetT</span><span class="special">::</span><span class="identifier">const_reference</span> <a name="boost.icl.interval_base_set.const_reference"></a><span class="identifier">const_reference</span><span class="special">;</span> <span class="comment">// const reference type </span>
<span class="keyword">typedef</span> <span class="identifier">ImplSetT</span><span class="special">::</span><span class="identifier">iterator</span> <a name="boost.icl.interval_base_set.iterator"></a><span class="identifier">iterator</span><span class="special">;</span> <span class="comment">// iterator for iteration over intervals </span>
<span class="keyword">typedef</span> <span class="identifier">ImplSetT</span><span class="special">::</span><span class="identifier">const_iterator</span> <a name="boost.icl.interval_base_set.const_iterator"></a><span class="identifier">const_iterator</span><span class="special">;</span> <span class="comment">// const_iterator for iteration over intervals </span>
<span class="keyword">typedef</span> <span class="identifier">ImplSetT</span><span class="special">::</span><span class="identifier">reverse_iterator</span> <a name="boost.icl.interval_base_set.reverse_iterator"></a><span class="identifier">reverse_iterator</span><span class="special">;</span> <span class="comment">// iterator for reverse iteration over intervals </span>
<span class="keyword">typedef</span> <span class="identifier">ImplSetT</span><span class="special">::</span><span class="identifier">const_reverse_iterator</span> <a name="boost.icl.interval_base_set.const_reverse_iterator"></a><span class="identifier">const_reverse_iterator</span><span class="special">;</span> <span class="comment">// const_iterator for iteration over intervals </span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">element_iterator</span><span class="special">&lt;</span> <span class="identifier">iterator</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_set.element_iterator"></a><span class="identifier">element_iterator</span><span class="special">;</span> <span class="comment">// element iterator: Depreciated, see documentation. </span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">element_iterator</span><span class="special">&lt;</span> <span class="identifier">const_iterator</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_set.element_const_iterator"></a><span class="identifier">element_const_iterator</span><span class="special">;</span> <span class="comment">// element const iterator: Depreciated, see documentation. </span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">element_iterator</span><span class="special">&lt;</span> <span class="identifier">reverse_iterator</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_set.element_reverse_iterator"></a><span class="identifier">element_reverse_iterator</span><span class="special">;</span> <span class="comment">// element reverse iterator: Depreciated, see documentation. </span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">icl</span><span class="special">::</span><span class="identifier">element_iterator</span><span class="special">&lt;</span> <span class="identifier">const_reverse_iterator</span> <span class="special">&gt;</span> <a name="boost.icl.interval_base_set.element_const_rev_id653664"></a><span class="identifier">element_const_reverse_iterator</span><span class="special">;</span> <span class="comment">// element const reverse iterator: Depreciated, see documentation. </span>
<span class="comment">// <a class="link" href="interval_base_set.html#boost.icl.interval_base_setconstruct-copy-destruct">construct/copy/destruct</a></span>
<a class="link" href="interval_base_set.html#id654239-bb"><span class="identifier">interval_base_set</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="interval_base_set.html#id654244-bb"><span class="identifier">interval_base_set</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="interval_base_set.html" title="Class template interval_base_set">interval_base_set</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="interval_base_set.html#id654270-bb"><span class="identifier">interval_base_set</span></a><span class="special">(</span><a class="link" href="interval_base_set.html" title="Class template interval_base_set">interval_base_set</a> <span class="special">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
interval_base_set&amp; <a class="link" href="interval_base_set.html#id654257-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="interval_base_set.html" title="Class template interval_base_set">interval_base_set</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
interval_base_set&amp; <a class="link" href="interval_base_set.html#id654282-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="interval_base_set.html" title="Class template interval_base_set">interval_base_set</a> <span class="special">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_set.html#id653672-bb">public member functions</a></span>
<span class="keyword">typedef</span> <a class="link" href="interval_base_set.html#id653674-bb"><span class="identifier">ICL_INTERVAL_TYPE</span></a><span class="special">(</span><span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">typedef</span> <a class="link" href="interval_base_set.html#id653697-bb"><span class="identifier">ICL_COMPARE_DOMAIN</span></a><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">typedef</span> <a class="link" href="interval_base_set.html#id653715-bb"><span class="identifier">ICL_COMPARE_DOMAIN</span></a><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">segment_type</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="interval_base_set.html#id653730-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">fineness</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_set.html#id653747-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="interval_base_set.html" title="Class template interval_base_set">interval_base_set</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_set.html#id653764-bb"><span class="identifier">clear</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="interval_base_set.html#id653774-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">size_type</span> <a class="link" href="interval_base_set.html#id653783-bb"><span class="identifier">size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="interval_base_set.html#id653793-bb"><span class="identifier">iterative_size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="interval_base_set.html#id653802-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="interval_base_set.html#id653820-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_set.html#id653838-bb"><span class="identifier">add</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_set.html#id653856-bb"><span class="identifier">add</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_set.html#id653874-bb"><span class="identifier">add</span></a><span class="special">(</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_set.html#id653904-bb"><span class="identifier">subtract</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_set.html#id653922-bb"><span class="identifier">subtract</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_set.html#id653940-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_set.html#id653958-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_set.html#id653976-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_set.html#id654006-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_set.html#id654024-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_set.html#id654042-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">iterator</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_set.html#id654060-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">iterator</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_set.html#id654083-bb"><span class="identifier">flip</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">SubType</span> <span class="special">&amp;</span> <a class="link" href="interval_base_set.html#id654105-bb"><span class="identifier">flip</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_set.html#id654126-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_set.html#id654132-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="interval_base_set.html#id654138-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="interval_base_set.html#id654144-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">reverse_iterator</span> <a class="link" href="interval_base_set.html#id654150-bb"><span class="identifier">rbegin</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">reverse_iterator</span> <a class="link" href="interval_base_set.html#id654156-bb"><span class="identifier">rend</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_reverse_iterator</span> <a class="link" href="interval_base_set.html#id654162-bb"><span class="identifier">rbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">const_reverse_iterator</span> <a class="link" href="interval_base_set.html#id654168-bb"><span class="identifier">rend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_set.html#id654174-bb"><span class="identifier">lower_bound</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_set.html#id654185-bb"><span class="identifier">upper_bound</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="interval_base_set.html#id654196-bb"><span class="identifier">lower_bound</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="interval_base_set.html#id654207-bb"><span class="identifier">upper_bound</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&gt;</span> <a class="link" href="interval_base_set.html#id654218-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="special">&gt;</span>
<a class="link" href="interval_base_set.html#id654228-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_set.html#id654294-bb">private member functions</a></span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_set.html#id654297-bb"><span class="identifier">_add</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="interval_base_set.html#id654308-bb"><span class="identifier">_add</span></a><span class="special">(</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_base_set.html#id654323-bb">protected member functions</a></span>
<span class="keyword">void</span> <a class="link" href="interval_base_set.html#id654326-bb"><span class="identifier">add_front</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_set.html#id654341-bb"><span class="identifier">add_main</span></a><span class="special">(</span><span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_set.html#id654362-bb"><span class="identifier">add_segment</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="interval_base_set.html#id654377-bb"><span class="identifier">add_rear</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">sub_type</span> <span class="special">*</span> <a class="link" href="interval_base_set.html#id654393-bb"><span class="identifier">that</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">const</span> <span class="identifier">sub_type</span> <span class="special">*</span> <a class="link" href="interval_base_set.html#id654399-bb"><span class="identifier">that</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1273517"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1273521"></a><h3>
<a name="boost.icl.interval_base_setconstruct-copy-destruct"></a><code class="computeroutput">interval_base_set</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol type="1">
<li>
<pre class="literallayout"><a name="id654239-bb"></a><span class="identifier">interval_base_set</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>Default constructor for the empty object </p>
</li>
<li>
<pre class="literallayout"><a name="id654244-bb"></a><span class="identifier">interval_base_set</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="interval_base_set.html" title="Class template interval_base_set">interval_base_set</a> <span class="special">&amp;</span> src<span class="special">)</span><span class="special">;</span></pre>
<p>Copy constructor </p>
</li>
<li>
<pre class="literallayout"><a name="id654270-bb"></a><span class="identifier">interval_base_set</span><span class="special">(</span><a class="link" href="interval_base_set.html" title="Class template interval_base_set">interval_base_set</a> <span class="special">&amp;&amp;</span> src<span class="special">)</span><span class="special">;</span></pre>
<p>Move constructor </p>
</li>
<li>
<pre class="literallayout">interval_base_set&amp; <a name="id654257-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="interval_base_set.html" title="Class template interval_base_set">interval_base_set</a> <span class="special">&amp;</span> src<span class="special">)</span><span class="special">;</span></pre>
<p>Assignment operator </p>
</li>
<li>
<pre class="literallayout">interval_base_set&amp; <a name="id654282-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="interval_base_set.html" title="Class template interval_base_set">interval_base_set</a> <span class="special">&amp;&amp;</span> src<span class="special">)</span><span class="special">;</span></pre>
<p>Move assignment operator </p>
</li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1273718"></a><h3>
<a name="id653672-bb"></a><code class="computeroutput">interval_base_set</code> public member functions</h3>
<div class="orderedlist"><ol type="1">
<li>
<pre class="literallayout"><span class="keyword">typedef</span> <a name="id653674-bb"></a><span class="identifier">ICL_INTERVAL_TYPE</span><span class="special">(</span><span class="identifier">Interval</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">)</span><span class="special">;</span></pre>The interval type of the set. </li>
<li>
<pre class="literallayout"><span class="keyword">typedef</span> <a name="id653697-bb"></a><span class="identifier">ICL_COMPARE_DOMAIN</span><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">DomainT</span><span class="special">)</span><span class="special">;</span></pre>Comparison functor for domain values. </li>
<li><pre class="literallayout"><span class="keyword">typedef</span> <a name="id653715-bb"></a><span class="identifier">ICL_COMPARE_DOMAIN</span><span class="special">(</span><span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">segment_type</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"> <a name="id653730-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">fineness</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span></pre></li>
<li>
<pre class="literallayout"><span class="keyword">void</span> <a name="id653747-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="interval_base_set.html" title="Class template interval_base_set">interval_base_set</a> <span class="special">&amp;</span> operand<span class="special">)</span><span class="special">;</span></pre>
<p>swap the content of containers </p>
</li>
<li>
<pre class="literallayout"><span class="keyword">void</span> <a name="id653764-bb"></a><span class="identifier">clear</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>sets the container empty </p>
</li>
<li>
<pre class="literallayout"><span class="keyword">bool</span> <a name="id653774-bb"></a><span class="identifier">empty</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>is the container empty? </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">size_type</span> <a name="id653783-bb"></a><span class="identifier">size</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>An interval set's size is it's cardinality </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="id653793-bb"></a><span class="identifier">iterative_size</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>Size of the iteration over this container </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id653802-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> key_value<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>Find the interval, that contains element <code class="computeroutput">key_value</code> </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id653820-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> key_interval<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>Find the first interval, that collides with interval <code class="computeroutput">key_interval</code> </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id653838-bb"></a><span class="identifier">add</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> key<span class="special">)</span><span class="special">;</span></pre>
<p>Add a single element <code class="computeroutput">key</code> to the set </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id653856-bb"></a><span class="identifier">add</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> inter_val<span class="special">)</span><span class="special">;</span></pre>
<p>Add an interval of elements <code class="computeroutput">inter_val</code> to the set </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">iterator</span> <a name="id653874-bb"></a><span class="identifier">add</span><span class="special">(</span><span class="identifier">iterator</span> prior_<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> inter_val<span class="special">)</span><span class="special">;</span></pre>
<p>Add an interval of elements <code class="computeroutput">inter_val</code> to the set. Iterator <code class="computeroutput">prior_</code> is a hint to the position <code class="computeroutput">inter_val</code> can be inserted after. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id653904-bb"></a><span class="identifier">subtract</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> key<span class="special">)</span><span class="special">;</span></pre>
<p>Subtract a single element <code class="computeroutput">key</code> from the set </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id653922-bb"></a><span class="identifier">subtract</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> inter_val<span class="special">)</span><span class="special">;</span></pre>
<p>Subtract an interval of elements <code class="computeroutput">inter_val</code> from the set </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id653940-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> key<span class="special">)</span><span class="special">;</span></pre>
<p>Insert an element <code class="computeroutput">key</code> into the set </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id653958-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> inter_val<span class="special">)</span><span class="special">;</span></pre>
<p>Insert an interval of elements <code class="computeroutput">inter_val</code> to the set </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">iterator</span> <a name="id653976-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">iterator</span> prior_<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> inter_val<span class="special">)</span><span class="special">;</span></pre>
<p>Insert an interval of elements <code class="computeroutput">inter_val</code> to the set. Iterator <code class="computeroutput">prior_</code> is a hint to the position <code class="computeroutput">inter_val</code> can be inserted after. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id654006-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> key<span class="special">)</span><span class="special">;</span></pre>
<p>Erase an element <code class="computeroutput">key</code> from the set </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id654024-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> inter_val<span class="special">)</span><span class="special">;</span></pre>
<p>Erase an interval of elements <code class="computeroutput">inter_val</code> from the set </p>
</li>
<li>
<pre class="literallayout"><span class="keyword">void</span> <a name="id654042-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">iterator</span> position<span class="special">)</span><span class="special">;</span></pre>
<p>Erase the interval that iterator <code class="computeroutput">position</code> points to. </p>
</li>
<li>
<pre class="literallayout"><span class="keyword">void</span> <a name="id654060-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">iterator</span> first<span class="special">,</span> <span class="identifier">iterator</span> past<span class="special">)</span><span class="special">;</span></pre>
<p>Erase all intervals in the range <code class="computeroutput">[first,past)</code> of iterators. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id654083-bb"></a><span class="identifier">flip</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">element_type</span> <span class="special">&amp;</span> key<span class="special">)</span><span class="special">;</span></pre>
<p>If <code class="computeroutput">*this</code> set contains <code class="computeroutput">key</code> it is erased, otherwise it is added. </p>
</li>
<li>
<pre class="literallayout"><span class="identifier">SubType</span> <span class="special">&amp;</span> <a name="id654105-bb"></a><span class="identifier">flip</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> inter_val<span class="special">)</span><span class="special">;</span></pre>
<p>If <code class="computeroutput">*this</code> set contains <code class="computeroutput">inter_val</code> it is erased, otherwise it is added. </p>
</li>
<li><pre class="literallayout"><span class="identifier">iterator</span> <a name="id654126-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">iterator</span> <a name="id654132-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id654138-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id654144-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">reverse_iterator</span> <a name="id654150-bb"></a><span class="identifier">rbegin</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">reverse_iterator</span> <a name="id654156-bb"></a><span class="identifier">rend</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="id654162-bb"></a><span class="identifier">rbegin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="id654168-bb"></a><span class="identifier">rend</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">iterator</span> <a name="id654174-bb"></a><span class="identifier">lower_bound</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span> <span class="special">&amp;</span> interval<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">iterator</span> <a name="id654185-bb"></a><span class="identifier">upper_bound</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span> <span class="special">&amp;</span> interval<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id654196-bb"></a><span class="identifier">lower_bound</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span> <span class="special">&amp;</span> interval<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id654207-bb"></a><span class="identifier">upper_bound</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span> <span class="special">&amp;</span> interval<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&gt;</span> <a name="id654218-bb"></a><span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span> interval<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="special">&gt;</span>
<a name="id654228-bb"></a><span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&amp;</span> interval<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1275534"></a><h3>
<a name="id654294-bb"></a><code class="computeroutput">interval_base_set</code> private member functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="identifier">iterator</span> <a name="id654297-bb"></a><span class="identifier">_add</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> addend<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">iterator</span> <a name="id654308-bb"></a><span class="identifier">_add</span><span class="special">(</span><span class="identifier">iterator</span> prior<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">segment_type</span> <span class="special">&amp;</span> addend<span class="special">)</span><span class="special">;</span></pre></li>
</ol></div>
</div>
<div class="refsect2" lang="en">
<a name="id1275641"></a><h3>
<a name="id654323-bb"></a><code class="computeroutput">interval_base_set</code> protected member functions</h3>
<div class="orderedlist"><ol type="1">
<li><pre class="literallayout"><span class="keyword">void</span> <a name="id654326-bb"></a><span class="identifier">add_front</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span> first_<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">void</span> <a name="id654341-bb"></a><span class="identifier">add_main</span><span class="special">(</span><span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span> it_<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">iterator</span> <span class="special">&amp;</span> last_<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">void</span> <a name="id654362-bb"></a><span class="identifier">add_segment</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span> it_<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">void</span> <a name="id654377-bb"></a><span class="identifier">add_rear</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">interval_type</span> <span class="special">&amp;</span> inter_val<span class="special">,</span> <span class="identifier">iterator</span> <span class="special">&amp;</span> it_<span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="identifier">sub_type</span> <span class="special">*</span> <a name="id654393-bb"></a><span class="identifier">that</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
<li><pre class="literallayout"><span class="keyword">const</span> <span class="identifier">sub_type</span> <span class="special">*</span> <a name="id654399-bb"></a><span class="identifier">that</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../header/boost/icl/interval_base_set_hpp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../header/boost/icl/interval_base_set_hpp.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_set_icl_interv_id654405.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Struct template interval_bound_type&lt;closed_interval&lt; DomainT, Compare &gt;&gt;</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Icl">
<link rel="up" href="../../interval_container_library_reference.html#header.boost.icl.closed_interval_hpp" title="Header &lt;boost/icl/closed_interval.hpp&gt;">
<link rel="prev" href="interval_traits_i_id644877.html" title="Struct template interval_traits&lt;icl::closed_interval&lt; DomainT, Compare &gt;&gt;">
<link rel="next" href="type_to_string_ic_id645009.html" title="Struct template type_to_string&lt;icl::closed_interval&lt; DomainT, Compare &gt;&gt;">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="interval_traits_i_id644877.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../interval_container_library_reference.html#header.boost.icl.closed_interval_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_to_string_ic_id645009.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry" lang="en">
<a name="boost.icl.interval_bound_ty_id644965"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Struct template interval_bound_type&lt;closed_interval&lt; DomainT, Compare &gt;&gt;</span></h2>
<p>boost::icl::interval_bound_type&lt;closed_interval&lt; DomainT, Compare &gt;&gt;</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../interval_container_library_reference.html#header.boost.icl.closed_interval_hpp" title="Header &lt;boost/icl/closed_interval.hpp&gt;">boost/icl/closed_interval.hpp</a>&gt;
</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> DomainT<span class="special">,</span> <span class="identifier">ICL_COMPARE</span> Compare<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="interval_bound_ty_id644965.html" title="Struct template interval_bound_type&lt;closed_interval&lt; DomainT, Compare &gt;&gt;">interval_bound_type</a><span class="special">&lt;</span><span class="identifier">closed_interval</span><span class="special">&lt;</span> <span class="identifier">DomainT</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="special">&gt;</span><span class="special">&gt;</span> <span class="special">{</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">interval_bound_type</span> <a name="boost.icl.interval_bound_ty_id644965.type"></a><span class="identifier">type</span><span class="special">;</span>
<span class="comment">// <a class="link" href="interval_bound_ty_id644965.html#id644990-bb">public member functions</a></span>
<a class="link" href="interval_bound_ty_id644965.html#id644993-bb"><span class="identifier">BOOST_STATIC_CONSTANT</span></a><span class="special">(</span><span class="identifier">bound_type</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">interval_bounds</span><span class="special">::</span><span class="identifier">static_closed</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1" lang="en">
<a name="id1198246"></a><h2>Description</h2>
<div class="refsect2" lang="en">
<a name="id1198250"></a><h3>
<a name="id644990-bb"></a><code class="computeroutput">interval_bound_type</code> public member functions</h3>
<div class="orderedlist"><ol type="1"><li><pre class="literallayout"> <a name="id644993-bb"></a><span class="identifier">BOOST_STATIC_CONSTANT</span><span class="special">(</span><span class="identifier">bound_type</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">interval_bounds</span><span class="special">::</span><span class="identifier">static_closed</span><span class="special">)</span><span class="special">;</span></pre></li></ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2007 -2010 Joachim Faulhaber<br>Copyright &#169; 1999 -2006 Cortex Software GmbH<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="interval_traits_i_id644877.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../interval_container_library_reference.html#header.boost.icl.closed_interval_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_to_string_ic_id645009.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More