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.