IOParameters.h
Go to the documentation of this file.
/* Frobby: Software for monomial ideal computations.
Copyright (C) 2007 Bjarke Hammersholt Roune (www.broune.com)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
*/
#ifndef IO_PARAMETERS_GUARD
#define IO_PARAMETERS_GUARD
#include "ParameterGroup.h"
#include "StringParameter.h"
#include "IOHandler.h"
class Scanner;
class DataType;
class IOParameters : public ParameterGroup {
public:
IOParameters(const DataType& input, const DataType& output);
void setOutputFormat(const string& format);
void setInputFormat(const string& format);
const string& getInputFormat() const;
const string& getOutputFormat() const;
unique_ptr<IOHandler> createInputHandler() const;
unique_ptr<IOHandler> createOutputHandler() const;
void autoDetectInputFormat(Scanner& in);
// Exits with an error message if the input or output format is not
// known.
void validateFormats() const;
private:
const DataType& _inputType;
const DataType& _outputType;
unique_ptr<StringParameter> _inputFormat;
unique_ptr<StringParameter> _outputFormat;
};
#endif
IOHandler.h
ParameterGroup.h
StringParameter.h
DataType
The intention of this class is to describe the different kinds of mathematical structures that Frobby...
Definition DataType.h:29
IOParameters::setOutputFormat
void setOutputFormat(const string &format)
Definition IOParameters.cpp:93
IOParameters::_inputFormat
unique_ptr< StringParameter > _inputFormat
Definition IOParameters.h:55
IOParameters::getOutputFormat
const string & getOutputFormat() const
Definition IOParameters.cpp:113
IOParameters::autoDetectInputFormat
void autoDetectInputFormat(Scanner &in)
If using the input format, this must be called before validating the ideals, since the auto detect fo...
Definition IOParameters.cpp:139
IOParameters::createInputHandler
unique_ptr< IOHandler > createInputHandler() const
Definition IOParameters.cpp:127
IOParameters::IOParameters
IOParameters(const DataType &input, const DataType &output)
Definition IOParameters.cpp:27
IOParameters::_outputFormat
unique_ptr< StringParameter > _outputFormat
Definition IOParameters.h:56
IOParameters::getInputFormat
const string & getInputFormat() const
Definition IOParameters.cpp:106
IOParameters::createOutputHandler
unique_ptr< IOHandler > createOutputHandler() const
Definition IOParameters.cpp:133
IOParameters::setInputFormat
void setInputFormat(const string &format)
Definition IOParameters.cpp:100
IOParameters::_inputType
const DataType & _inputType
Definition IOParameters.h:52
IOParameters::_outputType
const DataType & _outputType
Definition IOParameters.h:53
IOParameters::validateFormats
void validateFormats() const
Definition IOParameters.cpp:152
ParameterGroup::ParameterGroup
ParameterGroup()
Definition ParameterGroup.cpp:21
Scanner
This class offers an input interface which is more convenient and for some purposes more efficient th...
Definition Scanner.h:50