cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vctFixedSizeMatrixTraits.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5 
6  Author(s): Ofri Sadowsky
7  Created on: 2003-11-04
8 
9  (C) Copyright 2003-2007 Johns Hopkins University (JHU), All Rights
10  Reserved.
11 
12 --- begin cisst license - do not edit ---
13 
14 This software is provided "as is" under an open source license, with
15 no warranty. The complete license can be found in license.txt and
16 http://www.cisst.org/cisst/license.txt.
17 
18 --- end cisst license ---
19 */
20 
21 #pragma once
22 #ifndef _vctFixedSizeMatrixTraits_h
23 #define _vctFixedSizeMatrixTraits_h
24 
31 
43 template <class _elementType,
44  vct::size_type _rows, vct::size_type _cols,
45  vct::stride_type _rowStride, vct::stride_type _colStride>
47 {
48 public:
49  /* define most types from vctContainerTraits */
50  VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType);
51 
54 
57 
59  typedef vctFixedStrideMatrixIterator<_elementType, -_colStride, _cols, -_rowStride> reverse_iterator;
60 
62  typedef vctFixedStrideMatrixConstIterator<_elementType, -_colStride, _cols, -_rowStride> const_reverse_iterator;
63 
67  enum {ROWS = _rows, COLS = _cols, LENGTH = ROWS*COLS};
69  typedef value_type array[LENGTH];
71  typedef const value_type const_array[LENGTH];
72 
74  enum {ROWSTRIDE = _rowStride, COLSTRIDE = _colStride};
75 };
76 
77 
78 #endif // _vctFixedSizeMatrixTraits_h
79 
Definition: vctFixedSizeMatrixTraits.h:67
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
Definition: vctFixedSizeMatrixTraits.h:67
size_t size_type
Definition: vctContainerTraits.h:35
Definition: vctFixedStrideMatrixIterator.h:361
Matrix iterator.
Definition: vctFixedStrideMatrixIterator.h:90
Definition: vctFixedSizeMatrixTraits.h:67
value_type array[LENGTH]
Definition: vctFixedSizeMatrixTraits.h:69
Definition: vctFixedSizeMatrixTraits.h:74
vctFixedStrideMatrixConstIterator< _elementType,-_colStride, _cols,-_rowStride > const_reverse_iterator
Definition: vctFixedSizeMatrixTraits.h:62
Definition: vctFixedSizeMatrixTraits.h:74
Declaration of vctFixedStrideMatrixConstIterator and vctFixedStrideMatrixIterator.
ptrdiff_t stride_type
Definition: vctContainerTraits.h:37
vctFixedStrideMatrixConstIterator< _elementType, _colStride, _cols, _rowStride > const_iterator
Definition: vctFixedSizeMatrixTraits.h:56
const value_type const_array[LENGTH]
Definition: vctFixedSizeMatrixTraits.h:71
Define common container related types based on the properties of a fixed size container.
Definition: vctFixedSizeMatrixTraits.h:46
vctFixedStrideMatrixIterator< _elementType,-_colStride, _cols,-_rowStride > reverse_iterator
Definition: vctFixedSizeMatrixTraits.h:59
vctFixedStrideMatrixIterator< _elementType, _colStride, _cols, _rowStride > iterator
Definition: vctFixedSizeMatrixTraits.h:53