Marked Parser, Emitter, Node, Iterator, Mark, and Null for exporting to a DLL. It appears to work properly, although VS gives me lots of warning C4251 since I didn't export all data members of each of the above classes.

It seems that it's not necessary to export those members (as long as you can't access them), and most of them are STL instances, which apparently cause lots of problems for DLLs. (For example, you simply can't export instances of std::map; see http://support.microsoft.com/kb/168958.)
This commit is contained in:
Jesse Beder
2011-03-16 02:31:30 +00:00
parent 221d17b0c6
commit c67b41c966
10 changed files with 77 additions and 30 deletions

View File

@@ -657,12 +657,25 @@ namespace YAML
}
}
void Emitter::PreWriteStreamable(std::stringstream& str)
{
PreAtomicWrite();
EmitSeparationIfNecessary();
str.precision(15);
}
void Emitter::PostWriteIntegralType(const std::stringstream& str)
{
m_stream << str.str();
PostAtomicWrite();
}
void Emitter::PostWriteStreamable(const std::stringstream& str)
{
m_stream << str.str();
PostAtomicWrite();
}
const char *Emitter::ComputeFullBoolName(bool b) const
{
const EMITTER_MANIP mainFmt = (m_pState->GetBoolLengthFormat() == ShortBool ? YesNoBool : m_pState->GetBoolFormat());