diff --git a/alib2cli/src/builtin/ReadFile.cpp b/alib2cli/src/builtin/ReadFile.cpp new file mode 100644 index 0000000000000000000000000000000000000000..605b0a67e1cc56e7e0f6ca9b4d5c78c33d9b0512 --- /dev/null +++ b/alib2cli/src/builtin/ReadFile.cpp @@ -0,0 +1,27 @@ +/* + * ReadFile.cpp + * + * Created on: 21. 8. 2017 + * Author: Jan Travnicek + */ + +#include "ReadFile.h" +#include <registration/AlgoRegistration.hpp> +#include <fstream> +#include <streambuf> + +namespace cli { + +namespace builtin { + +std::string ReadFile::read ( const std::string & data ) { + std::ifstream t ( data ); + return std::string ( ( std::istreambuf_iterator < char > ( t ) ), std::istreambuf_iterator < char > ( ) ); +} + +auto ReadFileString = registration::AbstractRegister < ReadFile, std::string, const std::string & > ( ReadFile::read ); + +} /* namespace builtin */ + +} /* namespace cli */ + diff --git a/alib2cli/src/builtin/ReadFile.h b/alib2cli/src/builtin/ReadFile.h new file mode 100644 index 0000000000000000000000000000000000000000..4611821e4b364970f3bd504bdb772377e85ed028 --- /dev/null +++ b/alib2cli/src/builtin/ReadFile.h @@ -0,0 +1,26 @@ +/* + * ReadFile.h + * + * Created on: 16. 8. 2017 + * Author: Jan Travnicek + */ + +#ifndef _READ_FILE_H_ +#define _READ_FILE_H_ + +#include <string> + +namespace cli { + +namespace builtin { + +class ReadFile { +public: + static std::string read ( const std::string & filename ); +}; + +} /* namespace builtin */ + +} /* namespace cli */ + +#endif /* _READ_FILE_H_ */ diff --git a/alib2cli/src/builtin/WriteFile.cpp b/alib2cli/src/builtin/WriteFile.cpp new file mode 100644 index 0000000000000000000000000000000000000000..88761ff055174603c85fc5af725bd525f3ed162d --- /dev/null +++ b/alib2cli/src/builtin/WriteFile.cpp @@ -0,0 +1,25 @@ +/* + * WriteFile.cpp + * + * Created on: 21. 8. 2017 + * Author: Jan Travnicek + */ + +#include "WriteFile.h" +#include <registration/AlgoRegistration.hpp> +#include <fstream> + +namespace cli { + +namespace builtin { + +void WriteFile::write ( const std::string & filename, const std::string & data ) { + std::ofstream ( filename ) << data; +} + +auto WriteFileString = registration::AbstractRegister < WriteFile, void, const std::string &, const std::string & > ( WriteFile::write ); + +} /* namespace builtin */ + +} /* namespace cli */ + diff --git a/alib2cli/src/builtin/WriteFile.h b/alib2cli/src/builtin/WriteFile.h new file mode 100644 index 0000000000000000000000000000000000000000..c968cd1c2a0979a67e96b7019b9966afac6f020f --- /dev/null +++ b/alib2cli/src/builtin/WriteFile.h @@ -0,0 +1,26 @@ +/* + * WriteFile.h + * + * Created on: 16. 8. 2017 + * Author: Jan Travnicek + */ + +#ifndef _WRITE_FILE_H_ +#define _WRITE_FILE_H_ + +#include <string> + +namespace cli { + +namespace builtin { + +class WriteFile { +public: + static void write ( const std::string & filename, const std::string & data ); +}; + +} /* namespace builtin */ + +} /* namespace cli */ + +#endif /* _WRITE_FILE_H_ */