Rune Caster 1.0.0
Modern C++ Text Processing Framework
|
#include <string>
#include <type_traits>
#include <concepts>
#include <functional>
#include <utility>
#include <ranges>
#include "rune_sequence.hpp"
Go to the source code of this file.
Classes | |
class | rune_caster::spell_base< Input, Output > |
Base interface for all spell algorithms with C++20 enhancements. More... |
Namespaces | |
namespace | rune_caster |
Concepts | |
concept | rune_caster::spell_concept |
Concept defining what makes a valid spell. | |
concept | rune_caster::spell_for |
Concept for spells that work with specific input types. | |
concept | rune_caster::sequence_spell_concept |
Concept for sequence-based spells (most common case) | |
concept | rune_caster::transforming_spell |
Concept for transformation spells that can change the output type. | |
concept | rune_caster::chainable_spells |
Concept for spells that can be chained together. |
Typedefs | |
using | rune_caster::sequence_spell = spell_base<RuneSequence> |
Most common spell type: RuneSequence -> RuneSequence. |
Variables | |
template<typename T> | |
constexpr bool | rune_caster::is_spell_v = spell_concept<T> |
template<typename Spell, typename Input> | |
constexpr bool | rune_caster::can_spell_process_v = spell_for<Spell, Input> |
template<typename Spell1, typename Spell2> | |
constexpr bool | rune_caster::chainable_v = chainable_spells<Spell1, Spell2> |
template<typename T> | |
constexpr bool | rune_caster::is_sequence_spell_v = sequence_spell_concept<T> |