Alembic Version 1.1

Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
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
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! More...
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
Alembic::Util::ALEMBIC_VERSION_NS::PlainOldDataType
PlainOldDataType
Definition: PlainOldDataType.h:184

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.