Loading [MathJax]/extensions/tex2jax.js
https://mooseframework.inl.gov
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
ReporterMode.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 #pragma once
10 #include "MooseEnum.h"
11 
33 class ReporterMode;
35 extern const ReporterMode REPORTER_MODE_ROOT;
38 
45 {
46 public:
47  ReporterMode(const std::string & key);
48 
49 private:
50  // Automatically incremented in construction
51  static int ID_COUNTER;
52 };
53 
62 {
63 public:
65 
67  void clear();
68 
71  template <typename... Args>
72  void insert(const ReporterMode & mode, Args... modes);
73  void insert(const ReporterMode & mode);
75 };
76 
77 template <typename... Args>
78 void
79 ReporterProducerEnum::insert(const ReporterMode & mode, Args... modes)
80 {
81  insert(mode);
82  insert(modes...);
83 }
static int ID_COUNTER
Definition: ReporterMode.h:51
const ReporterMode REPORTER_MODE_UNSET
const ReporterMode REPORTER_MODE_ROOT
ReporterMode(const std::string &key)
Definition: ReporterMode.C:16
MooseEnum designed for the ReporterContext objects to define how a ReporterValue can and is being pro...
Definition: ReporterMode.h:61
void clear()
Clear all available items (i.e., create an empty MooseEnum)
Definition: ReporterMode.C:29
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:33
const ReporterMode REPORTER_MODE_DISTRIBUTED
Class for containing MooseEnum item information.
Definition: MooseEnumItem.h:18
void insert(const ReporterMode &mode, Args... modes)
Definition: ReporterMode.h:79
const ReporterMode REPORTER_MODE_REPLICATED
MooseEnumItem that automatically creates the ID and doesn&#39;t allow the ID to be assigned.
Definition: ReporterMode.h:44