Eigen::MovableScalar< Scalar > Struct Template Reference

#include <MovableScalar.h>

Public Member Functions

 MovableScalar ()
 
 ~MovableScalar ()
 
 MovableScalar (const MovableScalar &other)
 
 MovableScalar (MovableScalar &&other) noexcept
 
MovableScalaroperator= (const MovableScalar &other)
 
MovableScalaroperator= (MovableScalar &&other) noexcept
 
 MovableScalar (const Scalar &scalar)
 
 operator Scalar () const
 

Private Member Functions

void set (const Scalar &value)
 
Scalar get () const
 

Private Attributes

Scalarm_data = nullptr
 

Constructor & Destructor Documentation

◆ MovableScalar() [1/4]

template<typename Scalar >
Eigen::MovableScalar< Scalar >::MovableScalar ( )
inline
16 : m_data(new Scalar) {}
SCALAR Scalar
Definition: bench_gemm.cpp:45
Scalar * m_data
Definition: MovableScalar.h:44

◆ ~MovableScalar()

template<typename Scalar >
Eigen::MovableScalar< Scalar >::~MovableScalar ( )
inline
17 { delete m_data; }

References Eigen::MovableScalar< Scalar >::m_data.

◆ MovableScalar() [2/4]

template<typename Scalar >
Eigen::MovableScalar< Scalar >::MovableScalar ( const MovableScalar< Scalar > &  other)
inline
18 : m_data(new Scalar) { set(other.get()); }
void set(const Scalar &value)
Definition: MovableScalar.h:34

References Eigen::MovableScalar< Scalar >::get(), and Eigen::MovableScalar< Scalar >::set().

◆ MovableScalar() [3/4]

template<typename Scalar >
Eigen::MovableScalar< Scalar >::MovableScalar ( MovableScalar< Scalar > &&  other)
inlinenoexcept
19 : m_data(other.m_data) { other.m_data = nullptr; }

◆ MovableScalar() [4/4]

template<typename Scalar >
Eigen::MovableScalar< Scalar >::MovableScalar ( const Scalar scalar)
inline
29 : m_data(new Scalar) { set(scalar); }

References Eigen::MovableScalar< Scalar >::set().

Member Function Documentation

◆ get()

template<typename Scalar >
Scalar Eigen::MovableScalar< Scalar >::get ( ) const
inlineprivate
39  {
40  eigen_assert(m_data != nullptr);
41  // suppress compiler warnings
42  return m_data == nullptr ? Scalar() : *m_data;
43  }
#define eigen_assert(x)
Definition: Macros.h:910

References eigen_assert, and Eigen::MovableScalar< Scalar >::m_data.

Referenced by Eigen::MovableScalar< Scalar >::MovableScalar(), Eigen::MovableScalar< Scalar >::operator Scalar(), and Eigen::MovableScalar< Scalar >::operator=().

◆ operator Scalar()

template<typename Scalar >
Eigen::MovableScalar< Scalar >::operator Scalar ( ) const
inline
31 { return get(); }
Scalar get() const
Definition: MovableScalar.h:39

References Eigen::MovableScalar< Scalar >::get().

◆ operator=() [1/2]

template<typename Scalar >
MovableScalar& Eigen::MovableScalar< Scalar >::operator= ( const MovableScalar< Scalar > &  other)
inline
20  {
21  set(other.get());
22  return *this;
23  }

References Eigen::MovableScalar< Scalar >::get(), and Eigen::MovableScalar< Scalar >::set().

◆ operator=() [2/2]

template<typename Scalar >
MovableScalar& Eigen::MovableScalar< Scalar >::operator= ( MovableScalar< Scalar > &&  other)
inlinenoexcept
24  {
25  m_data = other.m_data;
26  other.m_data = nullptr;
27  return *this;
28  }

References Eigen::MovableScalar< Scalar >::m_data.

◆ set()

template<typename Scalar >
void Eigen::MovableScalar< Scalar >::set ( const Scalar value)
inlineprivate
34  {
35  eigen_assert(m_data != nullptr);
36  // suppress compiler warnings
37  if (m_data != nullptr) *m_data = value;
38  }
squared absolute value
Definition: GlobalFunctions.h:87

References eigen_assert, Eigen::MovableScalar< Scalar >::m_data, and Eigen::value.

Referenced by Eigen::MovableScalar< Scalar >::MovableScalar(), and Eigen::MovableScalar< Scalar >::operator=().

Member Data Documentation

◆ m_data


The documentation for this struct was generated from the following file: