For each type streamed, two functions are put in the binary, one templated one for ConditionalOStream and one for std::ostream, meaning the binary will grow more larger as additional types are streamed. If binary size is significant to an application, it should probably avoid this class.