online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
/****************************************************************************** Online C++ Compiler. Code, Compile, Run and Debug C++ program online. Write your code in this editor and press "Run" button to compile and execute it. *******************************************************************************/ #include <iostream> #include <type_traits> /// Check if service supports config storage template <typename Service> std::true_type supportsConfigStorage_(decltype(&Service::setConfigStorage)); template <typename Service> std::false_type supportsConfigStorage_(...); template <typename Service> constexpr bool supportsConfigStorage = decltype(supportsConfigStorage_<Service>(nullptr))::value; class Checker; struct Foo { void setConfigStorage() {} }; struct Bar { private: friend class Checker; void setConfigStorage() {} }; struct Checker { template<typename T> void print() { if constexpr (supportsConfigStorage<T>) { std::cout<<"Has states storage" << std::endl; } else { std::cout<<"Has NO states storage" << std::endl; } } }; int main() { Checker checker; checker.print<Foo>(); checker.print<Bar>(); return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue