You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

68 lines
2.4 KiB

#ifndef STORM_STORAGE_PRISM_LOCATEDINFORMATION_H_
#define STORM_STORAGE_PRISM_LOCATEDINFORMATION_H_
#include <string>
#include <cstdint>
#include "src/utility/OsDetection.h"
namespace storm {
namespace prism {
class LocatedInformation {
public:
/*!
* Constructs a located information with the given filename and line number.
*
* @param filename The file in which the information was found.
* @param lineNumber The line number in which the information was found.
*/
LocatedInformation(std::string const& filename, uint_fast64_t lineNumber);
// Create default implementations of constructors/assignment.
LocatedInformation() = default;
LocatedInformation(LocatedInformation const& other) = default;
LocatedInformation& operator=(LocatedInformation const& other)= default;
#ifndef WINDOWS
LocatedInformation(LocatedInformation&& other) = default;
LocatedInformation& operator=(LocatedInformation&& other) = default;
#endif
/*!
* Retrieves the name of the file in which the information was found.
*
* @return The name of the file in which the information was found.
*/
std::string const& getFilename() const;
/*!
* Sets the filename of this information.
*
* @param filename The new filename of this information.
*/
void setFilename(std::string const& filename);
/*!
* Retrieves the line number in which the information was found.
*
* @return The line number in which the information was found.
*/
uint_fast64_t getLineNumber() const;
/*!
* Sets the line number of this information.
*
* @param lineNumber The new line number for this information.
*/
void setLineNumber(uint_fast64_t lineNumber);
private:
// The file in which the piece of information was found.
std::string filename;
// The line in the file in which the piece of information was found.
uint_fast64_t lineNumber;
};
}
}
#endif /* STORM_STORAGE_PRISM_LOCATEDINFORMATION_H_ */