kolibrios-gitea/programs/cmm/lib/patterns/history.h
Kirill Lipatov (Leency) 672bbcf6a0 WebVIew 2.4: tabs
git-svn-id: svn://kolibrios.org@7771 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-04-10 16:19:52 +00:00

46 lines
625 B
C

#include "..\lib\collection.h"
struct _history {
collection items;
int active;
void clear();
int add();
int back();
int forward();
dword current();
};
int _history::add(dword in)
{
if (!strcmp(in, items.get(active-1))) return 0;
items.count = active;
items.add(in);
active++;
return 1;
}
int _history::back()
{
if (active==1) return 0;
active--;
return 1;
}
int _history::forward()
{
if (active==items.count) return 0;
active++;
return 1;
}
dword _history::current()
{
return items.get(active-1);
}
:void _history::clear()
{
items.drop();
active=0;
}