12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #ifndef RTC_BASE_LOCATION_H_
- #define RTC_BASE_LOCATION_H_
- #include <string>
- #include "rtc_base/system/rtc_export.h"
- namespace rtc {
- class RTC_EXPORT Location {
- public:
-
-
-
- Location(const char* function_name, const char* file_name, int line_number)
- : function_name_(function_name),
- file_name_(file_name),
- line_number_(line_number) {}
- Location() = default;
- const char* function_name() const { return function_name_; }
- const char* file_name() const { return file_name_; }
- int line_number() const { return line_number_; }
-
-
- const char* file_and_line() const { return file_name_; }
- std::string ToString() const;
- private:
- const char* function_name_ = "Unknown";
- const char* file_name_ = "Unknown";
- int line_number_ = -1;
- };
- #define RTC_FROM_HERE RTC_FROM_HERE_WITH_FUNCTION(__FUNCTION__)
- #define RTC_FROM_HERE_WITH_FUNCTION(function_name) \
- ::rtc::Location(function_name, __FILE__, __LINE__)
- }
- #endif
|