10 #ifndef EIGEN_EMULATE_ARRAY_H 11 #define EIGEN_EMULATE_ARRAY_H 18 #if (__cplusplus <= 199711L && EIGEN_COMP_MSVC < 1900) || defined(EIGEN_GPUCC) || defined(EIGEN_AVOID_STL_ARRAY) 21 template <
typename T,
size_t n>
class array {
89 const T& v5,
const T& v6) {
100 const T& v5,
const T& v6,
const T& v7) {
112 const T&
v1,
const T&
v2,
const T&
v3,
const T& v4,
113 const T& v5,
const T& v6,
const T& v7,
const T& v8) {
125 #if EIGEN_HAS_VARIADIC_TEMPLATES 136 template <
typename T>
class array<
T, 0> {
175 #if EIGEN_HAS_VARIADIC_TEMPLATES 188 template<
class T, std::
size_t N>
191 if (lhs[
i] != rhs[
i]) {
200 template<std::
size_t I_,
class T, std::
size_t N>
204 template<std::
size_t I_,
class T, std::
size_t N>
231 template <
typename T, std::
size_t N>
using array = std::array<T, N>;
242 #if defined(__GLIBCXX__) && __GLIBCXX__ < 20120322 243 #define STD_GET_ARR_HACK a._M_instance[I_] 244 #elif defined(_LIBCPP_VERSION) 245 #define STD_GET_ARR_HACK a.__elems_[I_] 247 #define STD_GET_ARR_HACK std::template get<I_, T, N>(a) 250 template<std::
size_t I_,
class T, std::
size_t N> constexpr
inline T&
array_get(std::array<T,N>&
a) {
return (
T&) STD_GET_ARR_HACK; }
251 template<std::
size_t I_,
class T, std::
size_t N> constexpr
inline T&&
array_get(std::array<T,N>&& a) {
return (
T&&) STD_GET_ARR_HACK; }
252 template<std::
size_t I_,
class T, std::
size_t N> constexpr
inline T const&
array_get(std::array<T,N>
const& a) {
return (
T const&) STD_GET_ARR_HACK; }
254 #undef STD_GET_ARR_HACK 261 #endif // EIGEN_EMULATE_ARRAY_H EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T & array_get(const array< T, N > &a)
#define EIGEN_ALWAYS_INLINE
#define EIGEN_STRONG_INLINE
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T & front()
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator==(const Tuple< U, V > &x, const Tuple< U, V > &y)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T & back() const
EIGEN_DEVICE_FUNC static EIGEN_ALWAYS_INLINE std::size_t size()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T & operator[](size_t index)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T &v1, const T &v2, const T &v3, const T &v4, const T &v5, const T &v6, const T &v7, const T &v8)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T &v1, const T &v2, const T &v3, const T &v4, const T &v5, const T &v6, const T &v7)
Namespace containing all symbols from the Eigen library.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T &v1, const T &v2, const T &v3, const T &v4, const T &v5, const T &v6)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T & back()
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T &v1, const T &v2, const T &v3, const T &v4)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T &v1, const T &v2)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T & front()
EIGEN_DEVICE_FUNC void smart_copy(const T *start, const T *end, T *target)
static const Line3 l(Rot3(), 1, 1)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T &v)
Array< int, Dynamic, 1 > v
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T &v1, const T &v2, const T &v3, const T &v4, const T &v5)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T &v1, const T &v2, const T &v3)
#define EIGEN_DEVICE_FUNC
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T & at(size_t index)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T & front() const
#define eigen_internal_assert(x)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T & at(size_t index) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T & back()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T & back() const
static EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE std::size_t size()
#define EIGEN_UNUSED_VARIABLE(var)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T & front() const