common.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* <!-- copyright */
  2. /*
  3. * aria2 - a simple utility for downloading files faster
  4. *
  5. * Copyright (C) 2006 Tatsuhiro Tsujikawa
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  20. */
  21. /* copyright --> */
  22. #ifndef _D_COMMON_H_
  23. #define _D_COMMON_H_
  24. #ifdef HAVE_CONFIG_H
  25. # include <config.h>
  26. #endif
  27. #include <iostream>
  28. #include <assert.h>
  29. #include <limits.h>
  30. #include <string>
  31. #include <deque>
  32. #include <algorithm>
  33. #if ENABLE_NLS
  34. # include <gettext.h>
  35. # define _(String) gettext (String)
  36. #else
  37. # define _(String) (String)
  38. #endif
  39. #ifndef LONG_LONG_MAX
  40. # define LONG_LONG_MAX 9223372036854775807LL
  41. # define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
  42. #endif // LONG_LONG_MAX
  43. #define USER_AGENT "aria2"
  44. #define BITFIELD_LEN_FROM_PIECES(X) ((X)/8+((X)%8? 1 : 0))
  45. #define DIV_FLOOR(X,Y) ((X)/(Y)+((X)%(Y)? 1:0))
  46. using namespace std;
  47. class Deleter {
  48. public:
  49. template<class T>
  50. void operator()(T* ptr) {
  51. delete ptr;
  52. }
  53. };
  54. typedef deque<string> Strings;
  55. typedef deque<int> Integers;
  56. #endif // _D_COMMON_H_