OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
PredefinedString.h
Go to the documentation of this file.
1//
2// Class PredefinedString
3// This class is used to parse attributes of type string that should
4// be contained in set of predefined strings.
5//
6// Copyright (c) 2021, Christof Metzger-Kraus, Open Sourcerer
7// All rights reserved
8//
9// This file is part of OPAL.
10//
11// OPAL is free software: you can redistribute it and/or modify
12// it under the terms of the GNU General Public License as published by
13// the Free Software Foundation, either version 3 of the License, or
14// (at your option) any later version.
15//
16// You should have received a copy of the GNU General Public License
17// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
18//
19#ifndef OPAL_PredefinedString_HH
20#define OPAL_PredefinedString_HH
21
24
25#include <set>
26
27namespace Attributes {
28
31 public:
33 // Assign attribute name and help string.
35 const std::string& name, const std::string& help,
36 const std::initializer_list<std::string>& predefinedStrings,
37 const std::string& defaultValue = "_HAS_NO_DEFAULT_");
38
39 virtual ~PredefinedString();
40
42 virtual const std::string& getType() const;
43
45 virtual void parse(Attribute&, Statement&, bool) const;
46
47 private:
48 // Not implemented.
52
53 std::set<std::string> predefinedStrings_m;
54 };
55
56}; // namespace Attributes
57
58#endif
Abstract base class for attribute parsers.
A representation of an Object attribute.
Definition Attribute.h:52
Parser for an attribute of type string.
PredefinedString(const PredefinedString &)
virtual void parse(Attribute &, Statement &, bool) const
Parse the attribute.
virtual const std::string & getType() const
Return attribute type string `‘string’'.
std::set< std::string > predefinedStrings_m
void operator=(const PredefinedString &)
Interface for statements.
Definition Statement.h:37
A collection of routines to construct object Attributes and retrieve.