Rune Caster 1.0.0
Modern C++ Text Processing Framework
Loading...
Searching...
No Matches
caster.hpp File Reference
#include "spell_base.hpp"
#include "rune_sequence.hpp"
#include <type_traits>
#include <utility>
#include <concepts>
Include dependency graph for caster.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  rune_caster::caster< T >
 A powerful chaining pipeline for applying spells to data. More...

Namespaces

namespace  rune_caster

Functions

template<typename T>
constexpr auto rune_caster::make_caster (T &&data) noexcept -> caster< std::decay_t< T > >
 Factory function to create a caster (C++20 template argument deduction)
template<typename T, spell_concept Spell>
requires spell_for<Spell, std::decay_t<T>> || (requires { RuneSequence::from_utf8(std::declval<T>()); } && spell_for<Spell, RuneSequence>)
constexpr auto rune_caster::operator| (T &&data, Spell &&spell)
 Pipe operator for functional programming style (C++20 concepts)
template<typename T, spell_for< T > Spell>
constexpr auto rune_caster::operator| (caster< T > &&caster_obj, Spell &&spell)
 Pipe operator for chaining casters (C++20 concepts)