Eigen
3.4.90 (git rev 5a9f66fb35d03a4da9ef8976e67a61b30aa16dcf)
Loading...
Searching...
No Matches
StdList.h
1
// This file is part of Eigen, a lightweight C++ template library
2
// for linear algebra.
3
//
4
// Copyright (C) 2009 Hauke Heibel <
[email protected]
>
5
//
6
// This Source Code Form is subject to the terms of the Mozilla
7
// Public License v. 2.0. If a copy of the MPL was not distributed
8
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
10
#ifndef EIGEN_STDLIST_H
11
#define EIGEN_STDLIST_H
12
13
#ifndef EIGEN_STDLIST_MODULE_H
14
#error "Please include Eigen/StdList instead of including this file directly."
15
#endif
16
17
#include "details.h"
18
24
#define EIGEN_DEFINE_STL_LIST_SPECIALIZATION(...) \
25
namespace std { \
26
template <> \
27
class list<__VA_ARGS__, std::allocator<__VA_ARGS__> > \
28
: public list<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> > { \
29
typedef list<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> > list_base; \
30
\
31
public: \
32
typedef __VA_ARGS__ value_type; \
33
typedef list_base::allocator_type allocator_type; \
34
typedef list_base::size_type size_type; \
35
typedef list_base::iterator iterator; \
36
explicit list(const allocator_type& a = allocator_type()) : list_base(a) {} \
37
template <typename InputIterator> \
38
list(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) \
39
: list_base(first, last, a) {} \
40
list(const list& c) : list_base(c) {} \
41
explicit list(size_type num, const value_type& val = value_type()) : list_base(num, val) {} \
42
list(iterator start_, iterator end_) : list_base(start_, end_) {} \
43
list& operator=(const list& x) { \
44
list_base::operator=(x); \
45
return *this; \
46
} \
47
}; \
48
}
49
50
#endif
// EIGEN_STDLIST_H
Eigen
src
StlSupport
StdList.h
Generated on Tue May 28 2024 11:34:54 for Eigen by
1.11.0