GUIDOLib  1.7.7
Guido Engine Internal Documentation
TagParameterInt.h
1 #ifndef TagParameterInt_H
2 #define TagParameterInt_H
3 
4 /*
5  GUIDO Library
6  Copyright (C) 2002 Holger Hoos, Juergen Kilian, Kai Renz
7  Copyright (C) 2002-2017 Grame
8 
9  This Source Code Form is subject to the terms of the Mozilla Public
10  License, v. 2.0. If a copy of the MPL was not distributed with this
11  file, You can obtain one at http://mozilla.org/MPL/2.0/.
12 
13  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
14  research@grame.fr
15 
16 */
17 
18 #include "TagParameterFloat.h"
19 
20 typedef int TYPE_INTPARAMETER;
21 
25 {
26  public:
28  TagParameterInt( int val=0 ) : TagParameterFloat((float) val) {}
29  virtual ~TagParameterInt() {}
30 
31  virtual void print(std::ostream& out);
32  virtual void setValue( int i ) { fValue = (float) i; }
33  virtual void setValue( const char * p ) { fValue = (float) atoi(p); }
34 
35  virtual TagParameter * getCopy() const { return new TagParameterInt( *this ); }
36  virtual bool isInt() const { return true; } // note that is derived from TagParameterFloat
37  const TYPE_INTPARAMETER getValue() const { return (TYPE_INTPARAMETER) fValue; }
38 
39  virtual bool copyValue( const TagParameter * tp );
40 
41  static TagParameterInt * cast( TagParameter * inTag ) { return inTag->isInt() ? static_cast<TagParameterInt *>(inTag) : 0; }
42  static const TagParameterInt * cast( const TagParameter * inTag ) { return inTag->isInt() ? static_cast<const TagParameterInt *>(inTag) : 0; }
43 
44  private:
46 };
47 
48 
49 #endif
50 
51 
TagParameterInt::TagParameterInt
TagParameterInt(const TagParameterInt &tpi)
Definition: TagParameterInt.h:27
TagParameterFloat::fValue
TYPE_FLOATPARAMETER fValue
Definition: TagParameterFloat.h:65
TagParameter::isInt
virtual bool isInt() const
Definition: TagParameter.h:59
TagParameterInt::getValue
const TYPE_INTPARAMETER getValue() const
Definition: TagParameterInt.h:37
TagParameterInt::~TagParameterInt
virtual ~TagParameterInt()
Definition: TagParameterInt.h:29
TagParameterInt::cast
static TagParameterInt * cast(TagParameter *inTag)
Definition: TagParameterInt.h:41
TagParameter
The base class for all guido tags.
Definition: TagParameter.h:26
TagParameterInt::TagParameterInt
TagParameterInt(int val=0)
Definition: TagParameterInt.h:28
TagParameterInt::print
virtual void print(std::ostream &out)
TagParameterFloat
The floating point parameter type for Guido Tags.
Definition: TagParameterFloat.h:24
TagParameterFloat::setValue
virtual void setValue(const char *p)
TagParameterInt
not yet documented
Definition: TagParameterInt.h:24
TagParameterInt::cast
static const TagParameterInt * cast(const TagParameter *inTag)
Definition: TagParameterInt.h:42
TagParameterInt::setValue
virtual void setValue(const char *p)
Definition: TagParameterInt.h:33
TagParameterInt::copyValue
virtual bool copyValue(const TagParameter *tp)
TagParameterInt::getCopy
virtual TagParameter * getCopy() const
Definition: TagParameterInt.h:35
TagParameterInt::isInt
virtual bool isInt() const
Definition: TagParameterInt.h:36
TagParameterInt::setValue
virtual void setValue(int i)
Definition: TagParameterInt.h:32

Guido Project Copyright © 2019 Grame-CNCM