======
Core.h
======

The ``Core.h`` header file defines several compiler flags and macros along with
a few core classes.

Flags
=====

Device Indicators
-----------------
.. doxygendefine:: CUDACC
.. doxygendefine:: DEVICE

Host-Device Automation
----------------------
.. doxygendefine:: HD
.. doxygendefine:: SHARED

Compilation Options
-------------------
.. doxygendefine:: CUDATOOLS_ARRAY_MAX_AXES

Macros
======

Kernel
------
.. doxygendefine:: DECLARE_KERNEL
.. doxygendefine:: DEFINE_KERNEL
.. doxygendefine:: KERNEL

Device Helpers
--------------

.. doxygendefine:: BASIC_LOOP

Device Class
------------

.. doxygendefine:: DEVICE_CLASS


Classes and Structs
===================

CudaTools::StreamID
-------------------

.. doxygenstruct:: CudaTools::StreamID

CudaTools::Manager
------------------

.. doxygenclass:: CudaTools::Manager
    :members:

CudaTools::Kernel::Settings
---------------------------

.. doxygenstruct:: CudaTools::Kernel::Settings
    :members:

CudaTools::Kernel::Basic
------------------------
.. doxygenfunction:: CudaTools::Kernel::basic