15#ifndef BLARGG_COMMON_H
16#define BLARGG_COMMON_H
19#if __GNUC__ >= 3 || _MSC_VER >= 1100
20 #define BLARGG_RESTRICT __restrict
22 #define BLARGG_RESTRICT
27 #define STATIC_CAST(T,expr) ((T) (expr))
32 typedef const char* blargg_err_t;
41 blargg_vector() : begin_( 0 ), size_( 0 ) { }
42 ~blargg_vector() { free( begin_ ); }
43 size_t size()
const {
return size_; }
44 T*
begin()
const {
return begin_; }
45 T*
end()
const {
return begin_ + size_; }
46 blargg_err_t resize(
size_t n )
48 void*
p = realloc( begin_,
n *
sizeof (T) );
50 return "Out of memory";
55 void clear() {
void*
p = begin_; begin_ = 0; size_ = 0; free(
p ); }
56 T& operator [] (
size_t n )
const
63#ifndef BLARGG_DISABLE_NOTHROW
65 #if __cplusplus >= 199711 || __GNUC__ >= 3
66 #define BLARGG_THROWS( spec ) throw spec
68 #define BLARGG_THROWS( spec )
70 #define BLARGG_DISABLE_NOTHROW \
71 void* operator new ( size_t s ) BLARGG_THROWS(()) { return malloc( s ); }\
72 void operator delete ( void* p ) { free( p ); }
73 #define BLARGG_NEW new
76 #define BLARGG_NEW new (std::nothrow)
80#define BLARGG_4CHAR( a, b, c, d ) \
81 ((a&0xFF)*0x1000000L + (b&0xFF)*0x10000L + (c&0xFF)*0x100L + (d&0xFF))
84#ifndef BOOST_STATIC_ASSERT
87 #define BOOST_STATIC_ASSERT( expr ) \
88 void blargg_failed_( int (*arg) [2 / (int) !!(expr) - 1] )
92 #define BOOST_STATIC_ASSERT( expr ) \
93 void blargg_failed_( int (*arg) [2 / !!(expr) - 1] [__LINE__] )
99#ifndef BLARGG_COMPILER_HAS_BOOL
100 #if defined (__MWERKS__)
102 #define BLARGG_COMPILER_HAS_BOOL 0
104 #elif defined (_MSC_VER)
106 #define BLARGG_COMPILER_HAS_BOOL 0
108 #elif defined (__GNUC__)
110 #elif __cplusplus < 199711
111 #define BLARGG_COMPILER_HAS_BOOL 0
114#if defined (BLARGG_COMPILER_HAS_BOOL) && !BLARGG_COMPILER_HAS_BOOL
118 const bool false = 0;
123#if INT_MAX < 0x7FFFFFFF || LONG_MAX == 0x7FFFFFFF
124 typedef long blargg_long;
126 typedef int blargg_long;
129#if UINT_MAX < 0xFFFFFFFF || ULONG_MAX == 0xFFFFFFFF
130 typedef unsigned long blargg_ulong;
132 typedef unsigned blargg_ulong;
139#if 1 || defined (HAVE_STDINT_H)
144 #define BLARGG_DEPRECATED __attribute__ ((deprecated))
146 #define BLARGG_DEPRECATED
153 #define BLARGG_PURE( def ) def
void clear(void *s)
Definition juce_FixedSizeFunction.h:71
RangedDirectoryIterator end(const RangedDirectoryIterator &)
Definition juce_RangedDirectoryIterator.h:184
RangedDirectoryIterator begin(const RangedDirectoryIterator &it)
Definition juce_RangedDirectoryIterator.h:179
int n
Definition crypt.c:458
uch * p
Definition crypt.c:594