/*******************************************************************************
 * Copyright (c) 2011, 2014 Profactor GmbH
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *   Gerhard Ebenhofer, Matthias Plasch
 *     - initial API and implementation and/or initial documentation
 *******************************************************************************/

//!!!autogenerated code - DO NOT EDIT!!!


#include "forteinit.h"

#include <${FORTE_SOURCE_DIR}/src/core/datatypes/forte_any.h>

${DATATYPE_INCLUDE_STRING}

${FB_INCLUDE_STRING}

extern "C"
void initForte()
{
  CIEC_ANY::dummyInit();
  ${DATATYPE_FUNCTION_STRING}

  ${FB_FUNCTION_STRING}

}


