//
// Copyright 2026 Pixar
//
// Licensed under the terms set forth in the LICENSE.txt file available at
// https://openusd.org/license.
//

// No standard include guard -- this file is intentionally re-included per
// registration.
//
// Usage:
//   #define VT_ADD_EXT_VISIT_VALUE_TYPE MyType
//   #include "pxr/base/vt/addExtVisitValueType.h"
//
// This appends MyType to the compile-time type list tracked by
// VT_VISIT_VALUE_EXT_TYPES.  See visitValue.h for details.
//
// The #if chain below is generated by the following script.  To regenerate
// (e.g. to change the max), adjust MAX and re-run this Python script:
//
// ########################################################################
//
// MAX = 128
// print('''// Preamble -- runs once on first inclusion.
// #ifndef PXR_BASE_VT_ADD_EXT_VISIT_VALUE_PREAMBLE
// #define PXR_BASE_VT_ADD_EXT_VISIT_VALUE_PREAMBLE
// #include "pxr/pxr.h"
// #include "pxr/base/tf/meta.h"
// #ifndef VT_VISIT_VALUE_EXT_TYPES
// #  define VT_VISIT_VALUE_EXT_TYPES PXR_NS_GLOBAL::TfMetaList<>
// #endif
// #endif // PXR_BASE_VT_ADD_EXT_VISIT_VALUE_PREAMBLE
//
// #ifndef VT_ADD_EXT_VISIT_VALUE_TYPE
// #  error "Define VT_ADD_EXT_VISIT_VALUE_TYPE before including addExtVisitValueType.h"
// #endif
//
// #ifndef _VT_VISIT_VALUE_EXT_N
// #  define _VT_VISIT_VALUE_EXT_N 0
// #endif
// ''')
//
// condition = lambda i: f'{"#elif" if i else "#if"} _VT_VISIT_VALUE_EXT_N == {i}'
// for i in range(MAX):
//     print(condition(i))
//     print(f'''namespace {{
// using _VtVisitValueExtTypes_{i} =
//     PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
//         PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
// }}
// #  undef VT_VISIT_VALUE_EXT_TYPES
// #  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_{i}
// #  undef _VT_VISIT_VALUE_EXT_N
// #  define _VT_VISIT_VALUE_EXT_N {i+1}''')
//
// print(f'''#else
// #  error "Too many extended visit-value types (max {MAX})."
// #endif
// #undef VT_ADD_EXT_VISIT_VALUE_TYPE''')
//
// ########################################################################

// Preamble -- runs once on first inclusion.
#ifndef PXR_BASE_VT_ADD_EXT_VISIT_VALUE_PREAMBLE
#define PXR_BASE_VT_ADD_EXT_VISIT_VALUE_PREAMBLE
#include "pxr/pxr.h"
#include "pxr/base/tf/meta.h"
#ifndef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES PXR_NS_GLOBAL::TfMetaList<>
#endif
#endif // PXR_BASE_VT_ADD_EXT_VISIT_VALUE_PREAMBLE

#ifndef VT_ADD_EXT_VISIT_VALUE_TYPE
#  error "Define VT_ADD_EXT_VISIT_VALUE_TYPE before including addExtVisitValueType.h"
#endif

#ifndef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 0
#endif

