clang-linting-demo/main-unformatted.cc

89 lines
2.1 KiB
C++

#include <iostream>
#include <algorithm>
#include <functional>
#include <iterator>
#include <map>
#include <cstdlib>
#include <ctime>
#include <cstdint>
#define BIT_MASK 0xDEADBEAF
#define MULTILINE_DEF(a,b) if ((a)>2) { \
auto temp = (b)/2; \
(b)+=10; \
someFunctionCall((a),(b));\
}
namespace LevelOneNamespace {
extern auto someFunctionCall(int16_t, float *) -> int;
namespace LevelTwoNamespace {
template <typename T, int size> bool is_sorted(T(&array)[size]) {
return std::adjacent_find(array, array + size, std::greater<T>()) ==
array + size;
}
std::vector<uint32_t> returnVector( uint32_t* LongNameForParameter1,
double* LongNameForParameter2,
const float& LongNameForParameter3,
std::map<std::string,int32_t>& LongNameForParameter4) {
//TODO: This is a long comment that allows you to understand how long comments will be trimmed. Here should be deep thought but it's just not right time for this
for (auto& i: LongNameForParameter4) {
auto b = someFunctionCall(static_cast<int16_t>(*LongNameForParameter2),reinterpret_cast<float*>(LongNameForParameter2));
i.second++;
}
do {
auto a = 100;
if (a)
a--;
else
a++;
} while (false);
return {};
}
}
}
int main() {
std::srand(std::time(0));
int list[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
using LevelOneNamespace::LevelTwoNamespace::is_sorted;
do {
std::random_shuffle(list, list + 9);
} while (is_sorted(list));
int score = 0;
do {
std::cout << "Current list: ";
std::copy(list, list + 9, std::ostream_iterator<int>(std::cout, " "));
int rev;
while (true) {
std::cout << "\nDigits to reverse? ";
std::cin >> rev;
if (rev > 1 && rev < 10)
break;
std::cout << "Please enter a value between 2 and 9.";
}
++score;
std::reverse(list, list + rev);
} while (!is_sorted(list));
std::cout << "Congratulations, you sorted the list.\n"
<< "You needed " << score << " reversals." << std::endl;
return 0;
}