Loading [MathJax]/extensions/TeX/AMSsymbols.js
Reference documentation for deal.II version 8.5.1
Main Page
Tutorial
Code gallery
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Variables
+
Typedefs
b
g
m
p
s
v
Enumerations
+
Enumerator
a
c
d
e
g
h
i
l
m
n
o
p
s
t
u
v
w
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
+
Enumerations
a
b
c
d
e
f
i
m
o
p
r
s
t
u
v
w
z
+
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Related Functions
:
b
c
d
f
i
l
m
o
p
r
s
t
u
v
Related Pages
+
Files
File List
dealii.org
•
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Modules
Pages
deal.II
base
std_cxx11
tuple.h
1
// ---------------------------------------------------------------------
2
//
3
// Copyright (C) 2009 - 2014 by the deal.II authors
4
//
5
// This file is part of the deal.II library.
6
//
7
// The deal.II library is free software; you can use it, redistribute
8
// it, and/or modify it under the terms of the GNU Lesser General
9
// Public License as published by the Free Software Foundation; either
10
// version 2.1 of the License, or (at your option) any later version.
11
// The full text of the license can be found in the file LICENSE at
12
// the top level of the deal.II distribution.
13
//
14
// ---------------------------------------------------------------------
15
16
#ifndef dealii__std_cxx11_tuple_h
17
#define dealii__std_cxx11_tuple_h
18
19
20
#include <deal.II/base/config.h>
21
22
#ifdef DEAL_II_WITH_CXX11
23
24
# include <tuple>
25
DEAL_II_NAMESPACE_OPEN
26
namespace
std_cxx11
27
{
28
using
std::tuple;
29
using
std::make_tuple;
30
using
std::get;
31
using
std::tuple_size;
32
using
std::tuple_element;
33
}
34
DEAL_II_NAMESPACE_CLOSE
35
36
#else
37
38
#include <boost/tuple/tuple.hpp>
39
DEAL_II_NAMESPACE_OPEN
40
namespace
std_cxx11
41
{
42
using
boost::tuple;
43
using
boost::make_tuple;
44
using
boost::get;
45
46
// boost::tuples::length has been renamed
47
// by the standard to std::tuple_size
48
template
<
typename
T>
49
struct
tuple_size
50
{
51
static
const
std::size_t value = boost::tuples::length<T>::value;
52
};
53
54
// similarly, boost::tuples::element has
55
// been renamed by the standard to
56
// std::tuple_element
57
template
<
int
N,
typename
T>
58
struct
tuple_element
59
{
60
typedef
typename
boost::tuples::element<N,T>::type type;
61
};
62
}
63
DEAL_II_NAMESPACE_CLOSE
64
65
#endif
66
67
// then allow using the old namespace name instead of the new one
68
DEAL_II_NAMESPACE_OPEN
69
namespace
std_cxx1x
=
std_cxx11
;
70
DEAL_II_NAMESPACE_CLOSE
71
72
#endif
std_cxx11
Definition:
std_cxx11.h:30
Generated by
1.8.14