ClickHouse/dbms/include/DB/Columns/IColumn.h

33 lines
672 B
C
Raw Normal View History

2010-03-12 18:25:35 +00:00
#ifndef DBMS_CORE_ICOLUMN_H
#define DBMS_CORE_ICOLUMN_H
#include <DB/Core/Field.h>
namespace DB
{
/** Интерфейс для хранения столбцов значений в оперативке.
*/
class IColumn
{
public:
/** Количество значений в столбце */
virtual size_t size() const = 0;
/** Получить значение n-го элемента */
virtual Field operator[](size_t n) const = 0;
/** Удалить всё кроме диапазона элементов */
virtual void cut(size_t start, size_t length) = 0;
2010-05-13 16:13:38 +00:00
/** Очистить */
virtual void clear() = 0;
2010-03-12 18:25:35 +00:00
virtual ~IColumn() {}
};
}
#endif