From f093374d6dfcc0beac228b45ee8e2219cf78bb17 Mon Sep 17 00:00:00 2001 From: Davis King Date: Tue, 10 Jun 2008 01:04:39 +0000 Subject: [PATCH] Fixed compiler error I added to the matrix a moment ago. --HG-- extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%402302 --- dlib/matrix/matrix_utilities.h | 66 ++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/dlib/matrix/matrix_utilities.h b/dlib/matrix/matrix_utilities.h index f2c91baed..1c68869be 100644 --- a/dlib/matrix/matrix_utilities.h +++ b/dlib/matrix/matrix_utilities.h @@ -1423,27 +1423,30 @@ namespace dlib // ---------------------------------------------------------------------------------------- - template - struct op_rowm : has_destructive_aliasing + struct op_rowm { - const static long NR = 1; - const static long NC = EXP::NC; - typedef typename EXP::type type; - typedef typename EXP::mem_manager_type mem_manager_type; - template - static type apply ( const M& m, long row, long, long c) - { return m(row,c); } + template + struct op : has_destructive_aliasing + { + const static long NR = 1; + const static long NC = EXP::NC; + typedef typename EXP::type type; + typedef typename EXP::mem_manager_type mem_manager_type; + template + static type apply ( const M& m, long row, long, long c) + { return m(row,c); } - template - static long nr (const M& m) { return 1; } - template - static long nc (const M& m) { return m.nc(); } + template + static long nr (const M& m) { return 1; } + template + static long nc (const M& m) { return m.nc(); } + }; }; template < typename EXP > - const matrix_exp,long,op_rowm > > rowm ( + const matrix_exp,long,op_rowm> > rowm ( const matrix_exp& m, long row ) @@ -1456,33 +1459,36 @@ namespace dlib << "\n\trow: " << row ); - typedef matrix_scalar_binary_exp,long,op_rowm > exp; + typedef matrix_scalar_binary_exp,long,op_rowm> exp; return matrix_exp(exp(m,row)); } // ---------------------------------------------------------------------------------------- - template - struct op_colm : has_destructive_aliasing + struct op_colm { - const static long NR = EXP::NR; - const static long NC = 1; - typedef typename EXP::type type; - typedef typename EXP::mem_manager_type mem_manager_type; - template - static type apply ( const M& m, long col, long r, long) - { return m(r,col); } + template + struct op : has_destructive_aliasing + { + const static long NR = EXP::NR; + const static long NC = 1; + typedef typename EXP::type type; + typedef typename EXP::mem_manager_type mem_manager_type; + template + static type apply ( const M& m, long col, long r, long) + { return m(r,col); } - template - static long nr (const M& m) { return m.nr(); } - template - static long nc (const M& m) { return 1; } + template + static long nr (const M& m) { return m.nr(); } + template + static long nc (const M& m) { return 1; } + }; }; template < typename EXP > - const matrix_exp,long,op_colm > > colm ( + const matrix_exp,long,op_colm> > colm ( const matrix_exp& m, long col ) @@ -1495,7 +1501,7 @@ namespace dlib << "\n\tcol: " << col ); - typedef matrix_scalar_binary_exp,long,op_colm > exp; + typedef matrix_scalar_binary_exp,long,op_colm> exp; return matrix_exp(exp(m,col)); }