yat
0.11.3pre
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
yat
utility
VectorConstView.h
1
#ifndef _theplu_yat_utility_vector_const_view_
2
#define _theplu_yat_utility_vector_const_view_
3
4
// $Id: VectorConstView.h 2992 2013-03-03 05:03:44Z peter $
5
6
/*
7
Copyright (C) 2003 Daniel Dalevi, Peter Johansson
8
Copyright (C) 2004 Jari Häkkinen, Peter Johansson
9
Copyright (C) 2005 Jari Häkkinen, Peter Johansson, Markus Ringnér
10
Copyright (C) 2006 Jari Häkkinen, Markus Ringnér
11
Copyright (C) 2007 Jari Häkkinen, Peter Johansson, Markus Ringnér
12
Copyright (C) 2008 Jari Häkkinen, Peter Johansson
13
Copyright (C) 2009, 2012 Peter Johansson
14
15
This file is part of the yat library, http://dev.thep.lu.se/trac/yat
16
17
The yat library is free software; you can redistribute it and/or
18
modify it under the terms of the GNU General Public License as
19
published by the Free Software Foundation; either version 3 of the
20
License, or (at your option) any later version.
21
22
The yat library is distributed in the hope that it will be useful,
23
but WITHOUT ANY WARRANTY; without even the implied warranty of
24
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
25
General Public License for more details.
26
27
You should have received a copy of the GNU General Public License
28
along with yat. If not, see <http://www.gnu.org/licenses/>.
29
*/
30
31
#include "VectorBase.h"
32
33
#include <gsl/gsl_vector.h>
34
35
namespace
theplu {
36
namespace
yat {
37
namespace
utility {
38
39
class
Matrix;
40
55
class
VectorConstView
:
public
VectorBase
56
{
57
public
:
61
// needed to override compiler generated copy constructor
62
VectorConstView
(
const
VectorConstView
& other);
63
67
explicit
VectorConstView
(
const
VectorBase
& other);
68
81
VectorConstView
(
const
VectorBase
& v,
size_t
offset,
size_t
n,
size_t
stride=1);
82
101
VectorConstView
(
const
Matrix
& m,
size_t
i,
bool
row=
true
);
102
106
~VectorConstView
(
void
);
107
111
bool
isview
(
void
)
const
;
112
113
private
:
114
void
copy(
const
VectorBase
& other);
115
void
delete_allocated_memory(
void
);
116
117
// Perhaps not needed - only used to create a gsl_vector (that is
118
// stored in base class). For data access use data in base class
119
// because this pointer may be NULL.
120
gsl_vector_const_view* const_view_;
121
122
// assignment not allowed
123
VectorConstView
& operator=(
const
VectorConstView
&);
124
};
125
126
}}}
// of namespace utility, yat, and theplu
127
128
#endif
Generated on Sat May 24 2014 03:33:05 for yat by
1.8.2