Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Click here to view the latest version of this page.
PrevUpHomeNext

Associated Types

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

interval     <D,       cp,             >
interval_sets<D,       cp,        I, a >
interval_maps<D, C, T, cp, cb, s, I, a >
icl::map     <D, C, T, cp, cb, s,    a >

where these placeholders were used:

D  := class DomainT,
C  := class CodomainT,
T  := class Traits,
cp := template<class D>class Compare = std::less,
cb := template<class C>class Combine = icl::inplace_plus,
s  := template<class C>class Section = icl::inplace_et,
I  := class Interval = icl::interval<D,cp>::type
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.12. Icl Associated types

Purpose

Aspect

Type

intervals

interval
sets

interval
maps

element
sets

element
maps

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>

sz<D>

sz<D>

difference_type

df<D>

df<D>

df<D>

sz<D>

sz<D>

intervals

interval
sets

interval
maps

element
sets

element
maps

Data

segmental

key_type

D

i<D,cp>

i<D,cp>

D

D

data_type

D

i<D,cp>

C

D

C

value_type

D

i<D,cp>

(i<D,cp>,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)>

intervals

interval
sets

interval
maps

element
sets

element
maps

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>

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