Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
Variables
_
a
b
i
k
n
p
r
s
t
v
Typedefs
a
b
c
f
h
i
m
n
p
s
t
u
w
y
Enumerations
Enumerator
a
b
c
e
f
h
i
l
m
n
o
p
r
s
t
u
v
w
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
~
Variables
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
Enumerator
a
b
c
e
g
i
k
l
m
n
o
p
r
s
u
v
Related Functions
a
b
c
d
e
i
l
m
o
r
s
u
w
x
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
x
Functions
_
a
b
c
d
e
g
m
o
p
r
s
t
Variables
_
a
b
f
g
l
t
u
Typedefs
Enumerations
Enumerator
Macros
_
a
b
c
e
f
g
i
l
m
r
s
u
v
w
x
sick_visionary_cpp_shared
3pp
boost
mpl
distance.hpp
Go to the documentation of this file.
1
2
#ifndef BOOST_MPL_DISTANCE_HPP_INCLUDED
3
#define BOOST_MPL_DISTANCE_HPP_INCLUDED
4
5
// Copyright Aleksey Gurtovoy 2000-2004
6
//
7
// Distributed under the Boost Software License, Version 1.0.
8
// (See accompanying file LICENSE_1_0.txt or copy at
9
// http://www.boost.org/LICENSE_1_0.txt)
10
//
11
// See http://www.boost.org/libs/mpl for documentation.
12
13
// $Id: distance.hpp 13472 2017-08-22 07:53:44Z richean $
14
// $Date: 2017-08-22 09:53:44 +0200 (Di, 22 Aug 2017) $
15
// $Revision: 13472 $
16
17
#include <
boost/mpl/distance_fwd.hpp
>
18
#include <
boost/mpl/iter_fold.hpp
>
19
#include <
boost/mpl/iterator_range.hpp
>
20
#include <
boost/mpl/long.hpp
>
21
#include <
boost/mpl/next.hpp
>
22
#include <
boost/mpl/tag.hpp
>
23
#include <
boost/mpl/apply_wrap.hpp
>
24
#include <
boost/mpl/aux_/msvc_eti_base.hpp
>
25
#include <
boost/mpl/aux_/value_wknd.hpp
>
26
#include <
boost/mpl/aux_/na_spec.hpp
>
27
#include <
boost/mpl/aux_/config/forwarding.hpp
>
28
#include <
boost/mpl/aux_/config/static_constant.hpp
>
29
30
31
namespace
boost
{
namespace
mpl {
32
33
// default implementation for forward/bidirectional iterators
34
template
<
typename
Tag >
struct
distance_impl
35
{
36
template
<
typename
First,
typename
Last >
struct
apply
37
#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
38
:
aux::msvc_eti_base
< typename iter_fold<
39
iterator_range<First,Last>
40
, mpl::long_<0>
41
, next<>
42
>::type >
43
{
44
#else
45
{
46
typedef
typename
iter_fold
<
47
iterator_range<First,Last>
48
, mpl::long_<0>
49
,
next<>
50
>
::type
type
;
51
52
BOOST_STATIC_CONSTANT
(
long
, value =
53
(
iter_fold
<
54
iterator_range<First,Last>
55
, mpl::long_<0>
56
,
next<>
57
>::type::value)
58
);
59
#endif
60
};
61
};
62
63
template
<
64
typename
BOOST_MPL_AUX_NA_PARAM
(First)
65
,
typename
BOOST_MPL_AUX_NA_PARAM
(Last)
66
>
67
struct
distance
68
:
distance_impl
< typename tag<First>::type >
69
::template
apply
<First, Last>
70
{
71
BOOST_MPL_AUX_LAMBDA_SUPPORT
(2,
distance
, (First, Last))
72
};
73
74
BOOST_MPL_AUX_NA_SPEC
(2,
distance
)
75
76
}}
77
78
#endif // BOOST_MPL_DISTANCE_HPP_INCLUDED
boost::mpl::iterator_range
Definition:
iterator_range.hpp:28
BOOST_STATIC_CONSTANT
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition:
suffix.hpp:394
iter_fold.hpp
iterator_range.hpp
boost::mpl::distance_impl
Definition:
distance.hpp:34
BOOST_MPL_AUX_NA_PARAM
#define BOOST_MPL_AUX_NA_PARAM(param)
Definition:
na_spec.hpp:152
na_spec.hpp
value_wknd.hpp
BOOST_MPL_AUX_NA_SPEC
#define BOOST_MPL_AUX_NA_SPEC(i, name)
Definition:
na_spec.hpp:161
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
BOOST_MPL_AUX_LAMBDA_SUPPORT
#define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params)
Definition:
lambda_support.hpp:22
long.hpp
tag.hpp
distance_fwd.hpp
apply_wrap.hpp
forwarding.hpp
msvc_eti_base.hpp
boost::mpl::apply
primary template (not a specialization!)
Definition:
aux_/preprocessed/bcc/apply.hpp:163
boost::mpl::distance_impl::apply
Definition:
distance.hpp:36
boost::mpl::distance
Definition:
distance.hpp:67
next.hpp
boost::mpl::next
Definition:
mpl/next_prior.hpp:29
boost::mpl::aux::msvc_eti_base
Definition:
msvc_eti_base.hpp:55
static_constant.hpp
boost::mpl::aux::msvc_eti_base< iter_fold< iterator_range< First, Last >, mpl::long_< 0 >, next<> >::type >::type
iter_fold< iterator_range< First, Last >, mpl::long_< 0 >, next<> >::type type
Definition:
msvc_eti_base.hpp:61
boost::mpl::iter_fold
Definition:
iter_fold.hpp:32
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:38:54