14#ifndef DENSETRIPLYINDEXEDBLOCK_HPP_
15#define DENSETRIPLYINDEXEDBLOCK_HPP_
29 template<
class ValueClass >
31 InterpreterClass::DenseTriplyIndexed< ValueClass > >
37 int const firstIndexDigits = 2,
38 int const secondIndexDigits = 2,
39 int const thirdIndexDigits = 2 );
45 int const secondIndex,
46 int const thirdIndex );
50 int const secondIndex,
51 int const thirdIndex )
const;
55 int const secondIndex,
56 int const thirdIndex )
const;
65 template<
class ValueClass >
68 std::string
const& blockName,
69 ValueClass
const& defaultUnsetValue,
71 int const firstIndexDigits,
72 int const secondIndexDigits,
73 int const thirdIndexDigits ) :
75 InterpreterClass::DenseTriplyIndexed< ValueClass > >(
79 BOL::
Vi( firstIndexDigits )(
80 secondIndexDigits ).e(
86 template<
class ValueClass >
94 template<
class ValueClass >
97 int const secondIndex,
98 int const thirdIndex )
101 return this->dataBlocks[ this->lowestScaleIndex ]( firstIndex,
106 template<
class ValueClass >
107 inline ValueClass
const&
109 int const secondIndex,
110 int const thirdIndex )
const
113 return this->dataBlocks[ this->lowestScaleIndex ]( firstIndex,
118 template<
class ValueClass >
121 int const secondIndex,
122 int const thirdIndex )
const
126 return this->dataBlocks[ this->lowestScaleIndex ].hasEntry( firstIndex,
DenseTriplyIndexedBlock(std::string const &blockName, ValueClass const &defaultUnsetValue, bool const isVerbose=false, int const firstIndexDigits=2, int const secondIndexDigits=2, int const thirdIndexDigits=2)
bool hasEntry(int const firstIndex, int const secondIndex, int const thirdIndex) const
ValueClass & operator()(int const firstIndex, int const secondIndex, int const thirdIndex)
virtual ~DenseTriplyIndexedBlock()
ValueClass const defaultUnsetValue
StdVectorFiller< int > Vi