LINUX.ORG.RU

Форматируем код своим любимым стилем в 80 колонок

 , ,


0

1

Хочется посмотреть, кто как код форматирует. Накидайте пожалуйста следующий код, отформатированный по вашему вкусу:

template<typename Begin, typename End>
struct copy_seq_loop {
    template<class foldF, class resT, class sessT>
    static inline void
    call(resT& res, const sessT& sess) {
	copy_impl<typename Begin::type, foldF>(res, sess, mpl::false_());
	copy_seq_loop<typename mpl::next<Begin>::type, End
		      >::template call<foldF>(res, sess);
    }
};

Я думаю, этому пациенту форматирование не поможет.

ilammy ★★★
()

Всего лишь открывающую фигурную скобку с новой строки и не 4 пробела, а 1 таб размером 4.

сopy_seq_loop вообще монстр.

bhfq ★★★★★
()

Ах да, по теме:

template <class Begin, class End>
struct copy_seq_loop
{
    template <class Func, class Result, class Session>
    static inline
    void call(Result &result, const Session &session)
    {
        copy_impl<typename Begin::type, Func>(result, session, mpl::false_());

        typedef copy_seq_loop<typename mpl::next<Begin>::type, End> Next;

        Next::call<Func>(result, session);
    }
};

ilammy ★★★
()
Ответ на: комментарий от ilammy

Не влазит в 80 строк же :) И чит с typedef позволил тебе не переносить аргументы на новую строку, давай без него.

Самое неоднозначное - как бить строки в итоге и не видно из твоего примера.

redbaron ★★
() автор топика
Ответ на: комментарий от redbaron

Не влазит в 80 строк же

Всё прекрасно влазит: 78 столбцов, 14 строк :3

Самое неоднозначное - как бить строки в итоге и не видно из твоего примера.

Вот так и бить: используя возможности языка, предназначенные для повышения удобочитаемости. Это не чит же.

Но если б я был упорот, то вместо

typedef copy_seq_loop<typename mpl::next<Begin>::type, End> Next;

Next::call<Func>(result, session);
написал бы
copy_seq_loop<typename mpl::next<Begin>::type, End>::
    call<Func>(result, session);

ilammy ★★★
()
Ответ на: комментарий от ilammy

Ну про «чит» это в контексте топика, когда главное это форматирование, ведь с любыми ухищрениями рано или поздно строки бить придется, вот и хотелось увидеть как.

Спасибо за участие в смотрах :)

PS. без «template» перед call<Func> не заведется

redbaron ★★
() автор топика

между раздельными сущностями (функциями) делать пропуск в 1 строку, а то каша какая-то

stevejobs ★★★★☆
()
template<typename Begin, typename End>
struct copy_seq_loop {
    template<class foldF, class resT, class sessT>
    static inline void call(resT& res, const sessT& sess);
};

template<typename Begin, typename End>
template<class foldF, class resT, class sessT>
void
copy_seq_loop<Begin, End>::call(resT& res, const sessT& sess)
{
    copy_impl<typename Begin::type, foldF>(res, sess, mpl::false_());
    copy_seq_loop<typename mpl::next<Begin>::type, End>
        ::template call<foldF>(res, sess);
}

За компилябельность не ручаюсь, но я обычно пишу как-то так.

yoghurt ★★★★★
()

Это, если без typedef'ов. Но такое без них писать — плохо, как ни оформляй.

template<typename Begin, typename End>
struct copy_seq_loop {
  template<class foldF, class resT, class sessT>
  static inline void call(resT& res, const sessT& sess) {
    copy_impl<typename Begin::type, foldF>(res, sess, mpl::false_());
    copy_seq_loop<typename mpl::next<Begin>::type, End>::template call<foldF>(
          res, sess);
  }
};
Y ★★
()

ставлю в редакторе 120 символов в ширину, и плюю на ограничения перфокарт и CGA-мониторов с высоты 2014 года.

dib2 ★★★★★
()

astyle -s2 --style=gnu

template<typename Begin, typename End>
struct copy_seq_loop
{
  template<class foldF, class resT, class sessT>
  static inline void
  call(resT& res, const sessT& sess)
  {
    copy_impl<typename Begin::type, foldF>(res, sess, mpl::false_());
    copy_seq_loop<typename mpl::next<Begin>::type, End
    >::template call<foldF>(res, sess);
  }
};
anonymous
()
template<typename Begin, typename End> struct copy_seq_loop {template<class foldF, class resT, class sessT>static inline voidcall(resT& res, const sessT& sess) {copy_impl<typename Begin::type, foldF>(res, sess, mpl::false_());copy_seq_loop<typename mpl::next<Begin>::type, End>::template call<foldF>(res, sess);}};
DELIRIUM ☆☆☆☆☆
()

template

Дальше не читал. Страшно.

PolarFox ★★★★★
()
template<typename Begin, typename End> struct copy_seq_loop {
    template<class foldF, class resT, class sessT> static inline void call(resT &res, const sessT &sess) {
	copy_impl<typename Begin::type, foldF>(res, sess, mpl::false_());
	copy_seq_loop<typename mpl::next<Begin>::type, End>::template call<foldF>(res, sess);
    }
};
Miguel ★★★★★
()

Предпочту лишний typedef. Я за повышение удобочитаемости, иначе этот винегрет разбирать через пару месяцев будет тяжко.

m0rph ★★★★★
()
template<typename Begin, typename End>
struct copy_seq_loop
{
	template<class foldF, class resT, class sessT>
	static inline void call(resT& res, const sessT& sess)
	{
		copy_impl<typename Begin::type, foldF>(res, sess, mpl::false_());
		copy_seq_loop<typename mpl::next<Begin>::type, End>::template call<foldF>(res, sess);
	}
};

ширина таба == 4

Uter
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.