HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Alembic::Util::ALEMBIC_VERSION_NS Namespace Reference

Classes

struct  Digest
 
class  BaseDimensions
 
class  Exception
 Base class for all exceptions in the Alembic libraries. Derived from both std::exception and std::string, publicly It is mostly commonly thrown using the macros. More...
 
class  noncopyable
 
class  totally_ordered
 
class  mutex
 
class  scoped_lock
 
class  bool_t
 
struct  PODTraits
 
struct  PODTraitsFromEnum
 
struct  PODTraitsFromEnum< kBooleanPOD >
 
struct  PODTraitsFromEnum< kUint8POD >
 
struct  PODTraitsFromEnum< kInt8POD >
 
struct  PODTraitsFromEnum< kUint16POD >
 
struct  PODTraitsFromEnum< kInt16POD >
 
struct  PODTraitsFromEnum< kUint32POD >
 
struct  PODTraitsFromEnum< kInt32POD >
 
struct  PODTraitsFromEnum< kUint64POD >
 
struct  PODTraitsFromEnum< kInt64POD >
 
struct  PODTraitsFromEnum< kFloat16POD >
 
struct  PODTraitsFromEnum< kFloat32POD >
 
struct  PODTraitsFromEnum< kFloat64POD >
 
struct  PODTraitsFromEnum< kStringPOD >
 
struct  PODTraitsFromEnum< kWstringPOD >
 
struct  PODTraitsFromType
 
struct  PODTraitsFromType< bool_t >
 
struct  PODTraitsFromType< uint8_t >
 
struct  PODTraitsFromType< int8_t >
 
struct  PODTraitsFromType< uint16_t >
 
struct  PODTraitsFromType< int16_t >
 
struct  PODTraitsFromType< uint32_t >
 
struct  PODTraitsFromType< int32_t >
 
struct  PODTraitsFromType< uint64_t >
 
struct  PODTraitsFromType< int64_t >
 
struct  PODTraitsFromType< float16_t >
 
struct  PODTraitsFromType< float32_t >
 
struct  PODTraitsFromType< float64_t >
 
struct  PODTraitsFromType< string >
 
struct  PODTraitsFromType< wstring >
 
class  SpookyHash
 
class  TokenMap
 A wrapper around std::map that serializes and deserializes the map into a doubly-tokenized string, usually of the form token=value;token=value;token=value;. More...
 

Typedefs

typedef BaseDimensions
< Alembic::Util::uint64_t > 
Dimensions
 
typedef unsigned char byte_t
 
typedef half float16_t
 
typedef float float32_t
 
typedef double float64_t
 

Enumerations

enum  PlainOldDataType {
  kBooleanPOD, kUint8POD, kInt8POD, kUint16POD,
  kInt16POD, kUint32POD, kInt32POD, kUint64POD,
  kInt64POD, kFloat16POD, kFloat32POD, kFloat64POD,
  kStringPOD, kWstringPOD, kNumPlainOldDataTypes, kUnknownPOD = 127
}
 

Functions

std::ostream & operator<< (std::ostream &ostr, const Digest &a)
 
