/* * useful shared visit system helpers. * * Copyright (c) 2026, Mel G. * * SPDX-License-Identifier: MPL-2.0 */ #pragma once #include "../catboot.h" #define VISIT(visit_function, node) visit->table->visit_function(visit, node); #define VISIT_MAYBE(visit_function, node) \ if (node) visit->table->visit_function(visit, node) #define DATA_FOR_VISIT(type, name) \ type* name = (type*)visit->user_data; \ if (!name) { failure("visit user data is NULL for " #name); }