24#ifndef PXR_BASE_VT_STREAM_OUT_H
25#define PXR_BASE_VT_STREAM_OUT_H
28#include "pxr/base/vt/api.h"
30#include "pxr/base/tf/functionRef.h"
36PXR_NAMESPACE_OPEN_SCOPE
42Vt_StreamOutGeneric(std::type_info
const &type,
44 std::ostream &stream);
49Vt_StreamOutImpl(T
const &obj, std::ostream &stream,
int)
50 ->
decltype(stream << obj)
58Vt_StreamOutImpl(T
const &obj, std::ostream &stream,
long)
60 return Vt_StreamOutGeneric(
61 typeid(T),
static_cast<void const *
>(&obj), stream);
68typename std::enable_if<!std::is_enum<T>::value, std::ostream &>::type
69VtStreamOut(T
const &obj, std::ostream &stream)
73 return Vt_StreamOutImpl(obj, stream, 0);
76typename std::enable_if<std::is_enum<EnumT>::value, std::ostream &>::type
77VtStreamOut(EnumT
const &e, std::ostream &stream)
81VT_API std::ostream &VtStreamOut(
bool const &, std::ostream &);
82VT_API std::ostream &VtStreamOut(
char const &, std::ostream &);
83VT_API std::ostream &VtStreamOut(
unsigned char const &, std::ostream &);
84VT_API std::ostream &VtStreamOut(
signed char const &, std::ostream &);
85VT_API std::ostream &VtStreamOut(
float const &, std::ostream &);
86VT_API std::ostream &VtStreamOut(
double const &, std::ostream &);
90VT_API
void VtStreamOutArray(std::ostream&,
const Vt_ShapeData*,
93#ifdef PXR_PYTHON_SUPPORT_ENABLED
94VT_API std::ostream &VtStreamOut(
class TfPyObjWrapper const &, std::ostream &);
97PXR_NAMESPACE_CLOSE_SCOPE
static TF_API std::string GetName(TfEnum val)
Returns the name associated with an enumerated value.
This class provides a non-owning reference to a type-erased callable object with a specified signatur...
Boost Python object wrapper.