/*
 Do not modify, auto-generated by script

 Copyright 2019 Alain Dargelas

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 */

/*
 * File:   uhdm.h
 * Author:
 *
 * Created on December 14, 2019, 10:03 PM
 */
#ifndef UHDM_UHDM_H
#define UHDM_UHDM_H

#include <string>
#include <vector>
#include <set>

#include <uhdm/sv_vpi_user.h>
#include <uhdm/vhpi_user.h>

#include <uhdm/uhdm_vpi_user.h>
#include <uhdm/uhdm_types.h>
#include <uhdm/vpi_uhdm.h>
#include <uhdm/containers.h>

#include "uhdm/attribute.h"
#include "uhdm/virtual_interface_var.h"
#include "uhdm/let_decl.h"
#include "uhdm/assertion.h"
#include "uhdm/stmt.h"
#include "uhdm/property_inst_spec_group.h"
#include "uhdm/concurrent_assertions.h"
#include "uhdm/process_stmt.h"
#include "uhdm/always.h"
#include "uhdm/final_stmt.h"
#include "uhdm/initial.h"
#include "uhdm/atomic_stmt.h"
#include "uhdm/delay_control.h"
#include "uhdm/delay_term.h"
#include "uhdm/expr_sequence_inst_named_event_group.h"
#include "uhdm/event_control.h"
#include "uhdm/repeat_control.h"
#include "uhdm/parameters.h"
#include "uhdm/instance_item.h"
#include "uhdm/scope.h"
#include "uhdm/begin.h"
#include "uhdm/named_begin.h"
#include "uhdm/named_fork.h"
#include "uhdm/fork_stmt.h"
#include "uhdm/for_stmt.h"
#include "uhdm/if_stmt.h"
#include "uhdm/event_stmt.h"
#include "uhdm/thread_obj.h"
#include "uhdm/forever_stmt.h"
#include "uhdm/expr_sequence_inst_group.h"
#include "uhdm/waits.h"
#include "uhdm/wait_stmt.h"
#include "uhdm/wait_fork.h"
#include "uhdm/ordered_wait.h"
#include "uhdm/task_func_named_begin_fork_group.h"
#include "uhdm/disables.h"
#include "uhdm/disable.h"
#include "uhdm/disable_fork.h"
#include "uhdm/continue_stmt.h"
#include "uhdm/break_stmt.h"
#include "uhdm/return_stmt.h"
#include "uhdm/while_stmt.h"
#include "uhdm/repeat.h"
#include "uhdm/do_while.h"
#include "uhdm/if_else.h"
#include "uhdm/case_stmt.h"
#include "uhdm/force.h"
#include "uhdm/assign_stmt.h"
#include "uhdm/deassign.h"
#include "uhdm/release.h"
#include "uhdm/null_stmt.h"
#include "uhdm/expect_stmt.h"
#include "uhdm/variables_operation_group.h"
#include "uhdm/foreach_stmt.h"
#include "uhdm/interf_prog_mod_group.h"
#include "uhdm/gen_scope.h"
#include "uhdm/gen_var.h"
#include "uhdm/gen_scope_array.h"
#include "uhdm/expr_dist.h"
#include "uhdm/assert_stmt.h"
#include "uhdm/cover.h"
#include "uhdm/assume.h"
#include "uhdm/restrict.h"
#include "uhdm/immediate_assert.h"
#include "uhdm/immediate_assume.h"
#include "uhdm/immediate_cover.h"
#include "uhdm/expr.h"
#include "uhdm/pattern.h"
#include "uhdm/pattern_expr_group.h"
#include "uhdm/case_item.h"
#include "uhdm/interface_expr.h"
#include "uhdm/expr_interf_expr_group.h"
#include "uhdm/assignment.h"
#include "uhdm/any_pattern.h"
#include "uhdm/tagged_pattern.h"
#include "uhdm/struct_pattern.h"
#include "uhdm/unsupported_expr.h"
#include "uhdm/unsupported_stmt.h"
#include "uhdm/include_file_info.h"
#include "uhdm/sequence_expr_group.h"
#include "uhdm/sequence_expr_multiclock_group.h"
#include "uhdm/named_event_sequence_expr_group.h"
#include "uhdm/sequence_inst.h"
#include "uhdm/seq_formal_decl.h"
#include "uhdm/sequence_decl.h"
#include "uhdm/property_expr_group.h"
#include "uhdm/property_expr_named_event_group.h"
#include "uhdm/prop_formal_decl.h"
#include "uhdm/property_inst.h"
#include "uhdm/property_spec.h"
#include "uhdm/property_decl.h"
#include "uhdm/clocked_property.h"
#include "uhdm/case_property_item.h"
#include "uhdm/case_property.h"
#include "uhdm/multiclock_sequence_expr.h"
#include "uhdm/clocked_seq.h"
#include "uhdm/simple_expr_use_group.h"
#include "uhdm/simple_expr.h"
#include "uhdm/constant.h"
#include "uhdm/let_expr.h"
#include "uhdm/operand_group.h"
#include "uhdm/operation.h"
#include "uhdm/actual_group.h"
#include "uhdm/ref_obj.h"
#include "uhdm/ref_module.h"
#include "uhdm/ref_typespec.h"
#include "uhdm/part_select.h"
#include "uhdm/indexed_part_select.h"
#include "uhdm/var_select.h"
#include "uhdm/bit_select.h"
#include "uhdm/variable_drivers_group.h"
#include "uhdm/variable_loads_group.h"
#include "uhdm/variables.h"
#include "uhdm/hier_path.h"
#include "uhdm/ref_var.h"
#include "uhdm/short_real_var.h"
#include "uhdm/real_var.h"
#include "uhdm/byte_var.h"
#include "uhdm/short_int_var.h"
#include "uhdm/int_var.h"
#include "uhdm/long_int_var.h"
#include "uhdm/integer_var.h"
#include "uhdm/time_var.h"
#include "uhdm/array_var.h"
#include "uhdm/array_expr.h"
#include "uhdm/reg_array.h"
#include "uhdm/reg.h"
#include "uhdm/enum_struct_union_packed_var_group.h"
#include "uhdm/packed_array_var.h"
#include "uhdm/bit_var.h"
#include "uhdm/logic_var.h"
#include "uhdm/struct_var.h"
#include "uhdm/union_var.h"
#include "uhdm/enum_var.h"
#include "uhdm/string_var.h"
#include "uhdm/chandle_var.h"
#include "uhdm/var_bit.h"
#include "uhdm/task_func.h"
#include "uhdm/task.h"
#include "uhdm/function.h"
#include "uhdm/modport.h"
#include "uhdm/interface_tf_decl.h"
#include "uhdm/cont_assign.h"
#include "uhdm/cont_assign_bit.h"
#include "uhdm/expr_ref_obj_group.h"
#include "uhdm/ports.h"
#include "uhdm/port.h"
#include "uhdm/port_bit.h"
#include "uhdm/checker_port.h"
#include "uhdm/checker_inst_port.h"
#include "uhdm/primitive.h"
#include "uhdm/gate.h"
#include "uhdm/switch_tran.h"
#include "uhdm/udp.h"
#include "uhdm/mod_path.h"
#include "uhdm/expr_tchk_term_group.h"
#include "uhdm/tchk.h"
#include "uhdm/range.h"
#include "uhdm/udp_defn.h"
#include "uhdm/table_entry.h"
#include "uhdm/ref_obj_interf_net_var_group.h"
#include "uhdm/io_decl.h"
#include "uhdm/alias_stmt.h"
#include "uhdm/clocking_block.h"
#include "uhdm/nets_vars_ref_obj_group.h"
#include "uhdm/clocking_io_decl.h"
#include "uhdm/expr_typespec_group.h"
#include "uhdm/param_assign.h"
#include "uhdm/instance_array.h"
#include "uhdm/interface_array.h"
#include "uhdm/program_array.h"
#include "uhdm/module_array.h"
#include "uhdm/primitive_array.h"
#include "uhdm/gate_array.h"
#include "uhdm/switch_array.h"
#include "uhdm/udp_array.h"
#include "uhdm/typespec.h"
#include "uhdm/net_drivers.h"
#include "uhdm/net_loads.h"
#include "uhdm/prim_term.h"
#include "uhdm/path_term.h"
#include "uhdm/tchk_term.h"
#include "uhdm/nets.h"
#include "uhdm/net_bit.h"
#include "uhdm/net.h"
#include "uhdm/struct_net.h"
#include "uhdm/enum_net.h"
#include "uhdm/integer_net.h"
#include "uhdm/time_net.h"
#include "uhdm/logic_net.h"
#include "uhdm/array_net.h"
#include "uhdm/enum_struct_packed_net_group.h"
#include "uhdm/packed_array_net.h"
#include "uhdm/event_typespec.h"
#include "uhdm/named_event.h"
#include "uhdm/named_event_array.h"
#include "uhdm/parameter.h"
#include "uhdm/def_param.h"
#include "uhdm/spec_param.h"
#include "uhdm/class_typespec.h"
#include "uhdm/extends.h"
#include "uhdm/class_defn.h"
#include "uhdm/class_obj.h"
#include "uhdm/class_var.h"
#include "uhdm/instance.h"
#include "uhdm/interface_inst.h"
#include "uhdm/program.h"
#include "uhdm/package.h"
#include "uhdm/module_inst.h"
#include "uhdm/checker_decl.h"
#include "uhdm/checker_inst.h"
#include "uhdm/short_real_typespec.h"
#include "uhdm/real_typespec.h"
#include "uhdm/byte_typespec.h"
#include "uhdm/short_int_typespec.h"
#include "uhdm/int_typespec.h"
#include "uhdm/long_int_typespec.h"
#include "uhdm/integer_typespec.h"
#include "uhdm/time_typespec.h"
#include "uhdm/enum_typespec.h"
#include "uhdm/string_typespec.h"
#include "uhdm/chandle_typespec.h"
#include "uhdm/module_typespec.h"
#include "uhdm/struct_typespec.h"
#include "uhdm/union_typespec.h"
#include "uhdm/logic_typespec.h"
#include "uhdm/enum_struct_union_packed_array_typespec_group.h"
#include "uhdm/packed_array_typespec.h"
#include "uhdm/array_typespec.h"
#include "uhdm/void_typespec.h"
#include "uhdm/unsupported_typespec.h"
#include "uhdm/sequence_typespec.h"
#include "uhdm/property_typespec.h"
#include "uhdm/interface_typespec.h"
#include "uhdm/type_parameter.h"
#include "uhdm/typespec_member.h"
#include "uhdm/enum_const.h"
#include "uhdm/bit_typespec.h"
#include "uhdm/tf_call_args.h"
#include "uhdm/tf_call.h"
#include "uhdm/user_systf.h"
#include "uhdm/sys_func_task_call_group.h"
#include "uhdm/sys_func_call.h"
#include "uhdm/sys_task_call.h"
#include "uhdm/expr_constr_group.h"
#include "uhdm/method_func_task_call_group.h"
#include "uhdm/method_func_call.h"
#include "uhdm/method_task_call.h"
#include "uhdm/func_call.h"
#include "uhdm/task_call.h"
#include "uhdm/constraint_expr.h"
#include "uhdm/constraint_ordering.h"
#include "uhdm/constraint_item_group.h"
#include "uhdm/constraint.h"
#include "uhdm/import_typespec.h"
#include "uhdm/expr_range_group.h"
#include "uhdm/dist_item.h"
#include "uhdm/distribution.h"
#include "uhdm/implication.h"
#include "uhdm/constr_if.h"
#include "uhdm/constr_if_else.h"
#include "uhdm/constr_foreach.h"
#include "uhdm/soft_disable.h"
#include "uhdm/gen_stmt.h"
#include "uhdm/gen_if.h"
#include "uhdm/gen_if_else.h"
#include "uhdm/gen_for.h"
#include "uhdm/gen_case.h"
#include "uhdm/gen_region.h"
#include "uhdm/design.h"

#include <uhdm/Serializer.h>

#endif  // UHDM_UHDM_H
