Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Associated Types

In order to give an overview over associated types the itl works with, we will apply abbreviations again that were introduced in the presentaiton of itl class templates,

interval     <D,       cp,             >
interval_sets<D,       cp,        i, a >
itl::set     <D,       cp,           a >
std::set     <D,       Cp,           Ad>
interval_maps<D, C, T, cp, cb, s, i, a >
itl::map     <D, C, T, cp, cb, s,    a >
std::map     <D, C     Cp,           Av>

where these placeholders were used:

D  := class DomainT,
C  := class CodomainT,
T  := class Traits,
Cp := class Compare = std::less<DomainT>,
cp := template<class D>class Compare = std::less,
cb := template<class C>class Combine = itl::inplace_plus,
s  := template<class C>class Section = itl::inplace_et,
i  := template<class D,template<class>class cp>class Interval = itl::interval
Ad := class Alloc = std::allocator<DomainT>
Av := class Alloc = std::allocator<std::pair<DomainT,CodomainT> >
a  := template<class>class Alloc = std::allocator

With some additions,

sz := template<class D>class size
df := template<class D>class difference
Xl := class ExclusiveLess = exclusive_less<Interval<DomainT,Compare> >
inv:= template<class Combiner>class inverse
(T,U) := std::pair<T,U> for typnames T,U

we can summarize the associated types as follows. Again two additional columns for easy comparison with stl sets and maps are provided.

Table 1.9. Itl Associated types

Purpose

Aspect

Type

interval

interval
sets

interval
maps

itl::set

itl::map

std::set

std::map

Data

fundamental

domain_type

D

D

D

D

D

codomain_type

D

D

C

D

C

element_type

D

D

(D,C)

D

(D,C)

segment_type

i<D,cp>

i<D,cp>

(i<D,cp>,C)

size

size_type

sz<D>

sz<D>

sz<D>

size_t

size_t

difference_type

df<D>

df<D>

df<D>

size_t

size_t

interval

interval
sets

interval
maps

itl::set

itl::map

std::set

std::map

Data

segmental

key_type

D

i<D,cp>

i<D,cp>

D

D

D

D

data_type

D

i<D,cp>

C

D

C

D

D

value_type

D

i<D,cp>

(i<D,cp>,C)

D

(D,C)

D

(D,C)

interval_type

i<D,cp>

i<D,cp>

i<D,cp>

allocation

allocator_type

a<i<D,cp>>

a<(i<D,cp>, C)>

a<D>

a<(D,C)>

Ad

Av

interval

interval
sets

interval
maps

itl::set

itl::map

std::set

std::map

Ordering

fundamental

domain_compare

cp<D>

cp<D>

cp<D>

cp<D>

cp<D>

segmental

key_compare

cp<D>

Xl

Xl

cp<D>

cp<D>

Cp

Cp

interval_compare

Xl

Xl

Aggregation

fundamental

codomain_combine

cb<C>

cb<C>

inverse_codomain_combine

inv<cb<C>>

inv<cb<C>>

codomain_intersect

s<C>

s<C>

inverse_codomain_intersect

inv<s<C>>

inv<s<C>>



PrevUpHomeNext