00001 // Software License for MTL 00002 // 00003 // Copyright (c) 2007 The Trustees of Indiana University. 00004 // 2008 Dresden University of Technology and the Trustees of Indiana University. 00005 // All rights reserved. 00006 // Authors: Peter Gottschling and Andrew Lumsdaine 00007 // 00008 // This file is part of the Matrix Template Library 00009 // 00010 // See also license.mtl.txt in the distribution. 00011 00012 #ifndef GLAS_GLAS_TAG_INCLUDE 00013 #define GLAS_GLAS_TAG_INCLUDE 00014 00015 #undef major 00016 00017 namespace glas { namespace tag { 00018 00019 // To iterate only over non-zero elements 00020 struct nz {}; 00021 00022 // To iterate over all elements 00023 struct all {}; 00024 00025 // To iterate over rows 00026 // Generated cursors must provide range generators 00027 struct row {}; 00028 00029 // To iterate over cols 00030 // Generated cursors must provide range generators 00031 struct col {}; 00032 00033 // To iterate over the major dimension of matrices (like MTL 2) 00034 struct major {}; 00035 00036 // Same with minor 00037 struct minor {}; 00038 00039 }} // namespace glas::tag 00040 00041 #endif // GLAS_GLAS_TAG_INCLUDE