initial check in
This commit is contained in:
59
test_autoname_obj.cpp
Normal file
59
test_autoname_obj.cpp
Normal file
@@ -0,0 +1,59 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
|
||||
#define FILELINE( l ) __FILE__ #l
|
||||
|
||||
struct fileline
|
||||
{
|
||||
virtual std::string msg()
|
||||
{
|
||||
return std::string();
|
||||
}
|
||||
};
|
||||
|
||||
template <const char * file, int line>
|
||||
struct filelineT
|
||||
{
|
||||
virtual std::string msg()
|
||||
{
|
||||
std::ostringstream ss;
|
||||
ss << file << ':' << line;
|
||||
return ss.str();
|
||||
}
|
||||
};
|
||||
|
||||
std::string flfunc( const char * f = __FILE__, int l = __LINE__ )
|
||||
{
|
||||
std::ostringstream ss;
|
||||
ss << f << ':' << l;
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
#define FLFUNC flfunc( __FILE__, __LINE__ )
|
||||
|
||||
//#define filelineM {static const char * tmp = __FILE__; filelineT<tmp,__LINE__>}
|
||||
|
||||
//template <
|
||||
|
||||
struct A
|
||||
{
|
||||
std::string myName;
|
||||
|
||||
|
||||
A( std::string n = FLFUNC )
|
||||
: myName( n )
|
||||
{}
|
||||
};
|
||||
|
||||
int main ()
|
||||
{
|
||||
A a1( FLFUNC );
|
||||
A a2( FLFUNC );
|
||||
std::cout << a1.myName << std::endl;
|
||||
std::cout << a2.myName << std::endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user