Skip to content

Revert "all necessary files were deleted"#2

Open
senyacherenkov wants to merge 1 commit intomasterfrom
review2
Open

Revert "all necessary files were deleted"#2
senyacherenkov wants to merge 1 commit intomasterfrom
review2

Conversation

@senyacherenkov
Copy link
Copy Markdown
Owner

This reverts commit a87c6af.

Copy link
Copy Markdown

@AIGregor AIGregor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ясный, чистый код, разбитый по модулям, что радует. Присутствуют комментарии, за что плюс к карме :) Задание реализовано в полном объеме. Есть небольшие комментарии, которые описаны ниже.

*/
namespace hw_utility
{
template<int index, typename Callback, typename... Args>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Хорошая мысль разбить весь проект по файлам и добавить части в свой namespace. Воспринимается гораздо легче, чем большая простыня на 2-3 экрана.

template <typename TT>
auto print_ip(TT& input) -> decltype(std::get<0>(std::declval<TT>()), void())
{
checkHomogeneity(input);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Понравилась компактная реализация проверки tuple на гомогенность . Может быть не стоило вызывать исключение, которое приведет к завершению программы, а возвращать true | false... хотя это зависит от тз.

//base template
template<typename TT>
typename std::enable_if<std::is_integral<typename std::remove_reference<TT>::type>::value, void>::type
print_ip(TT& input)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Довольно часто встречающаяся реализация, я бы сказал прямой подход. Мне кажется через union как-то по приятнее :) и пусть компилятор сам разбивает его по байтам :))

{
std::cout << *(input.begin());
for(auto & element: input) {
std::cout << ".";
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Хороший подход к выводу ip на экран... Действительно можно сначала печатать точку и потом число, предварительно напечатав первый элемент, но хорошо бы проверить что он там есть.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants