2010-01-23 02:13:59 +00:00
|
|
|
#ifndef _TUPLE_MERGER_H_
|
|
|
|
#define _TUPLE_MERGER_H_
|
|
|
|
|
|
|
|
struct datatuple;
|
|
|
|
|
2010-03-05 19:07:47 +00:00
|
|
|
typedef datatuple* (*merge_fn_t) (const datatuple*, const datatuple *);
|
2010-01-23 02:13:59 +00:00
|
|
|
|
2010-03-05 19:07:47 +00:00
|
|
|
datatuple* append_merger(const datatuple *t1, const datatuple *t2);
|
|
|
|
datatuple* replace_merger(const datatuple *t1, const datatuple *t2);
|
2010-01-23 02:13:59 +00:00
|
|
|
|
|
|
|
|
|
|
|
class tuplemerger
|
|
|
|
{
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
tuplemerger(merge_fn_t merge_fp)
|
|
|
|
{
|
|
|
|
this->merge_fp = merge_fp;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2010-03-05 19:07:47 +00:00
|
|
|
datatuple* merge(const datatuple *t1, const datatuple *t2);
|
2010-01-23 02:13:59 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
merge_fn_t merge_fp;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|