Aller au contenu
Bienvenue sur la nouvelle documentation de CppUtils !
using CppUtils::Language::Xml::Pipeline< Item, SupportedVariables >::Stage = std::function<std::optional<Item>(Item)>;
using CppUtils::Language::Xml::Pipeline< Item, SupportedVariables >::ErrorHandler = std::function<void(const CppUtils::Language::CSV::RejectEntry& error)>;
using CppUtils::Language::Xml::Pipeline< Item, SupportedVariables >::TagHandler = std::function<void(const Container::Tree::VariantNode<Type::Token, std::string>& node, Pipeline<Item, SupportedVariables...>& pipeline)>;
using CppUtils::Language::Xml::Pipeline< Item, SupportedVariables >::VariableValue = std::conditional_t< sizeof...(SupportedVariables) == 0, std::variant<bool, std::int64_t, double, std::string>, std::variant<SupportedVariables...> >;
auto Pipeline::registerTagHandler(Type::Token name, TagHandler handler) -> void;

auto Pipeline::dispatchNode(const Container::Tree::VariantNode<Type::Token, std::string>& node) -> void;

auto Pipeline::dispatchNode(std::string_view xmlSource) -> void;

template <class Value>
auto Pipeline::setVariable(Type::Token name, Value&& value) -> void;

auto Pipeline::registerRejectHandler(ErrorHandler handler) -> void;

auto Pipeline::registerRejectHandler(Type::Token name, ErrorHandler handler) -> void;

auto Pipeline::registerCall(Type::Token name, std::function<void(const Item&)> function) -> void;

auto Pipeline::addStage(Stage stage) -> void;

std::vector< Stage > stages;
std::shared_ptr< Context > context;
std::unordered_map< Type::Token, TagHandler > tagRegistry;