#pragma interface

#ifndef _incl_module
#define _incl_module

#include <iostream>
#include <vector>

using namespace std;

class module {

 public:

  int uid;

  vector<module*> parts;//constituent modules
  vector<int> vars;//variables represented by the module
  vector<vector<int> > optvalues;//the set of context-optimal variable settings for this module
  vector<double> ftncontrib;//fitness contribution of each context-optimal setting (same order as optvalues)

  vector<vector<int> > vals;//used for temporary storage

  module();
  ~module();

};

#endif

