7#ifndef PXR_BASE_VT_STREAM_OUT_H
8#define PXR_BASE_VT_STREAM_OUT_H
11#include "pxr/base/vt/api.h"
13#include "pxr/base/tf/functionRef.h"
19PXR_NAMESPACE_OPEN_SCOPE
25Vt_StreamOutGeneric(std::type_info
const &type,
27 std::ostream &stream);
32Vt_StreamOutImpl(T
const &obj, std::ostream &stream,
int)
33 ->
decltype(stream << obj)
41Vt_StreamOutImpl(T
const &obj, std::ostream &stream,
long)
43 return Vt_StreamOutGeneric(
44 typeid(T),
static_cast<void const *
>(&obj), stream);
51typename std::enable_if<!std::is_enum<T>::value, std::ostream &>::type
52VtStreamOut(T
const &obj, std::ostream &stream)
56 return Vt_StreamOutImpl(obj, stream, 0);
59typename std::enable_if<std::is_enum<EnumT>::value, std::ostream &>::type
60VtStreamOut(EnumT
const &e, std::ostream &stream)
64VT_API std::ostream &VtStreamOut(
bool const &, std::ostream &);
65VT_API std::ostream &VtStreamOut(
char const &, std::ostream &);
66VT_API std::ostream &VtStreamOut(
unsigned char const &, std::ostream &);
67VT_API std::ostream &VtStreamOut(
signed char const &, std::ostream &);
68VT_API std::ostream &VtStreamOut(
float const &, std::ostream &);
69VT_API std::ostream &VtStreamOut(
double const &, std::ostream &);
73VT_API
void VtStreamOutArray(std::ostream&,
const Vt_ShapeData*,
76#ifdef PXR_PYTHON_SUPPORT_ENABLED
77VT_API std::ostream &VtStreamOut(
class TfPyObjWrapper const &, std::ostream &);
80PXR_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.