/* * Copyright (c) 2023, Aliaksandr Kalenik * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once namespace Web::CSS { class ColumnCount { public: enum class Type { Auto, Integer }; static ColumnCount make_auto() { return ColumnCount(); } static ColumnCount make_integer(int value) { return ColumnCount(value); } bool is_auto() const { return m_type == Type::Auto; } int value() const { return *m_value; } private: ColumnCount(int value) : m_type(Type::Integer) , m_value(value) { } ColumnCount() {}; Type m_type { Type::Auto }; Optional m_value; }; }