1 #ifndef PARSE_HPP
2 #define PARSE_HPP
3
4 #include <iosfwd>
5 #include "moab/Interface.hpp"
6
7 // A structure containing the parsed CL tag specification.
8 struct TagSpec
9 {
10 moab::Tag handle; // Tag handle
11 void* value; // Tag value (malloc'd) or NULL if no value specified
12 };
13
14 // Parse a tag specified in the form: tagname=value,
15 // where the "=value" portion is optional. Returns 0 on
16 // success.
17 int parse_tag_spec( char* string, TagSpec& result, moab::Interface* iface );
18
19 // Parse a string specifying a new tag to create, and create it.
20 int parse_tag_create( char* string, TagSpec& result, moab::Interface* iface );
21
22 // Print description of syntax accepted in the string passed to
23 // parse_tag_spec.
24 void tag_syntax( std::ostream& stream );
25
26 // Data type used to store bit tags
27 typedef unsigned char bittype;
28
29 #endif