36#ifndef Alembic_Util_Foundation_h
37#define Alembic_Util_Foundation_h
39#include <Alembic/Util/Config.h>
41#include <unordered_map>
45#include <Imath/half.h>
63#include <Alembic/Util/Export.h>
67#ifndef WIN32_LEAN_AND_MEAN
68#define WIN32_LEAN_AND_MEAN
87#ifndef ALEMBIC_VERSION_NS
88#define ALEMBIC_VERSION_NS v12
93namespace ALEMBIC_VERSION_NS {
97class ALEMBIC_EXPORT noncopyable
104 noncopyable(
const noncopyable& );
105 const noncopyable& operator=(
const noncopyable& );
108using std::dynamic_pointer_cast;
109using std::enable_shared_from_this;
110using std::shared_ptr;
111using std::static_pointer_cast;
113using std::unordered_map;
114using std::unique_ptr;
121 friend bool operator > (
const T& x,
const T& y )
126 friend bool operator <= (
const T& x,
const T& y )
131 friend bool operator >= (
const T& x,
const T& y )
136 friend bool operator != (
const T& x,
const T& y )
150 InitializeCriticalSection(&cs);
155 DeleteCriticalSection(&cs);
160 EnterCriticalSection(&cs);
165 LeaveCriticalSection(&cs);
175class mutex : noncopyable
180 pthread_mutex_init( &m, NULL );
185 pthread_mutex_destroy( &m );
190 pthread_mutex_lock( &m );
195 pthread_mutex_unlock( &m );
204class scoped_lock : noncopyable
207 scoped_lock(
mutex & l ) : m( l )
223using namespace ALEMBIC_VERSION_NS;
Definition Foundation.h:176
Definition Foundation.h:98
Definition Foundation.h:120
Alembic namespace ...
Definition ArchiveInfo.cpp:39