Classes | Namespaces | Macros
StdVector.h File Reference
#include "details.h"
Include dependency graph for StdVector.h:

Go to the source code of this file.

Classes

class  std::vector< T, EIGEN_ALIGNED_ALLOCATOR< T > >
 

Namespaces

 std
 

Macros

#define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(...)
 
#define EIGEN_STD_VECTOR_SPECIALIZATION_BODY
 

Macro Definition Documentation

◆ EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION

#define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION (   ...)
Value:
namespace std \
{ \
template<> \
class vector<__VA_ARGS__, std::allocator<__VA_ARGS__> > \
: public vector<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> > \
{ \
typedef vector<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> > vector_base; \
public: \
typedef __VA_ARGS__ value_type; \
typedef vector_base::allocator_type allocator_type; \
typedef vector_base::size_type size_type; \
typedef vector_base::iterator iterator; \
explicit vector(const allocator_type& a = allocator_type()) : vector_base(a) {} \
template<typename InputIterator> \
vector(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) : vector_base(first, last, a) {} \
vector(const vector& c) : vector_base(c) {} \
explicit vector(size_type num, const value_type& val = value_type()) : vector_base(num, val) {} \
vector(iterator start_, iterator end_) : vector_base(start_, end_) {} \
vector& operator=(const vector& x) { \
vector_base::operator=(x); \
return *this; \
} \
}; \
}

This section contains a convenience MACRO which allows an easy specialization of std::vector such that for data types with alignment issues the correct allocator is used automatically.

Definition at line 21 of file StdVector.h.

◆ EIGEN_STD_VECTOR_SPECIALIZATION_BODY

#define EIGEN_STD_VECTOR_SPECIALIZATION_BODY
Value:
public: \
typedef T value_type; \
typedef typename vector_base::allocator_type allocator_type; \
typedef typename vector_base::size_type size_type; \
typedef typename vector_base::iterator iterator; \
typedef typename vector_base::const_iterator const_iterator; \
explicit vector(const allocator_type& a = allocator_type()) : vector_base(a) {} \
template<typename InputIterator> \
vector(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) \
: vector_base(first, last, a) {} \
vector(const vector& c) : vector_base(c) {} \
explicit vector(size_type num, const value_type& val = value_type()) : vector_base(num, val) {} \
vector(iterator start_, iterator end_) : vector_base(start_, end_) {} \
vector& operator=(const vector& x) { \
vector_base::operator=(x); \
return *this; \
}

Definition at line 52 of file StdVector.h.

c
Scalar Scalar * c
Definition: benchVecAdd.cpp:17
x
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
Definition: gnuplot_common_settings.hh:12
iterator
Definition: pytypes.h:1426
Eigen::last
static const symbolic::SymbolExpr< internal::symbolic_last_tag > last
Definition: IndexedViewHelper.h:38
Eigen::internal::first
EIGEN_CONSTEXPR Index first(const T &x) EIGEN_NOEXCEPT
Definition: IndexedViewHelper.h:81
Eigen::Triplet
A small structure to hold a non zero as a triplet (i,j,value).
Definition: SparseUtil.h:162
a
ArrayXXi a
Definition: Array_initializer_list_23_cxx11.cpp:1
std
Definition: BFloat16.h:88


gtsam
Author(s):
autogenerated on Tue Jun 25 2024 03:08:06