HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
traits.h
Go to the documentation of this file.
1
//
2
// Copyright 2016 Pixar
3
//
4
// Licensed under the Apache License, Version 2.0 (the "Apache License")
5
// with the following modification; you may not use this file except in
6
// compliance with the Apache License and the following modification to it:
7
// Section 6. Trademarks. is deleted and replaced with:
8
//
9
// 6. Trademarks. This License does not grant permission to use the trade
10
// names, trademarks, service marks, or product names of the Licensor
11
// and its affiliates, except as required to comply with Section 4(c) of
12
// the License and to reproduce the content of the NOTICE file.
13
//
14
// You may obtain a copy of the Apache License at
15
//
16
// http://www.apache.org/licenses/LICENSE-2.0
17
//
18
// Unless required by applicable law or agreed to in writing, software
19
// distributed under the Apache License with the above modification is
20
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
// KIND, either express or implied. See the Apache License for the specific
22
// language governing permissions and limitations under the Apache License.
23
//
24
#ifndef PXR_BASE_GF_TRAITS_H
25
#define PXR_BASE_GF_TRAITS_H
26
27
#include "
pxr/pxr.h
"
28
29
#include <type_traits>
30
31
PXR_NAMESPACE_OPEN_SCOPE
32
33
/// A metafunction with a static const bool member 'value' that is true for
34
/// GfVec types, like GfVec2i, GfVec4d, etc and false for all other types.
35
template
<
class
T>
36
struct
GfIsGfVec
{
static
const
bool
value
=
false
; };
37
38
/// A metafunction with a static const bool member 'value' that is true for
39
/// GfMatrix types, like GfMatrix3d, GfMatrix4f, etc and false for all other
40
/// types.
41
template
<
class
T>
42
struct
GfIsGfMatrix
{
static
const
bool
value
=
false
; };
43
44
/// A metafunction with a static const bool member 'value' that is true for
45
/// GfQuat types and false for all other types.
46
template
<
class
T>
47
struct
GfIsGfQuat
{
static
const
bool
value
=
false
; };
48
49
/// A metafunction with a static const bool member 'value' that is true for
50
/// GfDualQuat types and false for all other types.
51
template
<
class
T>
52
struct
GfIsGfDualQuat
{
static
const
bool
value
=
false
; };
53
54
/// A metafunction with a static const bool member 'value' that is true for
55
/// GfRange types and false for all other types.
56
template
<
class
T>
57
struct
GfIsGfRange
{
static
const
bool
value
=
false
; };
58
59
/// A metafunction which is equivalent to std::is_floating_point but
60
/// allows for additional specialization for types like GfHalf
61
template
<
class
T>
62
struct
GfIsFloatingPoint
:
public
std::is_floating_point<T>{};
63
64
/// A metafunction which is equivalent to std::arithmetic but
65
/// also includes any specializations from GfIsFloatingPoint (like GfHalf)
66
template
<
class
T>
67
struct
GfIsArithmetic
:
public
std::integral_constant<
68
bool, GfIsFloatingPoint<T>::value || std::is_arithmetic<T>::value>{};
69
70
PXR_NAMESPACE_CLOSE_SCOPE
71
72
#endif // PXR_BASE_GF_TRAITS_H
GfIsGfRange
Definition:
traits.h:57
GfIsGfDualQuat
Definition:
traits.h:52
GfIsGfVec
Definition:
traits.h:36
GfIsFloatingPoint
Definition:
traits.h:62
GfIsGfMatrix
Definition:
traits.h:42
pxr.h
PXR_NAMESPACE_OPEN_SCOPE
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition:
path.h:1432
GfIsGfQuat
Definition:
traits.h:47
PXR_NAMESPACE_CLOSE_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition:
pxr.h:91
value
Definition:
core.h:1131
GfIsArithmetic
Definition:
traits.h:67
pxr
base
gf
traits.h
Generated on Sat May 10 2025 02:48:03 for HDK by
1.8.6