1 #ifndef _RHEOLEF_GEO_ELEMENT_V4_H
2 #define _RHEOLEF_GEO_ELEMENT_V4_H
5 #include "rheolef/reference_element.h"
6 #include "rheolef/geo_element_indirect.h"
7 #include "rheolef/heap_allocator.h"
8 #include "rheolef/array.h"
9 #include <boost/serialization/serialization.hpp>
10 #include <boost/serialization/base_object.hpp>
14 template <
class A>
class geo_element_auto;
93 reset (K.variant(), K.order());
95 reset (K.variant(), K.order());
195 template <
class T,
class M>
263 template<
class Archive>
264 void serialize (Archive& ar,
const unsigned int version) {
315 _data.resize(K._data_size());
327 template<
class Archive>
328 void serialize (Archive& ar,
const unsigned int version) {
329 ar & boost::serialization::base_object<geo_element>(*this);
377 check_macro (order1 == 1,
"cannot change order "<<order1<<
" > 1 in a raw element");
395 check_macro (order == 1,
"cannot set order "<<order<<
" > 1 in a raw element");
410 static const bool do_verbose =
true;
411 if (do_verbose || K.size() > 2 || K.order() > 1) { os << K.name() <<
"\t"; }
412 if (do_verbose || K.order() > 1) { os <<
"p" << K.order() <<
" "; }
414 os <<
perm [K[iloc]];
415 if (iloc < K.n_node() - 1) os <<
" ";
419 const std::vector<size_type>&
perm;
423 #endif // _RHEOLEF_GEO_ELEMENT_V4_H