/*****************************************************************************

  The following code is derived, directly or indirectly, from the SystemC
  source code Copyright (c) 1996-2014 by all Contributors.
  All Rights reserved.

  The contents of this file are subject to the restrictions and limitations
  set forth in the SystemC Open Source License (the "License");
  You may not use this file except in compliance with such restrictions and
  limitations. You may obtain instructions on how to receive a copy of the
  License at http://www.accellera.org/. Software distributed by Contributors
  under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
  ANY KIND, either express or implied. See the License for the specific
  language governing rights and limitations under the License.

 *****************************************************************************/

/*****************************************************************************

  systemc - Top-level namespace-based include file for the SystemC library.

  Original Author: Stan Y. Liao, Synopsys, Inc.

 *****************************************************************************/

/*****************************************************************************

  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
  changes you are making here.

      Name, Affiliation, Date: Andy Goodrich, Forte Design Systems, 31 Mar 2005
  Description of Modification: This is the old systemc.h without usings.

 *****************************************************************************/

// $Log: systemc,v $
// Revision 1.6  2011/08/04 17:12:07  acg
//  Andy Goodrich: moved systemc and systemc.h back to src level because
//  of MSVC not doing an install.
//
// Revision 1.1  2011/07/02 13:26:48  acg
//  Andy Goodrich: moved header files up one level.
//
// Revision 1.4  2011/02/18 20:28:27  acg
//  Andy Goodrich: Updated Copyright.
//
// Revision 1.3  2011/01/20 16:52:09  acg
//  Andy Goodrich: changes for IEEE 1666 2011.
//
// Revision 1.2  2009/11/17 19:57:51  acg
//  Andy Goodrich: changes for boost.
//
// Revision 1.1.1.1  2006/12/15 20:20:04  acg
// SystemC 2.3
//
// Revision 1.5  2006/04/11 23:11:16  acg
//   Andy Goodrich: remove inclusions that exposed sc_method_process,
//   sc_thread_process, and sc_cthread_process internals.
//
// Revision 1.4  2006/01/25 00:48:29  acg
//  Andy Goodrich: added capture of CVS logging messages in the source.
//

#ifndef SYSTEMC_INCLUDED
#define SYSTEMC_INCLUDED

// include this file first
#include "sysc/kernel/sc_cmnhdr.h"

#include "sysc/kernel/sc_externs.h"
#include "sysc/kernel/sc_except.h"
#include "sysc/kernel/sc_module.h"
#include "sysc/kernel/sc_simcontext.h"
#include "sysc/kernel/sc_process_handle.h"
#include "sysc/kernel/sc_ver.h"

#include "sysc/communication/sc_buffer.h"
#include "sysc/communication/sc_clock.h"
#include "sysc/communication/sc_clock_ports.h"
#include "sysc/communication/sc_event_queue.h"
#include "sysc/communication/sc_export.h"
#include "sysc/communication/sc_fifo.h"
#include "sysc/communication/sc_fifo_ports.h"
#include "sysc/communication/sc_mutex.h"
#include "sysc/communication/sc_semaphore.h"
#include "sysc/communication/sc_signal.h"
#include "sysc/communication/sc_signal_ports.h"

#include "sysc/communication/sc_signal_resolved.h"
#include "sysc/communication/sc_signal_resolved_ports.h"
#include "sysc/communication/sc_signal_rv.h"
#include "sysc/communication/sc_signal_rv_ports.h"

#include "sysc/datatypes/bit/sc_bit.h"
#include "sysc/datatypes/bit/sc_logic.h"
#include "sysc/datatypes/bit/sc_bv.h"
#include "sysc/datatypes/bit/sc_lv.h"

#include "sysc/datatypes/int/sc_bigint.h"
#include "sysc/datatypes/int/sc_biguint.h"
#include "sysc/datatypes/int/sc_int.h"
#include "sysc/datatypes/int/sc_uint.h"

#include "sysc/datatypes/misc/sc_concatref.h" 

#ifdef SC_INCLUDE_FX
#   include "sysc/datatypes/fx/fx.h"
#endif // SC_INCLUDE_FX

#include "sysc/tracing/sc_trace.h"

#include "sysc/utils/sc_iostream.h"
#include "sysc/utils/sc_utils_ids.h"

#include "sysc/utils/sc_pvector.h"
#include "sysc/utils/sc_vector.h"

#endif // !defined(SYSTEMC_INCLUDED)

#ifdef SC_INCLUDE_DYNAMIC_PROCESSES
#    include "sysc/kernel/sc_dynamic_processes.h"
#endif // SC_INCLUDE_DYNAMIC_PROCESSES

#ifdef SC_USE_SC_STRING_OLD
#    include "sysc/utils/sc_string.h"
#endif // SC_USE_SC_STRING_OLD
