vsg  1.1.0
VulkanSceneGraph library
Public Types | Public Member Functions | Public Attributes | List of all members
vsg::Output Class Referenceabstract

#include <Output.h>

Inheritance diagram for vsg::Output:
Inheritance graph
[legend]
Collaboration diagram for vsg::Output:
Collaboration graph
[legend]

Public Types

using ObjectID = uint32_t
 
using ObjectIDMap = std::unordered_map< const vsg::Object *, ObjectID >
 

Public Member Functions

 Output (ref_ptr< const Options > in_options={})
 
Outputoperator= (const Output &rhs)=delete
 
virtual void writePropertyName (const char *propertyName)=0
 write property name if appropriate for format
 
virtual void writeEndOfLine ()=0
 write end of line character if required.
 
virtual void write (size_t num, const int8_t *value)=0
 write contiguous array of value(s)
 
virtual void write (size_t num, const uint8_t *value)=0
 
virtual void write (size_t num, const int16_t *value)=0
 
virtual void write (size_t num, const uint16_t *value)=0
 
virtual void write (size_t num, const int32_t *value)=0
 
virtual void write (size_t num, const uint32_t *value)=0
 
virtual void write (size_t num, const int64_t *value)=0
 
virtual void write (size_t num, const uint64_t *value)=0
 
virtual void write (size_t num, const float *value)=0
 
virtual void write (size_t num, const double *value)=0
 
virtual void write (size_t num, const std::string *value)=0
 
virtual void write (size_t num, const std::wstring *value)=0
 
virtual void write (size_t num, const Path *value)=0
 
virtual void write (const Object *object)=0
 write object
 
void write (size_t num, const char *value)
 map char to int8_t
 
void write (size_t num, const bool *value)
 
void write (size_t num, const vec2 *value)
 
void write (size_t num, const vec3 *value)
 
void write (size_t num, const vec4 *value)
 
void write (size_t num, const dvec2 *value)
 
void write (size_t num, const dvec3 *value)
 
void write (size_t num, const dvec4 *value)
 
void write (size_t num, const bvec2 *value)
 
void write (size_t num, const bvec3 *value)
 
void write (size_t num, const bvec4 *value)
 
void write (size_t num, const ubvec2 *value)
 
void write (size_t num, const ubvec3 *value)
 
void write (size_t num, const ubvec4 *value)
 
void write (size_t num, const svec2 *value)
 
void write (size_t num, const svec3 *value)
 
void write (size_t num, const svec4 *value)
 
void write (size_t num, const usvec2 *value)
 
void write (size_t num, const usvec3 *value)
 
void write (size_t num, const usvec4 *value)
 
void write (size_t num, const ivec2 *value)
 
void write (size_t num, const ivec3 *value)
 
void write (size_t num, const ivec4 *value)
 
void write (size_t num, const uivec2 *value)
 
void write (size_t num, const uivec3 *value)
 
void write (size_t num, const uivec4 *value)
 
void write (size_t num, const quat *value)
 
void write (size_t num, const dquat *value)
 
void write (size_t num, const mat3 *value)
 
void write (size_t num, const dmat3 *value)
 
void write (size_t num, const mat4 *value)
 
void write (size_t num, const dmat4 *value)
 
void write (size_t num, const sphere *value)
 
void write (size_t num, const dsphere *value)
 
void write (size_t num, const box *value)
 
void write (size_t num, const dbox *value)
 
void write (size_t num, const plane *value)
 
void write (size_t num, const dplane *value)
 
template<typename T >
void write (size_t num, const T *value)
 
template<typename T >
void write (const char *propertyName, const ref_ptr< T > &object)
 
template<typename T >
void writeObjects (const char *propertyName, const T &values)
 
template<typename T >
void writeValues (const char *propertyName, const std::vector< T > &values)
 
template<typename T >
void writeValues (const char *propertyName, const std::set< T > &values)
 
template<typename... Args>
void write (const char *propertyName, Args &... args)
 match propertyname and write value(s)
 
void writeObject (const char *propertyName, const Object *object)
 
template<typename W , typename T >
void writeValue (const char *propertyName, T value)
 write a value casting it to specified type i.e. output.write<uint32_t>("Value", value);
 
virtual bool version_less (uint32_t major, uint32_t minor, uint32_t patch, uint32_t soversion=0) const
 
virtual bool version_greater_equal (uint32_t major, uint32_t minor, uint32_t patch, uint32_t soversion=0) const
 

Public Attributes

ObjectID objectID = 1
 
ObjectIDMap objectIDMap
 
ref_ptr< const Optionsoptions
 
VsgVersion version
 

Detailed Description

Base class that provides a means of writing out a range of data types to an output stream. Used by vsg::Object::write(Output&) implementations across the VSG to provide native serialization to binary/ascii files


The documentation for this class was generated from the following file: