Alembic Version 1.1
Loading...
Searching...
No Matches
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 >
class  Alembic::Util::ALEMBIC_VERSION_NS::uint8_t
class  Alembic::Util::ALEMBIC_VERSION_NS::int8_t
class  Alembic::Util::ALEMBIC_VERSION_NS::uint32_t
class  Alembic::Util::ALEMBIC_VERSION_NS::int32_t
class  Alembic::Util::ALEMBIC_VERSION_NS::uint64_t
class  Alembic::Util::ALEMBIC_VERSION_NS::int64_t
class  Alembic::Util::ALEMBIC_VERSION_NS::string

Namespaces

namespace  Alembic
 Alembic namespace ...
namespace  Alembic::Util
namespace  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!
void Alembic::Util::ALEMBIC_VERSION_NS::PODSetDefault (PlainOldDataType pod, void *bytes)

Macro Definition Documentation

◆ DECLARE_TRAITS

#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

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.