cpp file for utilities

release/4.3a0
Frank Dellaert 2022-01-22 11:04:25 -05:00
parent a2caa0caf7
commit 5566ff64eb
2 changed files with 19 additions and 6 deletions

13
gtsam/base/utilities.cpp Normal file
View File

@ -0,0 +1,13 @@
#include <gtsam/base/utilities.h>
namespace gtsam {
std::string RedirectCout::str() const {
return ssBuffer_.str();
}
RedirectCout::~RedirectCout() {
std::cout.rdbuf(coutBuffer_);
}
}

View File

@ -1,5 +1,9 @@
#pragma once #pragma once
#include <string>
#include <iostream>
#include <sstream>
namespace gtsam { namespace gtsam {
/** /**
* For Python __str__(). * For Python __str__().
@ -12,14 +16,10 @@ struct RedirectCout {
RedirectCout() : ssBuffer_(), coutBuffer_(std::cout.rdbuf(ssBuffer_.rdbuf())) {} RedirectCout() : ssBuffer_(), coutBuffer_(std::cout.rdbuf(ssBuffer_.rdbuf())) {}
/// return the string /// return the string
std::string str() const { std::string str() const;
return ssBuffer_.str();
}
/// destructor -- redirect stdout buffer to its original buffer /// destructor -- redirect stdout buffer to its original buffer
~RedirectCout() { ~RedirectCout();
std::cout.rdbuf(coutBuffer_);
}
private: private:
std::stringstream ssBuffer_; std::stringstream ssBuffer_;