SHOGUN
v3.2.0
|
00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General Public License as published by 00004 * the Free Software Foundation; either version 3 of the License, or 00005 * (at your option) any later version. 00006 * 00007 * Written (W) 1999-2009 Soeren Sonnenburg 00008 * Copyright (C) 1999-2009 Fraunhofer Institute FIRST and Max Planck Society 00009 */ 00010 00011 #include <shogun/base/init.h> 00012 00013 #include <shogun/lib/common.h> 00014 #include <shogun/io/SGIO.h> 00015 #include <shogun/lib/config.h> 00016 #include <shogun/lib/RefCount.h> 00017 00018 #ifndef VERSION_H__ 00019 #define VERSION_H__ 00020 00021 namespace shogun 00022 { 00023 class RefCount; 00024 class IO; 00025 00032 class Version 00033 { 00034 public: 00036 Version(); 00038 virtual ~Version(); 00039 00041 static void print_version(); 00042 00044 static const char* get_version_extra(); 00045 00047 static const char* get_version_release(); 00048 00050 static int32_t get_version_revision(); 00051 00053 static int32_t get_version_year(); 00054 00056 static int32_t get_version_month(); 00057 00059 static int32_t get_version_day(); 00060 00062 static int32_t get_version_hour(); 00063 00065 static int32_t get_version_minute(); 00066 00068 static int32_t get_version_parameter(); 00069 00071 static int64_t get_version_in_minutes(); 00072 00076 int32_t ref(); 00077 00081 int32_t ref_count() const; 00082 00086 int32_t unref(); 00087 00088 protected: 00090 static const char version_release[128]; 00092 static const char version_extra[128]; 00093 00095 static const int32_t version_revision; 00097 static const int32_t version_year; 00099 static const int32_t version_month; 00101 static const int32_t version_day; 00103 static const int32_t version_hour; 00105 static const int32_t version_minute; 00107 static const int32_t version_parameter; 00108 00109 private: 00110 RefCount* m_refcount; 00111 }; 00112 } 00113 #endif