Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/***************************************************************************
tnlEllpackGraph.h - description
-------------------
begin : Sep 10, 2015
copyright : (C) 2015 by Tomas Oberhuber et al.
email : tomas.oberhuber@fjfi.cvut.cz
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef TNLELLPACKGRAPHLINKSACCESSOR_H
#define TNLELLPACKGRAPHLINKSACCESSOR_H
template< typename Device,
typename Index >
class tnlEllpackGraphLinksAccessor
{
public:
typedef Device DeviceType;
typedef Index IndexType;
typedef tnlEllpackGraph< DeviceType, IndexType > GraphType;
void setLink( const IndexType linkIndex,
const IndexType targetNode );
IndexType getLinkTarget( const IndexType linkIndex ) const;
IndexType& operator[]( const IndexType linkIndex );
const IndexType& operator[]( const IndexType linkIndex ) const;
protected:
tnlEllpackGraphLinksAccessor( IndexType* graphLinks,
const IndexType node,
const maxLinksPerNode );
IndexType* links;
IndexType step, maxLinksPerNode;
friend tnlEllpackGraph< IndexType, DeviceType >;
};
#include <graphs/sparse/tnlEllpackGraphLinksAccessor_impl.h>
#endif /* TNLELLPACKGRAPHLINKSACCESSOR_H */