message: Document boilerplate generation macros
diff: @@ -40,11 +40,31 @@ using full_precision = double;
  using default_precision = double;
  +/**
  + * Calls a given macro for each executor type.
  + *
  + * The macro should take two parameters:
  + *
  + * - the first one is replaced with the executor class name
  + * - the second one with the executor short name (used for namespace name)
  + *
  + * @param _enable_macro macro name which will be called
  + *
  + * @note the macro is not called for ReferenceExecutor
  + */
  #define GKO_ENABLE_FOR_ALL_EXECUTORS(_enable_macro) \
  _enable_macro(CpuExecutor, cpu); \
  - _enable_macro(GpuExecutor, gpu);
  + _enable_macro(GpuExecutor, gpu)
  +/**
  + * Instantiates a template for each value type compiled by Ginkgo.
  + *
  + * @param _macro A macro which expands the template instantiation
  + * (not including the leading `template` specifier).
  + * Should take one argument, which is replaced by the
  + * value type.
  + */
  #define GKO_INSTANTIATE_FOR_EACH_VALUE_TYPE(_macro) \
  template _macro(float); \
  template _macro(double); \
  