Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
kcenon::common::source_location Struct Referenceexport

C++17-compatible source_location implementation using compiler builtins. More...

#include <source_location.h>

Collaboration diagram for kcenon::common::source_location:
Collaboration graph

Public Member Functions

constexpr source_location (const char *file=__builtin_FILE(), const char *function=__builtin_FUNCTION(), int line=__builtin_LINE()) noexcept
 
constexpr const char * file_name () const noexcept
 
constexpr const char * function_name () const noexcept
 
constexpr int line () const noexcept
 
constexpr int column () const noexcept
 
constexpr source_location (const char *file=__builtin_FILE(), const char *function=__builtin_FUNCTION(), int line=__builtin_LINE()) noexcept
 
constexpr const char * file_name () const noexcept
 
constexpr const char * function_name () const noexcept
 
constexpr int line () const noexcept
 
constexpr int column () const noexcept
 
constexpr source_location (const char *file=__builtin_FILE(), const char *function=__builtin_FUNCTION(), int line=__builtin_LINE()) noexcept
 
constexpr const char * file_name () const noexcept
 
constexpr const char * function_name () const noexcept
 
constexpr int line () const noexcept
 
constexpr int column () const noexcept
 

Static Public Member Functions

static constexpr source_location current (const char *file=__builtin_FILE(), const char *function=__builtin_FUNCTION(), int line=__builtin_LINE()) noexcept
 
static constexpr source_location current (const char *file=__builtin_FILE(), const char *function=__builtin_FUNCTION(), int line=__builtin_LINE()) noexcept
 
static constexpr source_location current (const char *file=__builtin_FILE(), const char *function=__builtin_FUNCTION(), int line=__builtin_LINE()) noexcept
 

Private Attributes

const char * file_
 
const char * function_
 
int line_
 
int column_
 

Detailed Description

C++17-compatible source_location implementation using compiler builtins.

Definition at line 54 of file utils.cppm.

Constructor & Destructor Documentation

◆ source_location() [1/3]

kcenon::common::source_location::source_location ( const char * file = __builtin_FILE(),
const char * function = __builtin_FUNCTION(),
int line = __builtin_LINE() )
inlineconstexprnoexcept

Definition at line 36 of file source_location.h.

Referenced by current().

Here is the caller graph for this function:

◆ source_location() [2/3]

kcenon::common::source_location::source_location ( const char * file = __builtin_FILE(),
const char * function = __builtin_FUNCTION(),
int line = __builtin_LINE() )
inlineconstexprexportnoexcept

Definition at line 48 of file core.cppm.

53 : file_(file), function_(function), line_(line), column_(0) {}

◆ source_location() [3/3]

kcenon::common::source_location::source_location ( const char * file = __builtin_FILE(),
const char * function = __builtin_FUNCTION(),
int line = __builtin_LINE() )
inlineconstexprexportnoexcept

Definition at line 56 of file utils.cppm.

61 : file_(file), function_(function), line_(line), column_(0) {}

Member Function Documentation

◆ column() [1/3]

int kcenon::common::source_location::column ( ) const
inlineconstexprnoexcept

Definition at line 46 of file source_location.h.

46{ return column_; }

References column_.

◆ column() [2/3]

int kcenon::common::source_location::column ( ) const
inlineconstexprexportnoexcept

Definition at line 58 of file core.cppm.

58{ return column_; }

References column_.

◆ column() [3/3]

int kcenon::common::source_location::column ( ) const
inlineconstexprexportnoexcept

Definition at line 66 of file utils.cppm.

66{ return column_; }

References column_.

◆ current() [1/3]

static constexpr source_location kcenon::common::source_location::current ( const char * file = __builtin_FILE(),
const char * function = __builtin_FUNCTION(),
int line = __builtin_LINE() )
inlinestaticconstexprnoexcept

◆ current() [2/3]

static constexpr source_location kcenon::common::source_location::current ( const char * file = __builtin_FILE(),
const char * function = __builtin_FUNCTION(),
int line = __builtin_LINE() )
inlinestaticconstexprexportnoexcept

Definition at line 60 of file core.cppm.

64 {
65 return source_location(file, function, line);
66 }

References line(), and source_location().

Here is the call graph for this function:

◆ current() [3/3]

static constexpr source_location kcenon::common::source_location::current ( const char * file = __builtin_FILE(),
const char * function = __builtin_FUNCTION(),
int line = __builtin_LINE() )
inlinestaticconstexprexportnoexcept

Definition at line 68 of file utils.cppm.

72 {
73 return source_location(file, function, line);
74 }

References line(), and source_location().

Here is the call graph for this function:

◆ file_name() [1/3]

const char * kcenon::common::source_location::file_name ( ) const
inlineconstexprnoexcept

Definition at line 43 of file source_location.h.

43{ return file_; }

References file_.

◆ file_name() [2/3]

const char * kcenon::common::source_location::file_name ( ) const
inlineconstexprexportnoexcept

Definition at line 55 of file core.cppm.

55{ return file_; }

References file_.

◆ file_name() [3/3]

const char * kcenon::common::source_location::file_name ( ) const
inlineconstexprexportnoexcept

Definition at line 63 of file utils.cppm.

63{ return file_; }

References file_.

◆ function_name() [1/3]

const char * kcenon::common::source_location::function_name ( ) const
inlineconstexprnoexcept

Definition at line 44 of file source_location.h.

44{ return function_; }

References function_.

◆ function_name() [2/3]

const char * kcenon::common::source_location::function_name ( ) const
inlineconstexprexportnoexcept

Definition at line 56 of file core.cppm.

56{ return function_; }

References function_.

◆ function_name() [3/3]

const char * kcenon::common::source_location::function_name ( ) const
inlineconstexprexportnoexcept

Definition at line 64 of file utils.cppm.

64{ return function_; }

References function_.

◆ line() [1/3]

int kcenon::common::source_location::line ( ) const
inlineconstexprnoexcept

Definition at line 45 of file source_location.h.

45{ return line_; }

References line_.

Referenced by current().

Here is the caller graph for this function:

◆ line() [2/3]

int kcenon::common::source_location::line ( ) const
inlineconstexprexportnoexcept

Definition at line 57 of file core.cppm.

57{ return line_; }

References line_.

◆ line() [3/3]

int kcenon::common::source_location::line ( ) const
inlineconstexprexportnoexcept

Definition at line 65 of file utils.cppm.

65{ return line_; }

References line_.

Member Data Documentation

◆ column_

int kcenon::common::source_location::column_
exportprivate

Definition at line 61 of file source_location.h.

Referenced by column().

◆ file_

const char * kcenon::common::source_location::file_
exportprivate

Definition at line 58 of file source_location.h.

Referenced by file_name().

◆ function_

const char * kcenon::common::source_location::function_
exportprivate

Definition at line 59 of file source_location.h.

Referenced by function_name().

◆ line_

int kcenon::common::source_location::line_
exportprivate

Definition at line 60 of file source_location.h.

Referenced by line().


The documentation for this struct was generated from the following files: