Cleanup: manually remove header text not handled by automation
[blender.git] / intern / opensubdiv / internal / opensubdiv_util.h
1 // Copyright 2013 Blender Foundation. All rights reserved.
2 //
3 // This program is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU General Public License
5 // as published by the Free Software Foundation; either version 2
6 // of the License, or (at your option) any later version.
7 //
8 // This program is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 // GNU General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License
14 // along with this program; if not, write to the Free Software Foundation,
15 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16
17 #ifndef OPENSUBDIV_UTIL_H_
18 #define OPENSUBDIV_UTIL_H_
19
20 #include <stdint.h>
21
22 #include <algorithm>
23 #include <cassert>
24 #include <vector>
25 #include <stack>
26 #include <string>
27 #include <unordered_map>
28 #include <utility>
29
30 namespace opensubdiv_capi {
31
32 using std::fill;
33 using std::make_pair;
34 using std::max;
35 using std::min;
36 using std::pair;
37 using std::stack;
38 using std::string;
39 using std::swap;
40 using std::unordered_map;
41 using std::vector;
42
43 #define foreach(x, y) for (x : y)
44
45 #define STRINGIFY_ARG(x) "" #x
46 #define STRINGIFY_APPEND(a, b) "" a #b
47 #define STRINGIFY(x) STRINGIFY_APPEND("", x)
48
49 void stringSplit(vector<string>* tokens,
50                  const string& str,
51                  const string& separators,
52                  bool skip_empty);
53
54 }  // namespace opensubdiv_capi
55
56 #endif  // OPENSUBDIV_UTIL_H_