template<class T , class Y >
bool operator== (const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
 
template<class T , class Y >
bool operator!= (const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
 
template<class T >
std::ostream & operator<< (std::ostream &ostr, const BaseDimensions< T > &a)
 
ALEMBIC_EXPORT void MurmurHash3_x64_128 (const void *key, const size_t len, const size_t podSize, void *out)
 
ALEMBIC_EXPORT bool isStandardName (const std::string &name)
 
ALEMBIC_EXPORT void makeStandardName (std::string &name, const char fixChar= '_')
 
bool operator== (const bool_t &a, const bool_t &b)
 
bool operator== (const bool_t &a, bool b)
 
bool operator== (bool a, const bool_t &b)
 
bool operator!= (const bool_t &a, const bool_t &b)
 
bool operator!= (const bool_t &a, bool b)
 
bool operator!= (bool a, const bool_t &b)
 
 DECLARE_TRAITS (kBooleanPOD, bool_t,"bool_t", false, BooleanPODTraits)
 
 DECLARE_TRAITS (kUint8POD, uint8_t,"uint8_t", 0, Uint8PODTraits)
 
 DECLARE_TRAITS (kInt8POD, int8_t,"int8_t", 0, Int8PODTraits)
 
 DECLARE_TRAITS (kUint16POD, uint16_t,"uint16_t", 0, Uint16PODTraits)
 
 DECLARE_TRAITS (kInt16POD, int16_t,"int16_t", 0, Int16PODTraits)
 
 DECLARE_TRAITS (kUint32POD, uint32_t,"uint32_t", 0, Uint32PODTraits)
 
 DECLARE_TRAITS (kInt32POD, int32_t,"int32_t", 0, Int32PODTraits)
 
 DECLARE_TRAITS (kUint64POD, uint64_t,"uint64_t", 0, Uint64PODTraits)
 
 DECLARE_TRAITS (kInt64POD, int64_t,"int64_t", 0, Int64PODTraits)
 
 DECLARE_TRAITS (kFloat16POD, float16_t,"float16_t", 0, Float16PODTraits)
 
 DECLARE_TRAITS (kFloat32POD, float32_t,"float32_t", 0, Float32PODTraits)
 
 DECLARE_TRAITS (kFloat64POD, float64_t,"float64_t", 0, Float64PODTraits)
 
 DECLARE_TRAITS (kStringPOD, string,"string","", StringPODTraits)
 
 DECLARE_TRAITS (kWstringPOD, wstring,"wstring", L"", WstringPODTraits)
 
size_t PODNumBytes (PlainOldDataType pod)
 
const char * PODName (PlainOldDataType pod)
 
PlainOldDataType PODFromName (const std::string &n)
 
template<PlainOldDataType POD>
void PODSetDefaultPOD (void *addr)
 This actually does work with strings! More...
 
void PODSetDefault (PlainOldDataType pod, void *bytes)
 
bool operator== (const TokenMap &iA, const TokenMap &iB)
 

Typedef Documentation

Bytes are unsigned chars, by definition. We use bytes in Alembic as the name of anonymous storage memory, since it is not possible to create arrays of voids.

Definition at line 56 of file PlainOldDataType.h.

Definition at line 189 of file Dimensions.h.

Definition at line 160 of file PlainOldDataType.h.

Definition at line 161 of file PlainOldDataType.h.

Enumeration Type Documentation

I'm using explicit names here because the terms 'int', 'short', 'long', etc, have different bit-depths on different machine architectures. To avoid any ambiguity whatsoever, I'm just making these explicit. End users will rarely see these anyway, so it's okay to be a bit pedantic.

These are always represented in the endian-ness of the host machine when resident in working memory, but need to have an explicit endian-ness when being written out. That's hidden from the user by HDF5.

Enumerator
kBooleanPOD 

Booleans are difficult to store in arrays in a 'one bit per bool' kind of way, so we actually file them as bytes (uint8). But again this is entirely hidden from the end user. Implemented via the "bool_t" type defined above.

kUint8POD 

Char/UChar.

kInt8POD 
kUint16POD 

Short/UShort.

kInt16POD 
kUint32POD 

Int/UInt.

kInt32POD 
kUint64POD 

Long/ULong.

kInt64POD 
kFloat16POD 

Half/Float/Double.

kFloat32POD 
kFloat64POD 
kStringPOD 

String Pointer.

kWstringPOD 

Wide String Pointer.

kNumPlainOldDataTypes 

Number of POD.

kUnknownPOD 

Unknown.

Definition at line 183 of file PlainOldDataType.h.

Function Documentation

Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kBooleanPOD  ,
bool_t  ,
"bool_t"  ,
false  ,
BooleanPODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kUint8POD  ,
uint8_t  ,
"uint8_t"  ,
,
Uint8PODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kInt8POD  ,
int8_t  ,
"int8_t"  ,
,
Int8PODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kUint16POD  ,
uint16_t  ,
"uint16_t"  ,
,
Uint16PODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kInt16POD  ,
int16_t  ,
"int16_t"  ,
,
Int16PODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kUint32POD  ,
uint32_t  ,
"uint32_t"  ,
,
Uint32PODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kInt32POD  ,
int32_t  ,
"int32_t"  ,
,
Int32PODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kUint64POD  ,
uint64_t  ,
"uint64_t"  ,
,
Uint64PODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kInt64POD  ,
int64_t  ,
"int64_t"  ,
,
Int64PODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kFloat16POD  ,
float16_t  ,
"float16_t"  ,
,
Float16PODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kFloat32POD  ,
float32_t  ,
"float32_t"  ,
,
Float32PODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kFloat64POD  ,
float64_t  ,
"float64_t"  ,
,
Float64PODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kStringPOD  ,
string  ,
"string"  ,
""  ,
StringPODTraits   
)
Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS ( kWstringPOD  ,
wstring  ,
"wstring"  ,
L""  ,
WstringPODTraits   
)
ALEMBIC_EXPORT bool Alembic::Util::ALEMBIC_VERSION_NS::isStandardName ( const std::string name)
ALEMBIC_EXPORT void Alembic::Util::ALEMBIC_VERSION_NS::makeStandardName ( std::string name,
const char  fixChar = '_' 
)
ALEMBIC_EXPORT void Alembic::Util::ALEMBIC_VERSION_NS::MurmurHash3_x64_128 ( const void key,
const size_t  len,
const size_t  podSize,
void out 
)
bool Alembic::Util::ALEMBIC_VERSION_NS::operator!= ( const bool_t &  a,
const bool_t &  b 
)
inline

Definition at line 122 of file PlainOldDataType.h.

bool Alembic::Util::ALEMBIC_VERSION_NS::operator!= ( const bool_t &  a,
bool  b 
)
inline

Definition at line 128 of file PlainOldDataType.h.

bool Alembic::Util::ALEMBIC_VERSION_NS::operator!= ( bool  a,
const bool_t &  b 
)
inline

Definition at line 134 of file PlainOldDataType.h.

template<class T , class Y >
bool Alembic::Util::ALEMBIC_VERSION_NS::operator!= ( const BaseDimensions< T > &  a,
const BaseDimensions< Y > &  b 
)
inline

Definition at line 165 of file Dimensions.h.

std::ostream& Alembic::Util::ALEMBIC_VERSION_NS::operator<< ( std::ostream &  ostr,
const Digest &  a 
)
inline

Definition at line 109 of file Digest.h.

template<class T >
std::ostream& Alembic::Util::ALEMBIC_VERSION_NS::operator<< ( std::ostream &  ostr,
const BaseDimensions< T > &  a 
)

Definition at line 173 of file Dimensions.h.

bool Alembic::Util::ALEMBIC_VERSION_NS::operator== ( const bool_t &  a,
const bool_t &  b 
)
inline

Definition at line 104 of file PlainOldDataType.h.

bool Alembic::Util::ALEMBIC_VERSION_NS::operator== ( const bool_t &  a,
bool  b 
)
inline

Definition at line 110 of file PlainOldDataType.h.

bool Alembic::Util::ALEMBIC_VERSION_NS::operator== ( bool  a,
const bool_t &  b 
)
inline

Definition at line 116 of file PlainOldDataType.h.

template<class T , class Y >
bool Alembic::Util::ALEMBIC_VERSION_NS::operator== ( const BaseDimensions< T > &  a,
const BaseDimensions< Y > &  b 
)

Definition at line 137 of file Dimensions.h.

bool Alembic::Util::ALEMBIC_VERSION_NS::operator== ( const TokenMap &  iA,
const TokenMap &  iB 
)
inline

Definition at line 308 of file TokenMap.h.

PlainOldDataType Alembic::Util::ALEMBIC_VERSION_NS::PODFromName ( const std::string n)
inline

Definition at line 385 of file PlainOldDataType.h.

const char* Alembic::Util::ALEMBIC_VERSION_NS::PODName ( PlainOldDataType  pod)
inline

Definition at line 358 of file PlainOldDataType.h.

size_t Alembic::Util::ALEMBIC_VERSION_NS::PODNumBytes ( PlainOldDataType  pod)
inline

Definition at line 332 of file PlainOldDataType.h.

void Alembic::Util::ALEMBIC_VERSION_NS::PODSetDefault ( PlainOldDataType  pod,
void bytes 
)
inline

Definition at line 415 of file PlainOldDataType.h.

template<PlainOldDataType POD>
void Alembic::Util::ALEMBIC_VERSION_NS::PODSetDefaultPOD ( void addr)
inline

This actually does work with strings!

Definition at line 407 of file PlainOldDataType.h.