12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /*
- * Copyright (c) 2023, Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
- *
- * 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<int> m_value;
- };
- }
|