OpenVDB 12.0.0
 
Loading...
Searching...
No Matches
TypedMetadata< T > Class Template Reference

Templated metadata class to hold specific types. More...

#include <openvdb/Metadata.h>

Inheritance diagram for TypedMetadata< T >:
Metadata

Public Types

using Ptr = SharedPtr<TypedMetadata<T>>
 
using ConstPtr = SharedPtr<const TypedMetadata<T>>
 

Public Member Functions

 TypedMetadata ()
 
 TypedMetadata (const T &value)
 
 TypedMetadata (const TypedMetadata< T > &other)
 
 ~TypedMetadata () override
 
Name typeName () const override
 Return the type name of the metadata.
 
Metadata::Ptr copy () const override
 Return a copy of the metadata.
 
void copy (const Metadata &other) override
 Copy the given metadata into this metadata.
 
std::string str () const override
 Return a textual representation of this metadata.
 
bool asBool () const override
 
Index32 size () const override
 Return the size of this metadata in bytes.
 
void setValue (const T &)
 Set this metadata's value.
 
T & value ()
 Return this metadata's value.
 
const T & value () const
 
std::string str () const
 Return a textual representation of this metadata.
 
bool operator== (const Metadata &other) const
 Return true if the given metadata is equivalent to this metadata.
 
bool operator!= (const Metadata &other) const
 Return true if the given metadata is different from this metadata.
 
void read (std::istream &)
 Unserialize this metadata from a stream.
 
void write (std::ostream &) const
 Serialize this metadata to a stream.
 

Static Public Member Functions

static Name staticTypeName ()
 
static Metadata::Ptr createMetadata ()
 Create new metadata of this type.
 
static void registerType ()
 
static void unregisterType ()
 
static bool isRegisteredType ()
 
static Metadata::Ptr createMetadata (const Name &typeName)
 Create new metadata of the given type.
 
static bool isRegisteredType (const Name &typeName)
 Return true if the given type is known by the metadata type registry.
 
static void clearRegistry ()
 Clear out the metadata registry.
 
static void registerType (const Name &typeName, Metadata::Ptr(*createMetadata)())
 Register the given metadata type along with a factory function.
 
static void unregisterType (const Name &typeName)
 

Protected Member Functions

void readValue (std::istream &, Index32 numBytes) override
 Read the metadata from a stream.
 
void writeValue (std::ostream &) const override
 Write the metadata to a stream.
 
void writeSize (std::ostream &) const
 Write the size of the metadata to a stream.
 

Static Protected Member Functions

static Index32 readSize (std::istream &)
 Read the size of the metadata from a stream.
 

Detailed Description

template<typename T>
class openvdb::v12_0::TypedMetadata< T >

Templated metadata class to hold specific types.

Member Typedef Documentation

◆ ConstPtr

template<typename T>
using ConstPtr = SharedPtr<const TypedMetadata<T>>

◆ Ptr

template<typename T>
using Ptr = SharedPtr<TypedMetadata<T>>

Constructor & Destructor Documentation

◆ TypedMetadata() [1/3]

template<typename T>
TypedMetadata ( )
inline

◆ TypedMetadata() [2/3]

template<typename T>
TypedMetadata ( const T & value)
inline

◆ TypedMetadata() [3/3]

template<typename T>
TypedMetadata ( const TypedMetadata< T > & other)
inline

◆ ~TypedMetadata()

template<typename T>
~TypedMetadata ( )
inlineoverride

Member Function Documentation

◆ asBool()

template<typename T>
bool asBool ( ) const
inlineoverridevirtual

Return the boolean representation of this metadata (empty strings and zeroVals evaluate to false; most other values evaluate to true).

Implements Metadata.

◆ clearRegistry()

static void clearRegistry ( )
staticinherited

Clear out the metadata registry.

◆ copy() [1/2]

template<typename T>
Metadata::Ptr copy ( ) const
inlineoverridevirtual

Return a copy of the metadata.

Implements Metadata.

◆ copy() [2/2]

template<typename T>
void copy ( const Metadata & other)
inlineoverridevirtual

Copy the given metadata into this metadata.

Implements Metadata.

◆ createMetadata() [1/2]

static Metadata::Ptr createMetadata ( const Name & typeName)
staticinherited

Create new metadata of the given type.

◆ createMetadata() [2/2]

template<typename T>
Metadata::Ptr createMetadata ( )
inlinestatic

Create new metadata of this type.

◆ isRegisteredType() [1/2]

static bool isRegisteredType ( const Name & typeName)
staticinherited

Return true if the given type is known by the metadata type registry.

◆ isRegisteredType() [2/2]

template<typename T>
bool isRegisteredType ( )
inlinestatic

◆ operator!=()

bool operator!= ( const Metadata & other) const
inlineinherited

Return true if the given metadata is different from this metadata.

◆ operator==()

bool operator== ( const Metadata & other) const
inherited

Return true if the given metadata is equivalent to this metadata.

◆ read()

void read ( std::istream & is)
inlineinherited

Unserialize this metadata from a stream.

◆ readSize()

Index32 readSize ( std::istream & is)
inlinestaticprotectedinherited

Read the size of the metadata from a stream.

◆ readValue()

template<typename T>
void readValue ( std::istream & ,
Index32 numBytes )
inlineoverrideprotectedvirtual

Read the metadata from a stream.

Implements Metadata.

◆ registerType() [1/2]

static void registerType ( const Name & typeName,
Metadata::Ptr(* createMetadata )() )
staticinherited

Register the given metadata type along with a factory function.

◆ registerType() [2/2]

template<typename T>
void registerType ( )
inlinestatic

◆ setValue()

template<typename T>
void setValue ( const T & val)
inline

Set this metadata's value.

◆ size()

template<typename T>
Index32 size ( ) const
inlineoverridevirtual

Return the size of this metadata in bytes.

Implements Metadata.

◆ staticTypeName()

template<typename T>
static Name staticTypeName ( )
inlinestatic

◆ str() [1/2]

std::string str ( ) const
inlinevirtual

Return a textual representation of this metadata.

Implements Metadata.

◆ str() [2/2]

template<typename T>
std::string str ( ) const
inlineoverridevirtual

Return a textual representation of this metadata.

Implements Metadata.

◆ typeName()

template<typename T>
Name typeName ( ) const
inlineoverridevirtual

Return the type name of the metadata.

Implements Metadata.

◆ unregisterType() [1/2]

static void unregisterType ( const Name & typeName)
staticinherited

◆ unregisterType() [2/2]

template<typename T>
void unregisterType ( )
inlinestatic

◆ value() [1/2]

template<typename T>
T & value ( )
inline

Return this metadata's value.

◆ value() [2/2]

template<typename T>
const T & value ( ) const
inline

◆ write()

void write ( std::ostream & os) const
inlineinherited

Serialize this metadata to a stream.

◆ writeSize()

void writeSize ( std::ostream & os) const
inlineprotectedinherited

Write the size of the metadata to a stream.

◆ writeValue()

template<typename T>
void writeValue ( std::ostream & ) const
inlineoverrideprotectedvirtual

Write the metadata to a stream.

Implements Metadata.