29 #ifndef __FEELPP_MESH_TRAITS_HPP
30 #define __FEELPP_MESH_TRAITS_HPP 1
32 #include <feel/feelcore/traits.hpp>
42 template<
typename MeshType>
50 typedef typename boost::remove_pointer<typename remove_shared_ptr<MeshType>::type >::type mesh_type;
52 typedef typename mesh_type::shape_type element_shape_type;
54 typedef typename mesh_type::element_type element_type;
55 typedef typename mesh_type::face_type face_type;
58 typedef typename mesh_type::element_iterator element_iterator;
59 typedef typename mesh_type::element_const_iterator element_const_iterator;
61 typedef typename mesh_type::marker_element_iterator marker_element_iterator;
62 typedef typename mesh_type::marker_element_const_iterator marker_element_const_iterator;
64 typedef typename mesh_type::marker2_element_iterator marker2_element_iterator;
65 typedef typename mesh_type::marker2_element_const_iterator marker2_element_const_iterator;
67 typedef typename mesh_type::marker3_element_iterator marker3_element_iterator;
68 typedef typename mesh_type::marker3_element_const_iterator marker3_element_const_iterator;
70 typedef typename mesh_type::location_element_iterator location_element_iterator;
71 typedef typename mesh_type::location_element_const_iterator location_element_const_iterator;
73 typedef typename mesh_type::pid_element_iterator pid_element_iterator;
74 typedef typename mesh_type::pid_element_const_iterator pid_element_const_iterator;
77 typedef typename mesh_type::face_iterator face_iterator;
78 typedef typename mesh_type::face_const_iterator face_const_iterator;
80 typedef typename mesh_type::marker_face_iterator marker_face_iterator;
81 typedef typename mesh_type::marker_face_const_iterator marker_face_const_iterator;
83 typedef typename mesh_type::marker2_face_iterator marker2_face_iterator;
84 typedef typename mesh_type::marker2_face_const_iterator marker2_face_const_iterator;
86 typedef typename mesh_type::marker3_face_iterator marker3_face_iterator;
87 typedef typename mesh_type::marker3_face_const_iterator marker3_face_const_iterator;
89 typedef typename mesh_type::location_face_iterator location_face_iterator;
90 typedef typename mesh_type::location_face_const_iterator location_face_const_iterator;
92 typedef typename mesh_type::interprocess_face_iterator interprocess_face_iterator;
93 typedef typename mesh_type::interprocess_face_const_iterator interprocess_face_const_iterator;
96 typedef typename mesh_type::marker_edge_iterator marker_edge_iterator;
97 typedef typename mesh_type::marker_edge_const_iterator marker_edge_const_iterator;
99 typedef typename mesh_type::location_edge_iterator location_edge_iterator;
100 typedef typename mesh_type::location_edge_const_iterator location_edge_const_iterator;
103 typedef typename mesh_type::point_iterator point_iterator;
104 typedef typename mesh_type::point_const_iterator point_const_iterator;
106 typedef typename mesh_type::marker_point_iterator marker_point_iterator;
107 typedef typename mesh_type::marker_point_const_iterator marker_point_const_iterator;
108 typedef typename mesh_type::location_point_iterator location_point_iterator;
109 typedef typename mesh_type::location_point_const_iterator location_point_const_iterator;