# #define SEQAN_HOST_DEVICE
Prefix for functions working both on host and device side.

Defined in | <seqan/platform.h>
Signature | `#define SEQAN_HOST_DEVICE`

## Detailed Description

This macro can be placed in front of CUDA-compatible functions that can be callable both on host and device side. The macro expands to `__host__ __device__` on CUDA-capable compilers and is ignored otherwise.

### Example

    inline SEQAN_HOST_DEVICE void foo(int & x)
    {
        // I can run on the CPU and on the GPU, yay!
        x = 10;
    }

## Data Races

Thread safety unknown!

## See Also

- SEQAN_DEVICE
- SEQAN_GLOBAL
- SEQAN_HOST

#### Dox Sources

    /*!
     * @macro SEQAN_HOST_DEVICE
     *
     * @headerfile <seqan/platform.h>
     *
     * @brief Prefix for functions working both on host and device side.
     *
     * @signature #define SEQAN_HOST_DEVICE
     *
     * This macro can be placed in front of CUDA-compatible functions that can be
     * callable both on host and device side. The macro expands to <tt>__host__
     * __device__</tt> on CUDA-capable compilers and is ignored otherwise.
     *
     * @section Example
     *
     * @code{.cpp}
     * inline SEQAN_HOST_DEVICE void foo(int & x)
     * {
     *     // I can run on the CPU and on the GPU, yay!
     *     x = 10;
     * }
     * @endcode
     *
     *
     * @see SEQAN_HOST
     * @see SEQAN_DEVICE
     * @see SEQAN_GLOBAL
     */