16 #ifndef dealii__table_indices_h 17 #define dealii__table_indices_h 20 #include <deal.II/base/config.h> 21 #include <deal.II/base/exceptions.h> 22 #include <deal.II/base/std_cxx11/iterator.h> 28 DEAL_II_NAMESPACE_OPEN
76 unsigned int operator[] (
const unsigned int i)
const;
81 unsigned int &
operator[] (
const unsigned int i);
103 template <
class Archive>
104 void serialize (Archive &ar,
const unsigned int version);
121 Assert (N > 0,
ExcMessage(
"Cannot create a TableIndices object of size 0"));
123 for (
unsigned int i=0; i<N; ++i)
130 const unsigned int index1,
131 const unsigned int index2,
132 const unsigned int index3,
133 const unsigned int index4,
134 const unsigned int index5,
135 const unsigned int index6,
136 const unsigned int index7,
137 const unsigned int index8)
139 Assert (N > 0,
ExcMessage(
"Cannot create a TableIndices object of size 0"));
170 for (
unsigned int i=0; i<N; ++i)
173 indices[8 % N] = index8;
175 indices[7 % N] = index7;
177 indices[6 % N] = index6;
179 indices[5 % N] = index5;
181 indices[4 % N] = index4;
183 indices[3 % N] = index3;
185 indices[2 % N] = index2;
187 indices[1 % N] = index1;
189 indices[0 % N] = index0;
220 for (
unsigned int i=0; i<N; ++i)
221 if (indices[i] != other.
indices[i])
232 return !(*
this == other);
241 std::sort(std_cxx11::begin(indices), std_cxx11::end(indices));
246 template <
class Archive>
267 for (
unsigned int i=0; i<N; ++i)
279 DEAL_II_NAMESPACE_CLOSE
unsigned int operator[](const unsigned int i) const
static const unsigned int invalid_unsigned_int
static ::ExceptionBase & ExcIndexRange(int arg1, int arg2, int arg3)
void serialize(Archive &ar, const unsigned int version)
static ::ExceptionBase & ExcMessage(std::string arg1)
#define Assert(cond, exc)
OutputOperator< VectorType > & operator<<(OutputOperator< VectorType > &out, unsigned int step)
bool operator==(const TableIndices< N > &other) const
bool operator!=(const TableIndices< N > &other) const