annotate base/BaseTypes.h @ 1049:10055a284716 cxx11

Doh
author Chris Cannam
date Tue, 10 Mar 2015 20:02:02 +0000
parents
children cafd65fc411b
rev   line source
Chris@1049 1
Chris@1049 2 #ifndef BASE_TYPES_H
Chris@1049 3 #define BASE_TYPES_H
Chris@1049 4
Chris@1049 5 #include <cstdint>
Chris@1049 6
Chris@1049 7 typedef int64_t sv_frame_t;
Chris@1049 8 typedef double sv_samplerate_t;
Chris@1049 9
Chris@1049 10 template<typename T, typename C>
Chris@1049 11 bool in_range_for(const C &container, T i)
Chris@1049 12 {
Chris@1049 13 if (i < 0) return false;
Chris@1049 14 if (sizeof(T) > sizeof(typename C::size_type)) {
Chris@1049 15 return i < static_cast<T>(container.size());
Chris@1049 16 } else {
Chris@1049 17 return static_cast<typename C::size_type>(i) < container.size();
Chris@1049 18 }
Chris@1049 19 }
Chris@1049 20
Chris@1049 21 #endif