Generic logging class for tracing the function calls
Stop doing this:

using namespace std;


see: Why is “using namespace std;” considered bad practice?

These two are not unique to the class.

string in{ "&gt;&gt;" };
string out{ "&lt;&lt;" };


May as well make them static. Also they re never modified so make them const.

No need to force a flush with std::endl

    cout &lt;&lt; in &lt;&lt; name &lt;&lt; endl;


Prefer "\n" when you don't need a flush (also cerr or clog may be better choices of output stream).

That seems like an overly verbose and error prone way of use.

void generic_function() {
    functionlogging logger{ __func__ };


You have to use up a variable and remember __func__. Can't we get a macro in here to do all the for you? I actually need to look up to see if func is a standard macro.

Just checked the standard:

8.4.1 In general
Paragrah 8:
The function-local predefined variable __func__ is defined as if a definition of the form  

static const char __func__[] = "function-name ";


So I would define the macros:

#define LOG_ENTRY_EXIT_FOR(x)       functionlogging  SomeLongNameThatIsNotLikelyToBeUsedInTheFunctionlogger(x)
#define LOG_ENTRY_EXIT              LOG_ENTRY_EXIT_FOR(__func__)


Then usage is simply:

void generic_function() {
    LOG_ENTRY_EXIT;

    int a = 10;
    int b = 100;
    a += b;
}