Здравствуйте, Somescout, Вы писали:
S>А зачем нужны лишние элементы? Само по себе форматирование в большинстве случаев завязано на структуру кода, и нет особого смысла ставить фигурные скобки/begin..end/прочее чтобы выделить то что уже выделено отступом.
Да пожалуйста, ешьте, если нравится. Я против, что ли?
Но я есть это буду только в исключительных случаях, ибо хочу таки иметь возможность писать как то приблизительно так:
void CStringBuilderBase::preface(const int &val) { MON_SB_SPRINTF("%d" , val ); }
void CStringBuilderBase::preface(const unsigned int &val) { MON_SB_SPRINTF("%u" , val ); }
void CStringBuilderBase::preface(const short &val) { MON_SB_SPRINTF("%hi" , val ); }
void CStringBuilderBase::preface(const unsigned short &val) { MON_SB_SPRINTF("%hu" , val ); }
void CStringBuilderBase::preface(const long &val) { MON_SB_SPRINTF("%li" , val ); }
void CStringBuilderBase::preface(const unsigned long &val) { MON_SB_SPRINTF("%lu" , val ); }
void CStringBuilderBase::preface(const long long &val) { MON_SB_SPRINTF("%lli" , val ); }
void CStringBuilderBase::preface(const unsigned long long &val) { MON_SB_SPRINTF("%llu" , val ); }
void CStringBuilderBase::preface(const double &val) { MON_SB_SPRINTF("%f" , val ); }
void CStringBuilderBase::preface(const char *val) { MON_SB_CONCAT(m_string, std::string(val) ); }
void CStringBuilderBase::preface(const char &val) { MON_SB_SPRINTF("%c" , val ); }
void CStringBuilderBase::preface(const unsigned char &val) { MON_SB_SPRINTF("%c" , val ); }
void CStringBuilderBase::preface(const bool &val) { MON_SB_CONCAT(m_string, val ? "true" : "false"); }
void CStringBuilderBase::preface(const std::string &val) { MON_SB_CONCAT(m_string, val ); }
void CStringBuilderBase::preface(const float &val) { MON_SB_SPRINTF("%f" , val ); }