TupletType Class Reference

The type of a tuplet of data. More...

#include <sigtype.hh>

Inherits AudioType.

Collaboration diagram for TupletType:
[legend]

List of all members.

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 AudioTypepromoteNature (int n)
 promote the nature of a type
virtual AudioTypepromoteVariability (int v)
 promote the variability of a type
virtual AudioTypepromoteComputability (int c)
 promote the computability of a type
virtual AudioTypepromoteVectorability (int vec)
 promote the vectorability of a type
virtual AudioTypepromoteBoolean (int b)
 promote the booleanity of a type

Protected Attributes

vector< TypefComponents

Detailed Description

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.


Constructor & Destructor Documentation

TupletType::TupletType ( const vector< Type > &  vt  )  [inline]

Definition at line 323 of file sigtype.hh.

Referenced by promoteBoolean(), promoteComputability(), promoteNature(), promoteVariability(), and promoteVectorability().

Here is the caller graph for this function:

TupletType::TupletType ( const vector< Type > &  vt,
int  n,
int  v,
int  c 
) [inline]

Definition at line 327 of file sigtype.hh.

TupletType::TupletType ( const vector< Type > &  vt,
int  n,
int  v,
int  c,
int  vec 
) [inline]

Definition at line 331 of file sigtype.hh.

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) {}


Member Function Documentation

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(); }

Here is the caller graph for this function:

Type TupletType::operator[] ( unsigned int  i  )  const [inline]

Definition at line 340 of file sigtype.hh.

References fComponents.

00340 { return fComponents[i]; }

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:


Member Data Documentation

vector<Type> TupletType::fComponents [protected]

The documentation for this class was generated from the following files:
Generated on Tue Aug 10 08:04:23 2010 for FAUST compiler by  doxygen 1.6.3