#ifndef __BIAWEBUTIL__
#define __BIAWEBUTIL__
#include <string>
+#include <fstream>
// "discount" markdown library is a C library and hence requires to be wrapped in
// extern "C"
// utility functions for Biaweb that don't fit into any class and can be used by
// any class
namespace biaweb {
+ // load a string from file
+ std::string load_from_file (std::string filename) {
+ std::ifstream f (filename);
+ std::string r ((std::istreambuf_iterator<char> (f)),
+ (std::istreambuf_iterator<char> ()));
+ return r;
+ }
// convert markdown
std::string convert_to_markdown (std::string str) {
FILE *f = fdopen (fd, "w");
markdown (doc, f, 0);
fclose (f);
- std::ifstream ftmp (tempfile);
- std::string tmpl ( (std::istreambuf_iterator<char> (ftmp)),
- (std::istreambuf_iterator<char> ())
- );
- ftmp.close ();
+ std::string tmpl = load_from_file (tempfile);
mkd_cleanup (doc);
remove (tempfile);
return tmpl;