00001
00002
00003 #ifndef _CATEGORYENV_H
00004 #define _CATEGORYENV_H
00005
00006 #include "osl/state/numEffectState.h"
00007 #include "osl/progress/progress32.h"
00008 namespace osl
00009 {
00010 namespace container
00011 {
00012 class MoveStack;
00013 }
00014 namespace search
00015 {
00016 class SimpleHashRecord;
00017 class HistoryTable;
00018 }
00019 namespace category
00020 {
00021 using container::MoveStack;
00025 struct CategoryEnv
00026 {
00027 typedef NumEffectState effect_state_t;
00029 const effect_state_t *state;
00031 int limit;
00033 Progress32 progress32;
00035 const MoveStack *history;
00036
00037 const search::SimpleHashRecord *record;
00038
00039 int depth;
00040 const search::HistoryTable *history_table;
00041
00042 CategoryEnv(const effect_state_t *s, int l, const MoveStack *h,
00043 Progress32 p=Progress32(0),
00044 const search::SimpleHashRecord *r=0,
00045 int depth=0,
00046 const search::HistoryTable *ht=0)
00047 : state(s), limit(l), progress32(p),
00048 history(h), record(r), depth(depth),
00049 history_table(ht)
00050 {
00051 }
00052 };
00053 }
00054 }
00055
00056
00057 #endif
00058
00059
00060
00061