World Builder  1.1.0-pre
A geodynamic initial conditions generator
unsigned_int.cc
Go to the documentation of this file.
1 /*
2  Copyright (C) 2018-2024 by the authors of the World Builder code.
3 
4  This file is part of the World Builder.
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation, either version 2 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
20 
22 
23 namespace WorldBuilder
24 {
25  namespace Types
26  {
27  UnsignedInt::UnsignedInt(unsigned int default_value_)
28  :
29 
30  default_value(default_value_)
31  {
33  }
34 
35 
37  :
38  value(other.value),
40  {
42  }
43 
45  = default;
46 
47 
48  void
50  const std::string &name,
51  const std::string &documentation) const
52  {
53  using namespace rapidjson;
54  Document &declarations = prm.declarations;
55 
56  const std::string base = prm.get_full_json_path() + "/" + name;
57  Pointer((base + "/default value").c_str()).Set(declarations,default_value);
58  Pointer((base + "/type").c_str()).Set(declarations,"integer");
59  Pointer((base + "/description").c_str()).Set(declarations,documentation.c_str());
60 
61  }
62  } // namespace Types
63 } // namespace WorldBuilder
64 
std::string get_full_json_path(size_t max_size=std::numeric_limits< size_t >::max()) const
Definition: parameters.cc:1933
UnsignedInt(unsigned int default_value=0)
Definition: unsigned_int.cc:27
void write_schema(Parameters &prm, const std::string &name, const std::string &documentation) const override final
Definition: unsigned_int.cc:49
rapidjson::Document declarations
Definition: parameters.h:248