Loading...
Searching...
No Matches
forEachCommonType.h
1//
2// Copyright 2025 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_EXEC_VDF_FOR_EACH_COMMON_TYPE_H
8#define PXR_EXEC_VDF_FOR_EACH_COMMON_TYPE_H
9
10// This header includes definitions for all of the "common" types.
11//
12// Common types do not have any special runtime properties in the system.
13// They are only used to emit templated execution structures for the purpose
14// improve build times in downstream libraries.
15//
16// Because all clients of execution will transitively include this header,
17// care must be taken when adding includes.
18
19#include "pxr/pxr.h"
20
22
23#include "pxr/base/gf/half.h"
27#include "pxr/base/gf/quatd.h"
28#include "pxr/base/gf/quatf.h"
29#include "pxr/base/gf/quath.h"
30#include "pxr/base/gf/vec2d.h"
31#include "pxr/base/gf/vec2f.h"
32#include "pxr/base/gf/vec2h.h"
33#include "pxr/base/gf/vec2i.h"
34#include "pxr/base/gf/vec3d.h"
35#include "pxr/base/gf/vec3f.h"
36#include "pxr/base/gf/vec3h.h"
37#include "pxr/base/gf/vec3i.h"
38#include "pxr/base/gf/vec4d.h"
39#include "pxr/base/gf/vec4f.h"
40#include "pxr/base/gf/vec4h.h"
41#include "pxr/base/gf/vec4i.h"
42
43#include "pxr/base/tf/token.h"
44
45#include <string>
46
47PXR_NAMESPACE_OPEN_SCOPE
48
50#define VDF_FOR_EACH_COMMON_TYPE(macro) \
51 macro(bool) \
52 macro(char) \
53 macro(unsigned char) \
54 macro(int) \
55 macro(unsigned int) \
56 macro(long) \
57 macro(unsigned long) \
58 macro(long long) \
59 macro(unsigned long long) \
60 \
61 macro(float) \
62 macro(double) \
63 \
64 macro(GfHalf) \
65 macro(GfMatrix2d) \
66 macro(GfMatrix3d) \
67 macro(GfMatrix4d) \
68 macro(GfQuatd) \
69 macro(GfQuatf) \
70 macro(GfQuath) \
71 macro(GfVec2d) \
72 macro(GfVec2f) \
73 macro(GfVec2h) \
74 macro(GfVec2i) \
75 macro(GfVec3d) \
76 macro(GfVec3f) \
77 macro(GfVec3h) \
78 macro(GfVec3i) \
79 macro(GfVec4d) \
80 macro(GfVec4f) \
81 macro(GfVec4h) \
82 macro(GfVec4i) \
83 \
84 macro(VdfIndexedWeights) \
85 \
86 macro(TfToken) \
87 \
88 macro(std::string)
89
90PXR_NAMESPACE_CLOSE_SCOPE
91
92#endif
This header serves to simply bring in the half float datatype and provide a hash_value function.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...