Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
Loading...
Searching...
No Matches
algorithm_builder.hpp
Go to the documentation of this file.
1//This file is part of Bertini 2.
2//
3//bertini2/blackbox/algorithm_builder.hpp is free software: you can redistribute it and/or modify
4//it under the terms of the GNU General Public License as published by
5//the Free Software Foundation, either version 3 of the License, or
6//(at your option) any later version.
7//
8//bertini2/blackbox/algorithm_builder.hpp is distributed in the hope that it will be useful,
9//but WITHOUT ANY WARRANTY; without even the implied warranty of
10//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11//GNU General Public License for more details.
12//
13//You should have received a copy of the GNU General Public License
14//along with bertini2/blackbox/algorithm_builder.hpp. If not, see <http://www.gnu.org/licenses/>.
15//
16// Copyright(C) Bertini2 Development Team
17//
18// See <http://www.gnu.org/licenses/> for a copy of the license,
19// as well as COPYING. Bertini2 is provided with permitted
20// additional terms in the b2/licenses/ directory.
21//
22
28
29
30
31#pragma once
32
35
36namespace bertini {
37namespace blackbox {
38
40
41
48{
49
50public:
51 AlgoBuilder() = default;
52
62 int ClassicBuild(std::string const& config_str, std::string const& input_str);
63
68 {
69 return alg_.get();
70 }
71
72private:
73 std::unique_ptr<AnyAlgorithm> alg_;
74};
75
76
77
78} // blackbox
79} //namespace bertini
provides a common base type for algorithms to inherit from, for the abstraction layer above for calli...
AnyAlgorithm * GetAlg()
Returns a non-owning pointer to the built algorithm (nullptr if not yet built).
Definition algorithm_builder.hpp:67
int ClassicBuild(std::string const &config_str, std::string const &input_str)
Construct an algorithm from pre-split CONFIG and INPUT strings.
Provides the file_utilities screens for bertini2.
Definition algorithm_builder.hpp:37
Definition algorithm_builder.hpp:36
Type-erased base for all nag algorithms, exposing a single Run() entry point.
Definition algorithm_base.hpp:46