/**
 * @file Ignore.h
 * @author apio (cloudapio.eu)
 * @brief Do nothing.
 *
 * @copyright Copyright (c) 2023, the Luna authors.
 *
 */

#pragma once

/**
 * @brief Do nothing.
 *
 * Calling
 *  ignore(a, b, c);
 * is a more compact equivalent of doing:
 *  (void)a;
 *  (void)b;
 *  (void)c;
 *
 * This function is used to discard unused variables avoiding compiler warnings, if you know they'll be used in the
 * future.
 *
 * @tparam Args The list of ignored variable types.
 */
template <class... Args> constexpr void ignore(Args...)
{
}