1 // $Id: types.h,v 1.23 2010/03/05 21:11:25 bobgian Exp $ 2 3 /* 4 Copyright 2002 Peter Beerli, Mary Kuhner, Jon Yamato and Joseph Felsenstein 5 6 This software is distributed free of charge for non-commercial use 7 and is copyrighted. Of course, we do not guarantee that the software 8 works, and are not responsible for any damage you may cause or have. 9 */ 10 11 #ifndef TYPES_H 12 #define TYPES_H 13 14 #include "vectorx.h" 15 #include <list> 16 #include <string> 17 #include <map> 18 #include <memory> 19 #include "shared_ptr.hpp" 20 21 class Branch; 22 class DataType; 23 class DataModel; 24 class Cell; 25 class triplet; 26 class DLCalculator; 27 28 typedef boost::shared_ptr<Cell> Cell_ptr; 29 typedef std::pair<long,long> wakestats; 30 31 typedef std::pair<std::string,long> TagLine; 32 33 typedef std::map<std::string,DoubleVec2d> percentmap; // DoubleVec2d dim: 34 // pop X reg 35 typedef std::map<std::string,DoubleVec1d> overpercentmap; // DoubleVec1d dim: 36 // dim: by pop 37 38 typedef std::map<std::string, std::pair<long, long> > ratemap; // acceptance rate per arranger 39 40 typedef boost::shared_ptr<Branch> Branch_ptr; 41 typedef boost::weak_ptr<Branch> weakBranch_ptr; 42 typedef std::list<Branch_ptr> Branchlist; 43 typedef Branchlist::iterator Branchiter; 44 typedef Branchlist::const_iterator Branchconstiter; 45 46 typedef double*** cellarray; 47 typedef std::multimap<triplet, cellarray> FreeStore; 48 49 typedef boost::shared_ptr<DataType> DataType_ptr; 50 typedef boost::shared_ptr<DataModel> DataModel_ptr; 51 52 typedef std::pair<double, double> centilepair; 53 54 typedef boost::shared_ptr<DLCalculator> DLCalc_ptr; 55 56 typedef std::map<force_type, long> FPartMap; 57 typedef std::map<force_type, long>::iterator FPartMapiter; 58 59 typedef short xpart_t; // type representing a number of partitions or 60 // cross-partitions. Change this if you expect to 61 // have too many population x disease state x whatever 62 // combos to fit in the current size. 63 typedef std::vector<xpart_t> XPartVec1d; 64 typedef std::vector<std::vector<xpart_t> > XPartVec2d; 65 66 #endif // TYPES_H 67 68 //____________________________________________________________________________________ 69