26#include <boost/format.hpp>
45 writer->body.line(line);
51 nestedBlock->writeCpp(writer);
57 writer->body.startBlock();
58 for (
const auto& entry :
entries)
60 entry->writeCpp(writer);
62 writer->body.endBlock();
74 return nestedBlock->getAsSingleLine();
83 for (
const auto& entry :
entries)
85 ss << entry->getAsSingleLine() <<
" ";
120 addLine(
"//" + boost::str(line));
127 for (
const auto& line : lines)
138 for (
const auto& line : lines)
140 addLine(
" * " + boost::str(line));
155 for (
const auto& entry : block->entries)
179 for (
const auto& entry : block1->entries)
181 ret->addEntry(entry);
184 for (
const auto& entry : block2->entries)
186 ret->addEntry(entry);
virtual std::string getAsSingleLine() override
virtual void writeCpp(const CppWriterPtr &writer) override
CppBlockBlockEntry(const CppBlockPtr &)
CppBlockStringEntry(const std::string &)
virtual std::string getAsSingleLine() override
virtual void writeCpp(const CppWriterPtr &writer) override
void addLineAsBlock(const std::string &line)
void addEntry(const CppBlockEntryPtr &entry)
void addCommentLine(const std::string &line)
void writeCpp(const CppWriterPtr &writer)
void addLine(const std::string &line)
void appendBlock(const CppBlockPtr &block)
std::string getAsSingleLine()
std::vector< CppBlockEntryPtr > entries
void addBlock(const CppBlockPtr &block)
void addCommentLines(const std::vector< std::string > &lines)
static CppBlockPtr MergeBlocks(const CppBlockPtr &block1, const CppBlockPtr &block2)
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::shared_ptr< CppWriter > CppWriterPtr
std::shared_ptr< CppBlock > CppBlockPtr
std::shared_ptr< CppBlockEntry > CppBlockEntryPtr