/**
 * @file julia/julia_${PROGRAM_NAME}.cpp
 *
 * This is an autogenerated file containing implementations of C functions to be
 * called by the Julia ${PROGRAM_NAME} binding.
 */
#include "julia_${PROGRAM_NAME}.h"

#define BINDING_TYPE BINDING_TYPE_JL
#include <${PROGRAM_MAIN_FILE}>

static void ${PROGRAM_NAME}_mlpackMain()
{
  mlpackMain();
}

extern "C"
{

bool ${PROGRAM_NAME}()
{
  try
  {
    ${PROGRAM_NAME}_mlpackMain();
    return true;
  }
  catch (std::runtime_error& e)
  {
    std::cout << e.what() << std::endl;
    return false;
  }
}

void loadSymbols()
{
  // Do nothing.
}

// Any implementations of methods for dealing with model pointers will be put
// below this comment, if needed.
${MODEL_PTR_IMPLS}

}
