]> git.donarmstrong.com Git - lilypond.git/blob - lily/lilypond-version.cc
partial: 1.3.107.jcn
[lilypond.git] / lily / lilypond-version.cc
1 /*
2   lilypond-version.cc -- implement Lilypond_version
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1998--2000 Jan Nieuwenhuizen <janneke@gnu.org>
7
8 */
9
10 #include "lilypond-input-version.hh"
11 #include "string-convert.hh"
12 #include "array.hh"
13
14 Lilypond_version::Lilypond_version (int major, int minor, int patch)
15 {
16   major_i_ = major;
17   minor_i_ = minor;
18   patch_i_ = patch;
19 }
20
21 Lilypond_version::Lilypond_version (String str)
22 {
23   Array<String> version;
24   version = String_convert::split_arr (str, '.');
25   assert (version.size () == 3);
26   major_i_ = version[0].value_i ();
27   minor_i_ = version[1].value_i ();
28   patch_i_ = version[2].value_i ();
29 }
30
31 String
32 Lilypond_version::str () const
33 {
34   return to_str (major_i_) + "." + to_str (minor_i_) + "." + to_str (patch_i_);
35 }
36
37 Lilypond_version::operator int () const
38 {
39     // ugh
40   return 100000 * major_i_ + 1000 * minor_i_ + patch_i_;
41 }
42