diff options
Diffstat (limited to 'libs/backends/wavesaudio/wavesapi/akupara/basics.hpp')
-rw-r--r-- | libs/backends/wavesaudio/wavesapi/akupara/basics.hpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/libs/backends/wavesaudio/wavesapi/akupara/basics.hpp b/libs/backends/wavesaudio/wavesapi/akupara/basics.hpp new file mode 100644 index 0000000000..a25e0dd89d --- /dev/null +++ b/libs/backends/wavesaudio/wavesapi/akupara/basics.hpp @@ -0,0 +1,53 @@ +/* + * basics.hpp + * Akupara + * + * Created by Udi on 12/19/06. + * Copyright 2006 __MyCompanyName__. All rights reserved. + * + */ +#if !defined(_AKUPARA_BASICS_HPP__INCLUDED_) +#define _AKUPARA_BASICS_HPP__INCLUDED_ + +#include "WavesPublicAPI/wstdint.h" + +namespace Akupara +{ + // The ultimate nothingness + // This is useful for writing constructors that nullify their object, and for testing nullness + struct null_type + { + null_type() {} + null_type(const null_type *) {} // this allows 0 to be implicitly converted to null_type + }; + inline null_type null() { return null_type(); } + + + // This is a byte, guaranteed to be unsigned regardless of your compiler's char signedness + typedef uint8_t byte_type; + + + // derive from this if your class needs to be noncopyable + class noncopyable_type + { + private: + noncopyable_type(const noncopyable_type &); + noncopyable_type &operator=(const noncopyable_type &); + public: + noncopyable_type() {} + }; + + +} // namespace Akupara + + +#if defined(__GNUC__) +#define AKUPARA_EXPECT_FALSE(x) __builtin_expect(x,false) +#define AKUPARA_EXPECT_TRUE(x) __builtin_expect(x,true ) +#else +#define AKUPARA_EXPECT_FALSE(x) x +#define AKUPARA_EXPECT_TRUE(x) x +#endif // __GNUC__ + + +#endif // _AKUPARA_BASICS_HPP__INCLUDED_ |