The type of a tuplet of data. More...
#include <sigtype.hh>
Inherits AudioType.
Public Member Functions | |
TupletType (const vector< Type > &vt) | |
TupletType (const vector< Type > &vt, int n, int v, int c) | |
TupletType (const vector< Type > &vt, int n, int v, int c, int vec) | |
TupletType (const vector< Type > &vt, int n, int v, int c, int vec, int b, const interval &i) | |
int | arity () const |
Type | operator[] (unsigned int i) const |
virtual ostream & | print (ostream &dst) const |
Print the content of a tuplet of types on a stream. | |
virtual AudioType * | promoteNature (int n) |
promote the nature of a type | |
virtual AudioType * | promoteVariability (int v) |
promote the variability of a type | |
virtual AudioType * | promoteComputability (int c) |
promote the computability of a type | |
virtual AudioType * | promoteVectorability (int vec) |
promote the vectorability of a type | |
virtual AudioType * | promoteBoolean (int b) |
promote the booleanity of a type | |
Protected Attributes | |
vector< Type > | fComponents |
The type of a tuplet of data.
Beside a computability and a variability, TupletTypes have a set of components.
Definition at line 317 of file sigtype.hh.
TupletType::TupletType | ( | const vector< Type > & | vt | ) | [inline] |
Definition at line 323 of file sigtype.hh.
Referenced by promoteBoolean(), promoteComputability(), promoteNature(), promoteVariability(), and promoteVectorability().
00323 : 00324 AudioType(mergenature(vt),mergevariability(vt),mergecomputability(vt),mergevectorability(vt),mergeboolean(vt), mergeinterval(vt)), 00325 fComponents(vt) {}
TupletType::TupletType | ( | const vector< Type > & | vt, | |
int | n, | |||
int | v, | |||
int | c | |||
) | [inline] |
Definition at line 327 of file sigtype.hh.
00327 : 00328 AudioType(n|mergenature(vt), v|mergevariability(vt), c|mergecomputability(vt),mergevectorability(vt),mergeboolean(vt), interval()), 00329 fComponents(vt) {}
TupletType::TupletType | ( | const vector< Type > & | vt, | |
int | n, | |||
int | v, | |||
int | c, | |||
int | vec | |||
) | [inline] |
Definition at line 331 of file sigtype.hh.
00332 : 00333 AudioType(n|mergenature(vt), v|mergevariability(vt), c|mergecomputability(vt), vec|mergevectorability(vt), mergeboolean(vt), interval()), fComponents(vt) {}
TupletType::TupletType | ( | const vector< Type > & | vt, | |
int | n, | |||
int | v, | |||
int | c, | |||
int | vec, | |||
int | b, | |||
const interval & | i | |||
) | [inline] |
Definition at line 335 of file sigtype.hh.
00336 : 00337 AudioType(n|mergenature(vt), v|mergevariability(vt), c|mergecomputability(vt), vec|mergevectorability(vt), b|mergeboolean(vt), i), fComponents(vt) {}
int TupletType::arity | ( | ) | const [inline] |
Definition at line 339 of file sigtype.hh.
References fComponents.
Referenced by operator*(), operator==(), and operator|().
00339 { return fComponents.size(); }
Type TupletType::operator[] | ( | unsigned int | i | ) | const [inline] |
ostream & TupletType::print | ( | ostream & | dst | ) | const [virtual] |
Print the content of a tuplet of types on a stream.
Implements AudioType.
Definition at line 82 of file sigtype.cpp.
References AudioType::computability(), fComponents, AudioType::fInterval, and AudioType::variability().
Referenced by operator<<().
00083 { 00084 dst << "KB?S"[variability()] 00085 << "CI?E"[computability()] 00086 << " " << fInterval 00087 << " : {"; 00088 string sep = ""; 00089 for (unsigned int i = 0; i < fComponents.size(); i++, sep="*") { 00090 dst << sep; 00091 fComponents[i]->print(dst); 00092 } 00093 dst << '}'; 00094 return dst; 00095 }
virtual AudioType* TupletType::promoteBoolean | ( | int | b | ) | [inline, virtual] |
promote the booleanity of a type
Implements AudioType.
Definition at line 347 of file sigtype.hh.
References AudioType::fBoolean, fComponents, AudioType::fComputability, AudioType::fInterval, AudioType::fNature, AudioType::fVariability, AudioType::fVectorability, and TupletType().
virtual AudioType* TupletType::promoteComputability | ( | int | c | ) | [inline, virtual] |
promote the computability of a type
Implements AudioType.
Definition at line 345 of file sigtype.hh.
References AudioType::fBoolean, fComponents, AudioType::fComputability, AudioType::fInterval, AudioType::fNature, AudioType::fVariability, AudioType::fVectorability, and TupletType().
virtual AudioType* TupletType::promoteNature | ( | int | n | ) | [inline, virtual] |
promote the nature of a type
Implements AudioType.
Definition at line 343 of file sigtype.hh.
References AudioType::fBoolean, fComponents, AudioType::fComputability, AudioType::fInterval, AudioType::fNature, AudioType::fVariability, AudioType::fVectorability, and TupletType().
virtual AudioType* TupletType::promoteVariability | ( | int | v | ) | [inline, virtual] |
promote the variability of a type
Implements AudioType.
Definition at line 344 of file sigtype.hh.
References AudioType::fBoolean, fComponents, AudioType::fComputability, AudioType::fInterval, AudioType::fNature, AudioType::fVariability, AudioType::fVectorability, and TupletType().
virtual AudioType* TupletType::promoteVectorability | ( | int | vec | ) | [inline, virtual] |
promote the vectorability of a type
Implements AudioType.
Definition at line 346 of file sigtype.hh.
References AudioType::fBoolean, fComponents, AudioType::fComputability, AudioType::fInterval, AudioType::fNature, AudioType::fVariability, AudioType::fVectorability, and TupletType().
vector<Type> TupletType::fComponents [protected] |
Definition at line 320 of file sigtype.hh.
Referenced by arity(), operator[](), print(), promoteBoolean(), promoteComputability(), promoteNature(), promoteVariability(), and promoteVectorability().