00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #pragma once
00021
00022 #include <drizzled/common_fwd.h>
00023
00024 namespace drizzled {
00025
00026 class Comp_creator
00027 {
00028 public:
00029 virtual ~Comp_creator() {}
00030 virtual Item_bool_func2* create(Item *a, Item *b) const = 0;
00031 virtual const char* symbol(bool invert) const = 0;
00032 virtual bool eqne_op() const = 0;
00033 virtual bool l_op() const = 0;
00034 };
00035
00036 typedef Comp_creator* (*chooser_compare_func_creator)(bool invert);
00037
00038 Comp_creator *comp_eq_creator(bool invert);
00039 Comp_creator *comp_ge_creator(bool invert);
00040 Comp_creator *comp_gt_creator(bool invert);
00041 Comp_creator *comp_le_creator(bool invert);
00042 Comp_creator *comp_lt_creator(bool invert);
00043 Comp_creator *comp_ne_creator(bool invert);
00044
00045 }
00046