#if _VT_VISIT_VALUE_EXT_N == 0
namespace {
using _VtVisitValueExtTypes_0 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_0
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 1

#elif _VT_VISIT_VALUE_EXT_N == 1
namespace {
using _VtVisitValueExtTypes_1 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_1
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 2

#elif _VT_VISIT_VALUE_EXT_N == 2
namespace {
using _VtVisitValueExtTypes_2 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_2
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 3

#elif _VT_VISIT_VALUE_EXT_N == 3
namespace {
using _VtVisitValueExtTypes_3 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_3
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 4

#elif _VT_VISIT_VALUE_EXT_N == 4
namespace {
using _VtVisitValueExtTypes_4 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_4
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 5

#elif _VT_VISIT_VALUE_EXT_N == 5
namespace {
using _VtVisitValueExtTypes_5 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_5
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 6

#elif _VT_VISIT_VALUE_EXT_N == 6
namespace {
using _VtVisitValueExtTypes_6 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_6
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 7

#elif _VT_VISIT_VALUE_EXT_N == 7
namespace {
using _VtVisitValueExtTypes_7 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_7
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 8

#elif _VT_VISIT_VALUE_EXT_N == 8
namespace {
using _VtVisitValueExtTypes_8 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_8
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 9

#elif _VT_VISIT_VALUE_EXT_N == 9
namespace {
using _VtVisitValueExtTypes_9 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_9
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 10

#elif _VT_VISIT_VALUE_EXT_N == 10
namespace {
using _VtVisitValueExtTypes_10 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_10
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 11

#elif _VT_VISIT_VALUE_EXT_N == 11
namespace {
using _VtVisitValueExtTypes_11 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_11
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 12

#elif _VT_VISIT_VALUE_EXT_N == 12
namespace {
using _VtVisitValueExtTypes_12 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_12
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 13

#elif _VT_VISIT_VALUE_EXT_N == 13
namespace {
using _VtVisitValueExtTypes_13 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_13
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 14

#elif _VT_VISIT_VALUE_EXT_N == 14
namespace {
using _VtVisitValueExtTypes_14 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_14
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 15

#elif _VT_VISIT_VALUE_EXT_N == 15
namespace {
using _VtVisitValueExtTypes_15 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_15
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 16

#elif _VT_VISIT_VALUE_EXT_N == 16
namespace {
using _VtVisitValueExtTypes_16 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_16
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 17

#elif _VT_VISIT_VALUE_EXT_N == 17
namespace {
using _VtVisitValueExtTypes_17 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_17
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 18

#elif _VT_VISIT_VALUE_EXT_N == 18
namespace {
using _VtVisitValueExtTypes_18 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_18
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 19

#elif _VT_VISIT_VALUE_EXT_N == 19
namespace {
using _VtVisitValueExtTypes_19 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_19
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 20

#elif _VT_VISIT_VALUE_EXT_N == 20
namespace {
using _VtVisitValueExtTypes_20 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_20
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 21

#elif _VT_VISIT_VALUE_EXT_N == 21
namespace {
using _VtVisitValueExtTypes_21 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_21
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 22

#elif _VT_VISIT_VALUE_EXT_N == 22
namespace {
using _VtVisitValueExtTypes_22 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_22
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 23

#elif _VT_VISIT_VALUE_EXT_N == 23
namespace {
using _VtVisitValueExtTypes_23 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_23
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 24

#elif _VT_VISIT_VALUE_EXT_N == 24
namespace {
using _VtVisitValueExtTypes_24 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_24
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 25

#elif _VT_VISIT_VALUE_EXT_N == 25
namespace {
using _VtVisitValueExtTypes_25 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_25
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 26

#elif _VT_VISIT_VALUE_EXT_N == 26
namespace {
using _VtVisitValueExtTypes_26 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_26
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 27

#elif _VT_VISIT_VALUE_EXT_N == 27
namespace {
using _VtVisitValueExtTypes_27 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_27
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 28

#elif _VT_VISIT_VALUE_EXT_N == 28
namespace {
using _VtVisitValueExtTypes_28 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_28
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 29

#elif _VT_VISIT_VALUE_EXT_N == 29
namespace {
using _VtVisitValueExtTypes_29 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_29
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 30

#elif _VT_VISIT_VALUE_EXT_N == 30
namespace {
using _VtVisitValueExtTypes_30 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_30
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 31

#elif _VT_VISIT_VALUE_EXT_N == 31
namespace {
using _VtVisitValueExtTypes_31 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_31
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 32

#elif _VT_VISIT_VALUE_EXT_N == 32
namespace {
using _VtVisitValueExtTypes_32 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_32
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 33

#elif _VT_VISIT_VALUE_EXT_N == 33
namespace {
using _VtVisitValueExtTypes_33 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_33
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 34

#elif _VT_VISIT_VALUE_EXT_N == 34
namespace {
using _VtVisitValueExtTypes_34 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_34
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 35

#elif _VT_VISIT_VALUE_EXT_N == 35
namespace {
using _VtVisitValueExtTypes_35 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_35
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 36

#elif _VT_VISIT_VALUE_EXT_N == 36
namespace {
using _VtVisitValueExtTypes_36 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_36
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 37

#elif _VT_VISIT_VALUE_EXT_N == 37
namespace {
using _VtVisitValueExtTypes_37 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_37
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 38

#elif _VT_VISIT_VALUE_EXT_N == 38
namespace {
using _VtVisitValueExtTypes_38 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_38
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 39

#elif _VT_VISIT_VALUE_EXT_N == 39
namespace {
using _VtVisitValueExtTypes_39 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_39
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 40

#elif _VT_VISIT_VALUE_EXT_N == 40
namespace {
using _VtVisitValueExtTypes_40 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_40
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 41

#elif _VT_VISIT_VALUE_EXT_N == 41
namespace {
using _VtVisitValueExtTypes_41 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_41
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 42

#elif _VT_VISIT_VALUE_EXT_N == 42
namespace {
using _VtVisitValueExtTypes_42 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_42
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 43

#elif _VT_VISIT_VALUE_EXT_N == 43
namespace {
using _VtVisitValueExtTypes_43 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_43
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 44

#elif _VT_VISIT_VALUE_EXT_N == 44
namespace {
using _VtVisitValueExtTypes_44 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_44
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 45

#elif _VT_VISIT_VALUE_EXT_N == 45
namespace {
using _VtVisitValueExtTypes_45 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_45
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 46

#elif _VT_VISIT_VALUE_EXT_N == 46
namespace {
using _VtVisitValueExtTypes_46 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_46
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 47

#elif _VT_VISIT_VALUE_EXT_N == 47
namespace {
using _VtVisitValueExtTypes_47 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_47
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 48

#elif _VT_VISIT_VALUE_EXT_N == 48
namespace {
using _VtVisitValueExtTypes_48 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_48
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 49

#elif _VT_VISIT_VALUE_EXT_N == 49
namespace {
using _VtVisitValueExtTypes_49 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_49
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 50

#elif _VT_VISIT_VALUE_EXT_N == 50
namespace {
using _VtVisitValueExtTypes_50 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_50
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 51

#elif _VT_VISIT_VALUE_EXT_N == 51
namespace {
using _VtVisitValueExtTypes_51 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_51
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 52

#elif _VT_VISIT_VALUE_EXT_N == 52
namespace {
using _VtVisitValueExtTypes_52 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_52
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 53

#elif _VT_VISIT_VALUE_EXT_N == 53
namespace {
using _VtVisitValueExtTypes_53 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_53
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 54

#elif _VT_VISIT_VALUE_EXT_N == 54
namespace {
using _VtVisitValueExtTypes_54 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_54
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 55

#elif _VT_VISIT_VALUE_EXT_N == 55
namespace {
using _VtVisitValueExtTypes_55 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_55
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 56

#elif _VT_VISIT_VALUE_EXT_N == 56
namespace {
using _VtVisitValueExtTypes_56 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_56
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 57

#elif _VT_VISIT_VALUE_EXT_N == 57
namespace {
using _VtVisitValueExtTypes_57 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_57
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 58

#elif _VT_VISIT_VALUE_EXT_N == 58
namespace {
using _VtVisitValueExtTypes_58 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_58
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 59

#elif _VT_VISIT_VALUE_EXT_N == 59
namespace {
using _VtVisitValueExtTypes_59 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_59
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 60

#elif _VT_VISIT_VALUE_EXT_N == 60
namespace {
using _VtVisitValueExtTypes_60 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_60
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 61

#elif _VT_VISIT_VALUE_EXT_N == 61
namespace {
using _VtVisitValueExtTypes_61 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_61
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 62

#elif _VT_VISIT_VALUE_EXT_N == 62
namespace {
using _VtVisitValueExtTypes_62 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_62
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 63

#elif _VT_VISIT_VALUE_EXT_N == 63
namespace {
using _VtVisitValueExtTypes_63 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_63
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 64

#elif _VT_VISIT_VALUE_EXT_N == 64
namespace {
using _VtVisitValueExtTypes_64 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_64
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 65

#elif _VT_VISIT_VALUE_EXT_N == 65
namespace {
using _VtVisitValueExtTypes_65 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_65
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 66

#elif _VT_VISIT_VALUE_EXT_N == 66
namespace {
using _VtVisitValueExtTypes_66 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_66
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 67

#elif _VT_VISIT_VALUE_EXT_N == 67
namespace {
using _VtVisitValueExtTypes_67 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_67
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 68

#elif _VT_VISIT_VALUE_EXT_N == 68
namespace {
using _VtVisitValueExtTypes_68 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_68
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 69

#elif _VT_VISIT_VALUE_EXT_N == 69
namespace {
using _VtVisitValueExtTypes_69 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_69
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 70

#elif _VT_VISIT_VALUE_EXT_N == 70
namespace {
using _VtVisitValueExtTypes_70 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_70
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 71

#elif _VT_VISIT_VALUE_EXT_N == 71
namespace {
using _VtVisitValueExtTypes_71 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_71
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 72

#elif _VT_VISIT_VALUE_EXT_N == 72
namespace {
using _VtVisitValueExtTypes_72 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_72
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 73

#elif _VT_VISIT_VALUE_EXT_N == 73
namespace {
using _VtVisitValueExtTypes_73 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_73
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 74

#elif _VT_VISIT_VALUE_EXT_N == 74
namespace {
using _VtVisitValueExtTypes_74 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_74
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 75

#elif _VT_VISIT_VALUE_EXT_N == 75
namespace {
using _VtVisitValueExtTypes_75 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_75
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 76

#elif _VT_VISIT_VALUE_EXT_N == 76
namespace {
using _VtVisitValueExtTypes_76 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_76
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 77

#elif _VT_VISIT_VALUE_EXT_N == 77
namespace {
using _VtVisitValueExtTypes_77 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_77
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 78

#elif _VT_VISIT_VALUE_EXT_N == 78
namespace {
using _VtVisitValueExtTypes_78 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_78
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 79

#elif _VT_VISIT_VALUE_EXT_N == 79
namespace {
using _VtVisitValueExtTypes_79 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_79
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 80

#elif _VT_VISIT_VALUE_EXT_N == 80
namespace {
using _VtVisitValueExtTypes_80 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_80
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 81

#elif _VT_VISIT_VALUE_EXT_N == 81
namespace {
using _VtVisitValueExtTypes_81 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_81
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 82

#elif _VT_VISIT_VALUE_EXT_N == 82
namespace {
using _VtVisitValueExtTypes_82 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_82
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 83

#elif _VT_VISIT_VALUE_EXT_N == 83
namespace {
using _VtVisitValueExtTypes_83 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_83
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 84

#elif _VT_VISIT_VALUE_EXT_N == 84
namespace {
using _VtVisitValueExtTypes_84 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_84
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 85

#elif _VT_VISIT_VALUE_EXT_N == 85
namespace {
using _VtVisitValueExtTypes_85 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_85
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 86

#elif _VT_VISIT_VALUE_EXT_N == 86
namespace {
using _VtVisitValueExtTypes_86 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_86
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 87

#elif _VT_VISIT_VALUE_EXT_N == 87
namespace {
using _VtVisitValueExtTypes_87 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_87
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 88

#elif _VT_VISIT_VALUE_EXT_N == 88
namespace {
using _VtVisitValueExtTypes_88 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_88
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 89

#elif _VT_VISIT_VALUE_EXT_N == 89
namespace {
using _VtVisitValueExtTypes_89 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_89
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 90

#elif _VT_VISIT_VALUE_EXT_N == 90
namespace {
using _VtVisitValueExtTypes_90 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_90
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 91

#elif _VT_VISIT_VALUE_EXT_N == 91
namespace {
using _VtVisitValueExtTypes_91 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_91
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 92

#elif _VT_VISIT_VALUE_EXT_N == 92
namespace {
using _VtVisitValueExtTypes_92 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_92
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 93

#elif _VT_VISIT_VALUE_EXT_N == 93
namespace {
using _VtVisitValueExtTypes_93 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_93
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 94

#elif _VT_VISIT_VALUE_EXT_N == 94
namespace {
using _VtVisitValueExtTypes_94 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_94
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 95

#elif _VT_VISIT_VALUE_EXT_N == 95
namespace {
using _VtVisitValueExtTypes_95 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_95
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 96

#elif _VT_VISIT_VALUE_EXT_N == 96
namespace {
using _VtVisitValueExtTypes_96 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_96
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 97

#elif _VT_VISIT_VALUE_EXT_N == 97
namespace {
using _VtVisitValueExtTypes_97 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_97
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 98

#elif _VT_VISIT_VALUE_EXT_N == 98
namespace {
using _VtVisitValueExtTypes_98 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_98
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 99

#elif _VT_VISIT_VALUE_EXT_N == 99
namespace {
using _VtVisitValueExtTypes_99 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_99
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 100

#elif _VT_VISIT_VALUE_EXT_N == 100
namespace {
using _VtVisitValueExtTypes_100 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_100
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 101

#elif _VT_VISIT_VALUE_EXT_N == 101
namespace {
using _VtVisitValueExtTypes_101 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_101
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 102

#elif _VT_VISIT_VALUE_EXT_N == 102
namespace {
using _VtVisitValueExtTypes_102 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_102
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 103

#elif _VT_VISIT_VALUE_EXT_N == 103
namespace {
using _VtVisitValueExtTypes_103 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_103
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 104

#elif _VT_VISIT_VALUE_EXT_N == 104
namespace {
using _VtVisitValueExtTypes_104 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_104
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 105

#elif _VT_VISIT_VALUE_EXT_N == 105
namespace {
using _VtVisitValueExtTypes_105 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_105
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 106

#elif _VT_VISIT_VALUE_EXT_N == 106
namespace {
using _VtVisitValueExtTypes_106 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_106
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 107

#elif _VT_VISIT_VALUE_EXT_N == 107
namespace {
using _VtVisitValueExtTypes_107 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_107
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 108

#elif _VT_VISIT_VALUE_EXT_N == 108
namespace {
using _VtVisitValueExtTypes_108 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_108
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 109

#elif _VT_VISIT_VALUE_EXT_N == 109
namespace {
using _VtVisitValueExtTypes_109 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_109
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 110

#elif _VT_VISIT_VALUE_EXT_N == 110
namespace {
using _VtVisitValueExtTypes_110 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_110
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 111

#elif _VT_VISIT_VALUE_EXT_N == 111
namespace {
using _VtVisitValueExtTypes_111 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_111
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 112

#elif _VT_VISIT_VALUE_EXT_N == 112
namespace {
using _VtVisitValueExtTypes_112 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_112
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 113

#elif _VT_VISIT_VALUE_EXT_N == 113
namespace {
using _VtVisitValueExtTypes_113 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_113
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 114

#elif _VT_VISIT_VALUE_EXT_N == 114
namespace {
using _VtVisitValueExtTypes_114 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_114
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 115

#elif _VT_VISIT_VALUE_EXT_N == 115
namespace {
using _VtVisitValueExtTypes_115 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_115
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 116

#elif _VT_VISIT_VALUE_EXT_N == 116
namespace {
using _VtVisitValueExtTypes_116 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_116
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 117

#elif _VT_VISIT_VALUE_EXT_N == 117
namespace {
using _VtVisitValueExtTypes_117 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_117
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 118

#elif _VT_VISIT_VALUE_EXT_N == 118
namespace {
using _VtVisitValueExtTypes_118 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_118
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 119

#elif _VT_VISIT_VALUE_EXT_N == 119
namespace {
using _VtVisitValueExtTypes_119 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_119
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 120

#elif _VT_VISIT_VALUE_EXT_N == 120
namespace {
using _VtVisitValueExtTypes_120 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_120
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 121

#elif _VT_VISIT_VALUE_EXT_N == 121
namespace {
using _VtVisitValueExtTypes_121 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_121
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 122

#elif _VT_VISIT_VALUE_EXT_N == 122
namespace {
using _VtVisitValueExtTypes_122 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_122
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 123

#elif _VT_VISIT_VALUE_EXT_N == 123
namespace {
using _VtVisitValueExtTypes_123 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_123
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 124

#elif _VT_VISIT_VALUE_EXT_N == 124
namespace {
using _VtVisitValueExtTypes_124 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_124
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 125

#elif _VT_VISIT_VALUE_EXT_N == 125
namespace {
using _VtVisitValueExtTypes_125 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_125
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 126

#elif _VT_VISIT_VALUE_EXT_N == 126
namespace {
using _VtVisitValueExtTypes_126 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_126
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 127

#elif _VT_VISIT_VALUE_EXT_N == 127
namespace {
using _VtVisitValueExtTypes_127 =
    PXR_NS_GLOBAL::TfMetaConcat<VT_VISIT_VALUE_EXT_TYPES,
        PXR_NS_GLOBAL::TfMetaList<VT_ADD_EXT_VISIT_VALUE_TYPE>>;
}
#  undef VT_VISIT_VALUE_EXT_TYPES
#  define VT_VISIT_VALUE_EXT_TYPES _VtVisitValueExtTypes_127
#  undef _VT_VISIT_VALUE_EXT_N
#  define _VT_VISIT_VALUE_EXT_N 128
#else
#  error "Too many extended visit-value types (max 128)."
#endif

#undef VT_ADD_EXT_VISIT_VALUE_TYPE
