HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PlainOldDataType.h File Reference
#include <Alembic/Util/Foundation.h>
#include <Alembic/Util/Exception.h>
#include <stdint.h>
+ Include dependency graph for PlainOldDataType.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Alembic::Util::ALEMBIC_VERSION_NS::bool_t
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraits< PODT, T >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< PENUM >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kBooleanPOD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kUint8POD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kInt8POD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kUint16POD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kInt16POD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kUint32POD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kInt32POD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kUint64POD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kInt64POD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kFloat16POD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kFloat32POD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kFloat64POD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kStringPOD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromEnum< kWstringPOD >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< PTYPE >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< bool_t >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< uint8_t >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< int8_t >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< uint16_t >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< int16_t >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< uint32_t >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< int32_t >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< uint64_t >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< int64_t >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< float16_t >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< float32_t >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< float64_t >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< string >
 
struct  Alembic::Util::ALEMBIC_VERSION_NS::PODTraitsFromType< wstring >
 

Namespaces

 Alembic
 Alembic namespace ...
 
 Alembic::Util
 
 Alembic::Util::ALEMBIC_VERSION_NS
 

Macros

#define DECLARE_TRAITS(PENUM, PTYPE, PNAME, DFLT, PTDEF)
 

Typedefs

typedef unsigned char Alembic::Util::ALEMBIC_VERSION_NS::byte_t
 
typedef half Alembic::Util::ALEMBIC_VERSION_NS::float16_t
 
typedef float Alembic::Util::ALEMBIC_VERSION_NS::float32_t
 
typedef double Alembic::Util::ALEMBIC_VERSION_NS::float64_t
 

Enumerations

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

Functions

bool Alembic::Util::ALEMBIC_VERSION_NS::operator== (const bool_t &a, const bool_t &b)
 
bool Alembic::Util::ALEMBIC_VERSION_NS::operator== (const bool_t &a, bool b)
 
bool Alembic::Util::ALEMBIC_VERSION_NS::operator== (bool a, const bool_t &b)
 
bool Alembic::Util::ALEMBIC_VERSION_NS::operator!= (const bool_t &a, const bool_t &b)
 
bool Alembic::Util::ALEMBIC_VERSION_NS::operator!= (const bool_t &a, bool b)
 
bool Alembic::Util::ALEMBIC_VERSION_NS::operator!= (bool a, const bool_t &b)
 
 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", 0, Uint8PODTraits)
 
 Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS (kInt8POD, int8_t,"int8_t", 0, Int8PODTraits)
 
 Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS (kUint16POD, uint16_t,"uint16_t", 0, Uint16PODTraits)
 
 Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS (kInt16POD, int16_t,"int16_t", 0, Int16PODTraits)
 
 Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS (kUint32POD, uint32_t,"uint32_t", 0, Uint32PODTraits)
 
 Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS (kInt32POD, int32_t,"int32_t", 0, Int32PODTraits)
 
 Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS (kUint64POD, uint64_t,"uint64_t", 0, Uint64PODTraits)
 
 Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS (kInt64POD, int64_t,"int64_t", 0, Int64PODTraits)
 
 Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS (kFloat16POD, float16_t,"float16_t", 0, Float16PODTraits)
 
 Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS (kFloat32POD, float32_t,"float32_t", 0, Float32PODTraits)
 
 Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS (kFloat64POD, float64_t,"float64_t", 0, Float64PODTraits)
 
 Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS (kStringPOD, string,"string","", StringPODTraits)
 
 Alembic::Util::ALEMBIC_VERSION_NS::DECLARE_TRAITS (kWstringPOD, wstring,"wstring", L"", WstringPODTraits)
 
size_t Alembic::Util::ALEMBIC_VERSION_NS::PODNumBytes (PlainOldDataType pod)
 
const char * Alembic::Util::ALEMBIC_VERSION_NS::PODName (PlainOldDataType pod)
 
PlainOldDataType Alembic::Util::ALEMBIC_VERSION_NS::PODFromName (const std::string &n)
 
template<PlainOldDataType POD>
void Alembic::Util::ALEMBIC_VERSION_NS::PODSetDefaultPOD (void *addr)
 This actually does work with strings! More...
 
void Alembic::Util::ALEMBIC_VERSION_NS::PODSetDefault (PlainOldDataType pod, void *bytes)
 

Macro Definition Documentation

#define DECLARE_TRAITS (   PENUM,
  PTYPE,
  PNAME,
  DFLT,
  PTDEF 
)
Value:
template <> \
struct PODTraits< PENUM , PTYPE > \
{ \
static const PlainOldDataType pod_enum = PENUM ; \
typedef PTYPE value_type ; \
static const char * name() { return PNAME ; } \
static PTYPE default_value() \
{ return ( DFLT ) ; } \
static size_t numBytes() \
{ return sizeof( PTYPE ) ; } \
}; \
typedef PODTraits< PENUM , PTYPE > PTDEF
uint64 value_type
Definition: GA_PrimCompat.h:29
GLuint const GLchar * name
Definition: glcorearb.h:786

Unfortunately, C++ only allows for static const declaration of constants with integral types, not floating. Therefore, we have the whole inlined static function for default values.

Definition at line 238 of file PlainOldDataType.h.