Loading [MathJax]/extensions/tex2jax.js
Cardinal
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
CardinalProblem.h
Go to the documentation of this file.
1/********************************************************************/
2/* SOFTWARE COPYRIGHT NOTIFICATION */
3/* Cardinal */
4/* */
5/* (c) 2021 UChicago Argonne, LLC */
6/* ALL RIGHTS RESERVED */
7/* */
8/* Prepared by UChicago Argonne, LLC */
9/* Under Contract No. DE-AC02-06CH11357 */
10/* With the U. S. Department of Energy */
11/* */
12/* Prepared by Battelle Energy Alliance, LLC */
13/* Under Contract No. DE-AC07-05ID14517 */
14/* With the U. S. Department of Energy */
15/* */
16/* See LICENSE for full restrictions */
17/********************************************************************/
18
19#pragma once
20
21#include "ExternalProblem.h"
22
26class CardinalProblem : public ExternalProblem
27{
28public:
29 CardinalProblem(const InputParameters & params);
30
31 static InputParameters validParams();
32
38 template <typename T>
39 void checkDuplicateEntries(const std::vector<T> & var, const std::string & name) const
40 {
41 std::set<T> set_var;
42 for (const auto & v : var)
43 {
44 if (set_var.count(v))
45 mooseError("Entries cannot be repeated in '" + name + "'!");
46 set_var.insert(v);
47 }
48 }
49
55 void checkDuplicateVariableName(const std::string & name) const;
56
63 bool stringHasEnding(std::string const & full, std::string const & ending) const;
64};
Definition CardinalProblem.h:27
void checkDuplicateVariableName(const std::string &name) const
Definition CardinalProblem.C:56
bool stringHasEnding(std::string const &full, std::string const &ending) const
Definition CardinalProblem.C:79
static InputParameters validParams()
Definition CardinalProblem.C:23
void checkDuplicateEntries(const std::vector< T > &var, const std::string &name) const
Definition CardinalProblem.h:39