GUIDOLib  1.7.7
Guido Engine Internal Documentation
TagParameterString.h
1 #ifndef TagParameterString_H
2 #define TagParameterString_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 <string>
19 
20 #include "TagParameter.h"
21 
22 
26 {
27  public:
28  TagParameterString( const char * theString = 0 );
29  TagParameterString( const std::string& theString );
31 
32  virtual ~TagParameterString();
33 
34  virtual void print(std::ostream& out);
35  virtual void set( const TagParameterString & in );
36 
37  virtual void setValue(const char * p) { fValue = p; }
38  virtual TagParameter * getCopy() const { return new TagParameterString(*this); }
39 
40  virtual bool copyValue( const TagParameter * tp ); // returns 1 if successful,
41  virtual bool isString() const { return true; }
42 
43  const char* getValue() const { return fValue.c_str(); }
44  const std::string& getString() const { return fValue; }
45  bool getRGB( unsigned char colref[4] ) const; // returns 1 if successful
46  bool getBool() const;
47  bool operator == (const char * inCString ) const;
48 
49  static TagParameterString * cast( TagParameter * inTag )
50  { return inTag->isString() ? static_cast<TagParameterString *>(inTag) : 0; }
51  static const TagParameterString * cast( const TagParameter * inTag )
52  { return inTag->isString() ? static_cast<const TagParameterString *>(inTag) : 0; }
53 
54  private:
55  std::string fValue;
56  using TagParameter::set;
57 };
58 
59 
60 #endif
61 
62 
TagParameterString::cast
static TagParameterString * cast(TagParameter *inTag)
Definition: TagParameterString.h:49
TagParameterString::setValue
virtual void setValue(const char *p)
Definition: TagParameterString.h:37
TagParameterString::getBool
bool getBool() const
TagParameterString::TagParameterString
TagParameterString(const char *theString=0)
TagParameterString::getCopy
virtual TagParameter * getCopy() const
Definition: TagParameterString.h:38
TagParameterString::copyValue
virtual bool copyValue(const TagParameter *tp)
TagParameterString::getValue
const char * getValue() const
Definition: TagParameterString.h:43
TagParameterString::getRGB
bool getRGB(unsigned char colref[4]) const
TagParameterString::set
virtual void set(const TagParameterString &in)
TagParameter::isString
virtual bool isString() const
Definition: TagParameter.h:58
TagParameter
The base class for all guido tags.
Definition: TagParameter.h:26
TagParameter::set
virtual void set(const TagParameter &in)
TagParameterString::~TagParameterString
virtual ~TagParameterString()
TagParameterString::isString
virtual bool isString() const
Definition: TagParameterString.h:41
TagParameterString::print
virtual void print(std::ostream &out)
TagParameterString::cast
static const TagParameterString * cast(const TagParameter *inTag)
Definition: TagParameterString.h:51
TagParameterString::operator==
bool operator==(const char *inCString) const
TagParameterString::getString
const std::string & getString() const
Definition: TagParameterString.h:44
TagParameterString
A string-type tag parameter.
Definition: TagParameterString.h:25

Guido Project Copyright © 2019 Grame-CNCM