21#include "rheolef/geo_header.h"
41 check_macro (label ==
"header",
"geo file format version 4: \"header\" keyword not found");
45 if (label ==
"end")
break;
46 if (label ==
"dimension") { ips >> h.dimension; }
47 else if (label ==
"order") { ips >> h.order; }
48 else if (label ==
"coordinate_system") {
49 std::string sys_coord_name;
50 ips >> sys_coord_name;
56 if (label == label_variant[variant])
break;
59 ips >> h.dis_size_by_variant [variant];
63 check_macro (label ==
"header",
"geo file format version 4: \"end header\" keyword not found");
66 h.dis_size_by_dimension [dim] = 0;
69 h.dis_size_by_dimension [dim] += h.dis_size_by_variant [variant];
73 for (h.map_dimension = h.dimension; h.map_dimension != 0; h.map_dimension--) {
74 if (h.dis_size_by_dimension [h.map_dimension] != 0)
break;
88 ops <<
"header" << endl
89 <<
" dimension " << h.dimension << endl;
94 ops <<
" order " << h.order << endl;
96 ops <<
" " << label_variant [0] <<
"\t" << h.dis_size_by_variant[0] << endl;
100 if (h.dis_size_by_variant[variant] != 0) {
101 ops <<
" " << label_variant [variant] <<
"\t" << h.dis_size_by_variant[variant] << endl;
105 ops <<
"end header" << endl;
field::size_type size_type
idiststream: see the diststream page for the full documentation
odiststream: see the diststream page for the full documentation
static const variant_type max_variant
static variant_type last_variant_by_dimension(size_type dim)
static variant_type first_variant_by_dimension(size_type dim)
static const char * label_variant[]
check_macro(expr1.have_homogeneous_space(Xh1), "dual(expr1,expr2); expr1 should have homogeneous space. HINT: use dual(interpolate(Xh, expr1),expr2)")
coordinate_type coordinate_system(std::string sys_coord)
std::string coordinate_system_name(coordinate_type i)
This file is part of Rheolef.
std::ostream & operator<<(std::ostream &os, const catchmark &m)
std::istream & operator>>(std::istream &is, const catchmark &m)