{% import "cpp_common" as cpp_common with context %}

{{ cpp_common.ifndef_define(backendConfig.NAMESPACE, "GENERATED_AST_NODES_FWDDEFS_H") }}
{{backendConfig.INITIAL_HEADERS}}

{%if layout.enums_filename %}
#include "{{layout.enums_filename}}"
{% endif %}

{{ cpp_common.start_externc() }}
{{backendConfig.HEADER_PREAMBLE}}
{{ cpp_common.start_namespace(backendConfig.NAMESPACE) }}
{{backendConfig.NAMESPACE_PREAMBLE}}

// Foward defs
{% for node in nodelist.nodes %}
class {{node.nodeName()}};
typedef {{node.nodeName()}} *{{node.nodeName()}}Ptr;
{% endfor %}

{{ cpp_common.end_namespace(backendConfig.NAMESPACE) }}
{{ cpp_common.end_externc() }}

#endif

