Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 #ifndef XDISPATCH_H_
00023 #define XDISPATCH_H_
00024 
00030 #include <dispatch/dispatch.h>
00031 #ifndef NSEC_PER_MSEC
00032 # define NSEC_PER_MSEC 1000000ll
00033 #endif
00034 
00035 
00036 #ifdef __APPLE__
00037 # define DISPATCH_SOURCE_HAS_DATA_ADD 1
00038 # define DISPATCH_SOURCE_HAS_DATA_OR 1
00039 # define DISPATCH_SOURCE_HAS_MACH_SEND 1
00040 # define DISPATCH_SOURCE_HAS_MACH_RECV 1
00041 # define DISPATCH_SOURCE_HAS_PROC 1
00042 # define DISPATCH_SOURCE_HAS_READ 1
00043 # define DISPATCH_SOURCE_HAS_SIGNAL 1
00044 # define DISPATCH_SOURCE_HAS_TIMER 1
00045 # define DISPATCH_SOURCE_HAS_VNODE 1
00046 # define DISPATCH_SOURCE_HAS_WRITE 1
00047 #endif
00048 
00049 #if defined(__cplusplus)
00050 
00051 #ifndef XDISPATCH_EXPORT
00052 # ifdef _WIN32
00053 #  ifndef __GNUC__
00054 #   pragma warning(disable: 4251) 
00055 #  endif
00056 #  ifdef XDISPATCH_MAKEDLL
00057 #   define XDISPATCH_EXPORT __declspec(dllexport)
00058 #  else
00059 #   define XDISPATCH_EXPORT __declspec(dllimport)
00060 #  endif
00061 #  define XDISPATCH_DEPRECATED(F) __declspec(deprecated) F
00062 # else
00063 #  define XDISPATCH_EXPORT __attribute__((visibility("default")))
00064 #  define XDISPATCH_DEPRECATED(F) F __attribute__ ((deprecated))
00065 # endif
00066 #endif
00067 
00068 # define __XDISPATCH_BEGIN_NAMESPACE      namespace xdispatch {
00069 # define __XDISPATCH_END_NAMESPACE }
00070 
00071 # define __XDISPATCH_INDIRECT__
00072 # include "pointer.h"
00073 # include "lambda_blocks.h"
00074 # include "base.h"
00075 # include "operation.h"
00076 # include "semaphore.h"
00077 # include "synchronized.h"
00078 # include "once.h"
00079 # include "queue.h"
00080 # include "group.h"
00081 # include "source.h"
00082 # include "timer.h"
00083 # include "lambda_dispatch.h"
00084 # undef __XDISPATCH_INDIRECT__
00085 
00086 #undef XDISPATCH_EXPORT
00087 
00088 #endif 
00089 
00090 
00091 
00092 
00093 
00094 
00095 
00098 #endif