// Copyright (C) 2008-2015 National ICT Australia (NICTA) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. // ------------------------------------------------------------------- // // Written by Conrad Sanderson - http://conradsanderson.id.au //! \addtogroup mtGlue //! @{ template class mtGlue : public Base > { public: typedef out_eT elem_type; typedef typename get_pod_type::result pod_type; static const bool is_row = \ ( ((T1::is_row || T2::is_row) && is_glue_mixed_elem::value) || (T1::is_row && is_glue_mixed_times::value) || (T1::is_row && is_same_type::yes) || (T1::is_row && is_same_type::yes) ); static const bool is_col = \ ( ((T1::is_col || T2::is_col) && is_glue_mixed_elem::value) || (T2::is_col && is_glue_mixed_times::value) || (T1::is_col && is_same_type::yes) || (T1::is_col && is_same_type::yes) ); arma_inline mtGlue(const T1& in_A, const T2& in_B); arma_inline mtGlue(const T1& in_A, const T2& in_B, const uword in_aux_uword); arma_inline ~mtGlue(); arma_aligned const T1& A; //!< first operand arma_aligned const T2& B; //!< second operand arma_aligned uword aux_uword; //!< storage of auxiliary data, uword format }; //! @}