// Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
//
// NVIDIA CORPORATION and its licensors retain all intellectual property
// and proprietary rights in and to this software, related documentation
// and any modifications thereto.  Any use, reproduction, disclosure or
// distribution of this software and related documentation without an express
// license agreement from NVIDIA CORPORATION is strictly prohibited.
//
#pragma once

#include <carb/logging/Log.h>

namespace omni
{
namespace graph
{
namespace nodes
{

template <typename T, typename F>
static bool tryComputeOperator(F&& f, T t)
{
    try
    {
        return f(t);
    }
    catch (std::exception &error)
    {
        t.logError("Could not perform function: %s", error.what());
    }
    return false;
}
}
}
}
