Template used to describe storage of items. Mainly used for "undo" and "redo" operation. You may see example in TextArea and TextInput built-in controls of the framework.
If LimitCount is set to zero it means there is no limit by item count. If LimitSize is set to zero it means there is no limit by total items size.
You can find more information in comments below.
template<class Type>
class CHistory
{
public:
size_t getCount() const; // Stored item count
Type getItem(const size_t index); // Get item by index
size_t getLimitCount() const; // Get stored item count limit
size_t getLimitSize() const; // Get memory usage limit
size_t getPosition() const; // Return index of active item
size_t getSize() const; // Return stored items total size
bool setLimitCount(const size_t value); // Set stored item count limit(0 - unlimited)
bool setLimitSize(const size_t value); // Set memory usage limit(0 - unlimited)
bool setPosition(const size_t value); // Set active item index
CHistory();
bool Store(const Type item, const size_t size); // Add new item
void Clear(); // Clear all items
};
Namespace: | nitisa |
Include: | Nitisa/Core/History.h |