FEI Package Browser (Single Doxygen Collection)
Version of the Day
base
snl_fei_RaggedTable_specialize.hpp
Go to the documentation of this file.
1
#ifndef _snl_fei_RaggedTable_specialize_hpp_
2
#define _snl_fei_RaggedTable_specialize_hpp_
3
4
/*--------------------------------------------------------------------*/
5
/* Copyright 2005 Sandia Corporation. */
6
/* Under the terms of Contract DE-AC04-94AL85000, there is a */
7
/* non-exclusive license for use of this work by or on behalf */
8
/* of the U.S. Government. Export of this program may require */
9
/* a license from the United States Government. */
10
/*--------------------------------------------------------------------*/
11
12
#include <
fei_macros.hpp
>
13
#include <
snl_fei_RaggedTable.hpp
>
14
#include <
fei_ctg_set.hpp
>
15
#include <
snl_fei_MapContig.hpp
>
16
17
namespace
snl_fei
{
18
20
template
<>
21
class
RaggedTable
<
MapContig
<
fei
::ctg_set<int>*>,
fei::ctg_set
<int> >
22
:
public
fei::IndexTable
{
23
public
:
24
RaggedTable
(
int
firstKey,
int
lastKey);
25
26
RaggedTable
(
const
RaggedTable
<
MapContig
<
fei::ctg_set<int>
*>,
fei::ctg_set<int>
>& src);
27
28
typedef
MapContig<fei::ctg_set<int>
*>
map_type
;
29
typedef
fei::ctg_set<int>
row_type
;
30
typedef
map_type::iterator
iterator
;
31
32
virtual
~RaggedTable
()
33
{
34
iterator
it =
begin
();
35
iterator
it_end =
end
();
36
for
(; it!=it_end; ++it) {
37
poolAllocatorSet_
.
destroy
( (*it).second );
38
poolAllocatorSet_
.
deallocate
( (*it).second, 1 );
39
}
40
}
41
42
void
addDiagonals
(
int
numIndices,
43
const
int
* indices);
44
45
void
addIndices
(
int
row,
46
int
numIndices,
47
const
int
* indices);
48
49
void
addIndices
(
int
numRows,
50
const
int
* rows,
51
int
numIndices,
52
const
int
* indices);
53
54
map_type
&
getMap
() {
return
(
map_
); }
55
56
row_type
*
getRow
(
int
row)
57
{
58
iterator
m_end =
map_
.end();
59
iterator
m_iter =
map_
.find(row);
60
return
( m_end == m_iter ? NULL : (*m_iter).second );
61
}
62
63
iterator
begin
() {
return
(
map_
.begin() ); }
64
65
iterator
end
() {
return
(
map_
.end() ); }
66
67
private
:
68
map_type
map_
;
69
fei_Pool_alloc<row_type>
poolAllocatorSet_
;
70
row_type
dummy
;
71
};
//RaggedTable<MapContig<fei::ctg_set<int>*> >
72
73
}
//namespace snl_fei
74
#endif
75
snl_fei::RaggedTable::addIndices
void addIndices(int row, int numIndices, const int *indices)
Definition:
snl_fei_RaggedTable.hpp:117
snl_fei
Definition:
fei_MatrixGraph_Impl2.cpp:46
snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::begin
iterator begin()
Definition:
snl_fei_RaggedTable_specialize.hpp:63
snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::~RaggedTable
virtual ~RaggedTable()
Definition:
snl_fei_RaggedTable_specialize.hpp:32
fei_macros.hpp
snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::dummy
row_type dummy
Definition:
snl_fei_RaggedTable_specialize.hpp:70
snl_fei::RaggedTable
Definition:
snl_fei_RaggedTable.hpp:29
fei_Pool_alloc::destroy
void destroy(U *p)
Definition:
fei_Pool_alloc.hpp:80
snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::poolAllocatorSet_
fei_Pool_alloc< row_type > poolAllocatorSet_
Definition:
snl_fei_RaggedTable_specialize.hpp:69
snl_fei::RaggedTable::RaggedTable
RaggedTable(int firstKey, int lastKey)
Definition:
snl_fei_RaggedTable.hpp:90
snl_fei::RaggedTable::begin
iterator begin()
Definition:
snl_fei_RaggedTable.hpp:205
snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::map_type
MapContig< fei::ctg_set< int > * > map_type
Definition:
snl_fei_RaggedTable_specialize.hpp:28
fei_ctg_set.hpp
snl_fei::RaggedTable::addDiagonals
void addDiagonals(int numIndices, const int *indices)
Definition:
snl_fei_RaggedTable.hpp:218
fei_Pool_alloc::deallocate
void deallocate(pointer p, size_type n)
Definition:
fei_Pool_alloc.hpp:114
snl_fei_MapContig.hpp
snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::getMap
map_type & getMap()
Definition:
snl_fei_RaggedTable_specialize.hpp:54
snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::getRow
row_type * getRow(int row)
Definition:
snl_fei_RaggedTable_specialize.hpp:56
snl_fei::RaggedTable::end
iterator end()
Definition:
snl_fei_RaggedTable.hpp:212
fei
Definition:
fei_ArrayUtils.hpp:16
snl_fei::RaggedTable::map_
MAP_TYPE map_
Definition:
snl_fei_RaggedTable.hpp:84
snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::end
iterator end()
Definition:
snl_fei_RaggedTable_specialize.hpp:65
fei::ctg_set
Definition:
fei_ctg_set.hpp:39
snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::row_type
fei::ctg_set< int > row_type
Definition:
snl_fei_RaggedTable_specialize.hpp:29
fei::IndexTable
Definition:
fei_IndexTable.hpp:19
snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::iterator
map_type::iterator iterator
Definition:
snl_fei_RaggedTable_specialize.hpp:30
snl_fei::MapContig
Definition:
snl_fei_MapContig.hpp:19
snl_fei_RaggedTable.hpp
snl_fei::RaggedTable::poolAllocatorSet_
fei_Pool_alloc< SET_TYPE > poolAllocatorSet_
Definition:
snl_fei_RaggedTable.hpp:85
snl_fei::RaggedTable< MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > >::map_
map_type map_
Definition:
snl_fei_RaggedTable_specialize.hpp:68
fei_Pool_alloc
Definition:
fei_Pool_alloc.hpp:34
Generated by
1.8.16