cpp/CodeAnalysis.cpp (1 lines of code) (raw):

//#pragma clang diagnostic push //#pragma ide diagnostic ignored "clion-misra-cpp2008-5-3-1" //#pragma ide diagnostic ignored "modernize-use-auto" //#pragma ide diagnostic ignored "clion-misra-cpp2008-5-2-4" ////Check the built-in code analysis checks. ////Quick-fixes are available for many cases. ////Uncomment the file. // //#include <string> // //#include <mutex> // //class NeedsLock { // std::lock_guard<std::mutex> _lock; // //public: // explicit NeedsLock(std::mutex& mtx) : _lock(mtx) {} //}; // //int main() { // std::mutex mtx; // std::unique_lock lock(mtx); // NeedsLock needs_lock(mtx); //} // //void narrow_cast(int64_t p_num) { // int32_t num = (int32_t) p_num; // if (num == p_num) { // //... // } //} // //void EmitVBR64(uint64_t Val, unsigned NumBits) { // assert(NumBits <= 32 && "Too many bits to emit!"); // if ((uint32_t) Val == Val) { // //... // } //} // //int myIntSize(const char *const str) { // if (*str == '\0') { // return -1; // Empty str // } // // errno = 0; // // char *end; // const long value = strtol(str, &end, 10); // // if (*end != '\0') { // return -1; // Isn't a number // } else if (errno == ERANGE) { // return -1; // Overflow // } else if (value == ((long) ((int8_t) value))) { // return 1; // } else if (value == ((long) ((int16_t) value))) { // return 2; // } else if (value == ((long) ((int32_t) value))) { // return 4; // } else { // return -1; // More than 32 bit // } //} // ////========================================================== // //void checkParam(std::string name) { // //Press Alt+Enter for a quick-fix //// std::string name; // // name.append("Test"); //} // ////========================================================== // //class Ball { //public: // void play(int time) { /*...*/ } //}; //class BlinkingBall : public Ball { //public: // //Press Alt+Enter for a quick-fix // void play(int time) { // //... // } //}; // ////========================================================== // //void formatSpec(int x, char * y) { // printf("Input param: %s, %d", x, y); //} // ////========================================================== // //void eqCheck(int& a, int& b) { // if (a = b) { // //... // } //} // ////========================================================== // //int * escapeScope() { // int c = 100; // return &c; //} // ////========================================================== // //template<typename T> //void Foo(T, typename T::inner_type * = nullptr); // //template<typename T> //decltype(T().Method()) Bar(T); // //struct X { // using inner_type = void; // static void Method() {} //}; // //struct Y {}; // //void CallFooBar(X x, Y y) { // Foo(x); // Foo(y); // Bar(x); // Bar(y); //} // ////========================================================== ////Simplify statement // //template<int N> //struct Smpl { // static constexpr bool value = false; //}; //template<> //struct Smpl<0> { // static constexpr bool value = true; //}; //template <int N> //void foo() { // static constexpr bool value = Smpl<N>::value && Smpl<0>::value; //} ////========================================================== ////Constrain a function result // //template<typename T> //concept MyConcept = requires(T t){ static_cast<bool>(t); }; // //template<class T> //struct Strc { // template<class U> // MyConcept auto func() { return 2020; } //}; // //void test() { // Strc<int> strc; // auto x = strc.func<char>(); //} // //template<class T, class U, class V> //concept MyComplexConcepts = true; // //template<class T> //struct S3 { // template<class U> // MyComplexConcepts<T, U> auto func() { return 1; } //}; // //void test2() { // S3<int> s3; // auto x = s3.func<char>(); //} // // //#pragma clang diagnostic pop