~ubuntu-branches/ubuntu/wily/openms/wily

« back to all changes in this revision

Viewing changes to include/OpenMS/DATASTRUCTURES/Date.h

  • Committer: Package Import Robot
  • Author(s): Filippo Rusconi
  • Date: 2013-12-20 11:30:16 UTC
  • mfrom: (5.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20131220113016-wre5g9bteeheq6he
Tags: 1.11.1-3
* remove version number from libbost development package names;
* ensure that AUTHORS is correctly shipped in all packages.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// -*- mode: C++; tab-width: 2; -*-
2
 
// vi: set ts=2:
3
 
//
4
 
// --------------------------------------------------------------------------
5
 
//                   OpenMS Mass Spectrometry Framework 
6
 
// --------------------------------------------------------------------------
7
 
//  Copyright (C) 2003-2011 -- Oliver Kohlbacher, Knut Reinert
8
 
//
9
 
//  This library is free software; you can redistribute it and/or
10
 
//  modify it under the terms of the GNU Lesser General Public
11
 
//  License as published by the Free Software Foundation; either
12
 
//  version 2.1 of the License, or (at your option) any later version.
13
 
//
14
 
//  This library is distributed in the hope that it will be useful,
15
 
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17
 
//  Lesser General Public License for more details.
18
 
//
19
 
//  You should have received a copy of the GNU Lesser General Public
20
 
//  License along with this library; if not, write to the Free Software
21
 
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
1
// --------------------------------------------------------------------------
 
2
//                   OpenMS -- Open-Source Mass Spectrometry
 
3
// --------------------------------------------------------------------------
 
4
// Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
 
5
// ETH Zurich, and Freie Universitaet Berlin 2002-2013.
 
6
//
 
7
// This software is released under a three-clause BSD license:
 
8
//  * Redistributions of source code must retain the above copyright
 
9
//    notice, this list of conditions and the following disclaimer.
 
10
//  * Redistributions in binary form must reproduce the above copyright
 
11
//    notice, this list of conditions and the following disclaimer in the
 
12
//    documentation and/or other materials provided with the distribution.
 
13
//  * Neither the name of any author or any participating institution
 
14
//    may be used to endorse or promote products derived from this software
 
15
//    without specific prior written permission.
 
16
// For a full list of authors, refer to the file AUTHORS.
 
17
// --------------------------------------------------------------------------
 
18
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 
19
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
20
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
21
// ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
 
22
// INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 
23
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 
24
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 
25
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 
26
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 
27
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 
28
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22
29
//
23
30
// --------------------------------------------------------------------------
24
31
// $Maintainer: Stephan Aiche$
36
43
 
37
44
namespace OpenMS
38
45
{
39
 
        /**     
40
 
                @brief Date Class.
41
 
        
42
 
                This class implements date handling.
43
 
                Import and export to/from both string and integers is possible.
44
 
                
45
 
                @ingroup Datastructures
46
 
        */
47
 
        class OPENMS_DLLAPI Date : public QDate 
48
 
        {
49
 
                public:
50
 
                
51
 
                        /**
52
 
                                @brief Default constructor
53
 
                                
54
 
                                Fills the object with an undefined date: 00/00/0000
55
 
                        */
56
 
                        Date();
57
 
                        /// Copy constructor
58
 
                        Date(const Date& date);
59
 
                        /// Copy constructor from Qt base class
60
 
                        Date(const QDate& date);
61
 
 
62
 
                        /// Assignment operator
63
 
                        Date& operator= (const Date& source);
64
 
                        
65
 
                        /**
66
 
                                @brief sets data from a string
67
 
                                
68
 
                                The following date formats are supoported:
69
 
                                - mm/dd/yyyy
70
 
                                - dd.mm.yyyy
71
 
                                - yyyy-mm-dd
72
 
                                
73
 
                                @exception Exception::ParseError is thrown if the date is given in the wrong format
74
 
                        */
75
 
                        void set(const String& date);
76
 
                                
77
 
                        /**
78
 
                                @brief sets data from three integers
79
 
                                
80
 
                                @exception Exception::ParseError is thrown if an invalid date is given
81
 
                        */
82
 
                        void set(UInt month, UInt day, UInt year);
83
 
                
84
 
                        /// Returns the current date
85
 
                        static Date today();
86
 
 
87
 
                        /**
88
 
                                @brief Returns a string representation of the date
89
 
                                
90
 
                                Uses the iso/ansi date format: 'yyyy-mm-dd'
91
 
                        */
92
 
                        String get() const;
93
 
                        
94
 
                        /**
95
 
                                @brief Fills the arguments with the date
96
 
                                
97
 
                                Give the numbers in the following order: month, day and year.
98
 
                        */
99
 
                        void get(UInt& month, UInt& day, UInt& year) const;
100
 
                        
101
 
                        ///Sets the undefined date: 00/00/0000
102
 
                        void clear();
103
 
                        
104
 
                protected:
105
 
        };
 
46
  /**
 
47
      @brief Date Class.
 
48
 
 
49
      This class implements date handling.
 
50
      Import and export to/from both string and integers is possible.
 
51
 
 
52
      @ingroup Datastructures
 
53
  */
 
54
  class OPENMS_DLLAPI Date :
 
55
    public QDate
 
56
  {
 
57
public:
 
58
 
 
59
    /**
 
60
        @brief Default constructor
 
61
 
 
62
        Fills the object with an undefined date: 00/00/0000
 
63
    */
 
64
    Date();
 
65
    /// Copy constructor
 
66
    Date(const Date & date);
 
67
    /// Copy constructor from Qt base class
 
68
    Date(const QDate & date);
 
69
 
 
70
    /// Assignment operator
 
71
    Date & operator=(const Date & source);
 
72
 
 
73
    /**
 
74
        @brief sets data from a string
 
75
 
 
76
        The following date formats are supoported:
 
77
        - mm/dd/yyyy
 
78
        - dd.mm.yyyy
 
79
        - yyyy-mm-dd
 
80
 
 
81
        @exception Exception::ParseError is thrown if the date is given in the wrong format
 
82
    */
 
83
    void set(const String & date);
 
84
 
 
85
    /**
 
86
        @brief sets data from three integers
 
87
 
 
88
        @exception Exception::ParseError is thrown if an invalid date is given
 
89
    */
 
90
    void set(UInt month, UInt day, UInt year);
 
91
 
 
92
    /// Returns the current date
 
93
    static Date today();
 
94
 
 
95
    /**
 
96
        @brief Returns a string representation of the date
 
97
 
 
98
        Uses the iso/ansi date format: 'yyyy-mm-dd'
 
99
    */
 
100
    String get() const;
 
101
 
 
102
    /**
 
103
        @brief Fills the arguments with the date
 
104
 
 
105
        Give the numbers in the following order: month, day and year.
 
106
    */
 
107
    void get(UInt & month, UInt & day, UInt & year) const;
 
108
 
 
109
    ///Sets the undefined date: 00/00/0000
 
110
    void clear();
 
111
 
 
112
protected:
 
113
  };
106
114
} // namespace OPENMS
107
115
 
108
116
#endif // OPENMS_DATASTRUCTURES_DATE_H