00001 // Copyright (C) 2009 NICTA 00002 // 00003 // Authors: 00004 // - Conrad Sanderson (conradsand at ieee dot org) 00005 // 00006 // This file is part of the Armadillo C++ library. 00007 // It is provided without any warranty of fitness 00008 // for any purpose. You can redistribute this file 00009 // and/or modify it under the terms of the GNU 00010 // Lesser General Public License (LGPL) as published 00011 // by the Free Software Foundation, either version 3 00012 // of the License or (at your option) any later version. 00013 // (see http://www.opensource.org/licenses for more info) 00014 00015 00016 //! \addtogroup GlueCube 00017 //! @{ 00018 00019 00020 00021 //! analog of the Glue class, intended for Cube objects 00022 template<typename T1, typename T2, typename glue_type> 00023 class GlueCube : public BaseCube<typename T1::elem_type, GlueCube<T1, T2, glue_type> > 00024 { 00025 public: 00026 00027 typedef typename T1::elem_type elem_type; 00028 typedef typename get_pod_type<elem_type>::pod_type pod_type; 00029 00030 //! deliberately requiring the elem_type to be the same for both arguments (experimental) 00031 //! TODO:MAT the original Glue class should also have this restriction 00032 arma_inline GlueCube(const BaseCube<typename T1::elem_type, T1>& in_A, const BaseCube<typename T1::elem_type, T2>& in_B); 00033 arma_inline ~GlueCube(); 00034 00035 const T1& A; //!< first operand 00036 const T2& B; //!< second operand 00037 00038 }; 00039 00040 00041 00042 //! @}