diff options
-rw-r--r-- | src/nolocale.h | 49 | ||||
-rw-r--r-- | src/rangemap.h | 90 |
2 files changed, 71 insertions, 68 deletions
diff --git a/src/nolocale.h b/src/nolocale.h index 4d6fc75..ec49ec6 100644 --- a/src/nolocale.h +++ b/src/nolocale.h @@ -24,55 +24,52 @@ * along with DrumGizmo; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -#ifndef __DRUMGIZMO_NOLOCALE_H__ -#define __DRUMGIZMO_NOLOCALE_H__ +#pragma once #include <locale.h> #include <stdarg.h> -static inline double atof_nol(const char *nptr) +static inline double atof_nol(const char* nptr) { double res; - const char *locale = setlocale(LC_NUMERIC, "C"); + const char* locale = setlocale(LC_NUMERIC, "C"); - res = atof(nptr); + res = atof(nptr); - setlocale(LC_NUMERIC, locale); + setlocale(LC_NUMERIC, locale); return res; } -static inline int sprintf_nol(char *str, const char *format, ...) +static inline int sprintf_nol(char* str, const char* format, ...) { - int ret; + int ret; - const char *locale = setlocale(LC_NUMERIC, "C"); + const char* locale = setlocale(LC_NUMERIC, "C"); - va_list vl; - va_start(vl, format); - ret = vsprintf(str, format, vl); - va_end(vl); + va_list vl; + va_start(vl, format); + ret = vsprintf(str, format, vl); + va_end(vl); - setlocale(LC_NUMERIC, locale); + setlocale(LC_NUMERIC, locale); - return ret; + return ret; } -static inline int snprintf_nol(char *str, size_t size, const char *format, ...) +static inline int snprintf_nol(char* str, size_t size, const char* format, ...) { - int ret; + int ret; - const char *locale = setlocale(LC_NUMERIC, "C"); + const char* locale = setlocale(LC_NUMERIC, "C"); - va_list vl; - va_start(vl, format); - ret = vsnprintf(str, size, format, vl); - va_end(vl); + va_list vl; + va_start(vl, format); + ret = vsnprintf(str, size, format, vl); + va_end(vl); - setlocale(LC_NUMERIC, locale); + setlocale(LC_NUMERIC, locale); - return ret; + return ret; } - -#endif/*__DRUMGIZMO_NOLOCALE_H__*/ diff --git a/src/rangemap.h b/src/rangemap.h index 34a50b1..4c427e7 100644 --- a/src/rangemap.h +++ b/src/rangemap.h @@ -24,68 +24,74 @@ * along with DrumGizmo; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -#ifndef __DRUMGIZMO_RANGEMAP_H__ -#define __DRUMGIZMO_RANGEMAP_H__ +#pragma once #include <vector> #include <map> -template<typename T1, typename T2> -class RangeMap { +template <typename T1, typename T2> class RangeMap +{ public: - void insert(T1 from, T1 to, T2 value); - std::vector<T2> get(T1 from, T1 to); - std::vector<T2> get(T1 at); + void insert(T1 from, T1 to, T2 value); + std::vector<T2> get(T1 from, T1 to); + std::vector<T2> get(T1 at); private: - std::multimap<std::pair<T1, T1>, T2> values; + std::multimap<std::pair<T1, T1>, T2> values; }; -template<typename T1, typename T2> +template <typename T1, typename T2> void RangeMap<T1, T2>::insert(T1 from, T1 to, T2 value) { - if(from < to) values.insert(std::make_pair(std::make_pair(from, to), value)); - else values.insert(std::make_pair(std::make_pair(to, from), value)); + if(from < to) + { + values.insert(std::make_pair(std::make_pair(from, to), value)); + } + else + { + values.insert(std::make_pair(std::make_pair(to, from), value)); + } } -template<typename T1, typename T2> +template <typename T1, typename T2> std::vector<T2> RangeMap<T1, T2>::get(T1 from, T1 to) { - std::vector<T2> res; + std::vector<T2> res; - typename std::multimap<std::pair<T1, T1>, T2>::iterator i = values.begin(); - while(i != values.end()) { - T1 a = i->first.first; - T1 b = i->first.second; - if( - (from >= a && to <= b) || // inside - (from <= a && to >= b) || // containing - (from <= a && to >= a && to <= b) || // overlapping lower - (from >= a && from <= b && to >= b) // overlapping upper - ) - res.push_back(i->second); - i++; - } + typename std::multimap<std::pair<T1, T1>, T2>::iterator i = values.begin(); + while(i != values.end()) + { + T1 a = i->first.first; + T1 b = i->first.second; + if((from >= a && to <= b) || // inside + (from <= a && to >= b) || // containing + (from <= a && to >= a && to <= b) || // overlapping lower + (from >= a && from <= b && to >= b) // overlapping upper + ) + { + res.push_back(i->second); + } + i++; + } - return res; + return res; } -template<typename T1, typename T2> -std::vector<T2> RangeMap<T1, T2>::get(T1 at) +template <typename T1, typename T2> std::vector<T2> RangeMap<T1, T2>::get(T1 at) { - std::vector<T2> res; + std::vector<T2> res; - typename std::multimap<std::pair<T1, T1>, T2>::iterator i = values.begin(); - while(i != values.end()) { - T1 a = i->first.first; - T1 b = i->first.second; - if(at >= a && at <= b) - res.push_back(i->second); - i++; - } + typename std::multimap<std::pair<T1, T1>, T2>::iterator i = values.begin(); + while(i != values.end()) + { + T1 a = i->first.first; + T1 b = i->first.second; + if(at >= a && at <= b) + { + res.push_back(i->second); + } + i++; + } - return res; + return res; } - - -#endif/*__DRUMGIZMO_RANGEMAP_H__*/ |