一呼百應, "one call, a hundred responses"
Loading...
Searching...
No Matches
ein::profiling::profile_scope< Mutex, Duration, Clock > Struct Template Reference

#include <profiling.hpp>

Collaboration diagram for ein::profiling::profile_scope< Mutex, Duration, Clock >:
[legend]

Public Types

using duration = Duration
 
using clock = Clock
 
using event = profile_event<Duration,Clock>
 
using profile = ein::profiling::profile<Mutex,Duration,Clock>
 

Public Member Functions

 profile_scope ()=delete
 
 profile_scope (profile_scope const &)=delete
 
 profile_scope (profile_scope &&)=delete
 
 profile_scope (std::filesystem::path filename) noexcept
 
 ~profile_scope () noexcept
 
profile_scopeoperator= (profile_scope &&)=delete
 
profile_scopeoperator= (profile_scope const &)=delete
 
 operator profile const & () const noexcept
 
 operator profile & () noexcept
 

Public Attributes

std::filesystem::path filename
 
profile p
 

Detailed Description

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
struct ein::profiling::profile_scope< Mutex, Duration, Clock >

Definition at line 283 of file profiling.hpp.

Member Typedef Documentation

◆ clock

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
using ein::profiling::profile_scope< Mutex, Duration, Clock >::clock = Clock

Definition at line 285 of file profiling.hpp.

◆ duration

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
using ein::profiling::profile_scope< Mutex, Duration, Clock >::duration = Duration

Definition at line 284 of file profiling.hpp.

◆ event

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
using ein::profiling::profile_scope< Mutex, Duration, Clock >::event = profile_event<Duration,Clock>

Definition at line 286 of file profiling.hpp.

◆ profile

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
using ein::profiling::profile_scope< Mutex, Duration, Clock >::profile = ein::profiling::profile<Mutex,Duration,Clock>

Definition at line 287 of file profiling.hpp.

Constructor & Destructor Documentation

◆ profile_scope() [1/4]

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
ein::profiling::profile_scope< Mutex, Duration, Clock >::profile_scope ( )
delete

◆ profile_scope() [2/4]

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
ein::profiling::profile_scope< Mutex, Duration, Clock >::profile_scope ( profile_scope< Mutex, Duration, Clock > const & )
delete

◆ profile_scope() [3/4]

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
ein::profiling::profile_scope< Mutex, Duration, Clock >::profile_scope ( profile_scope< Mutex, Duration, Clock > && )
delete

◆ profile_scope() [4/4]

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
ein::profiling::profile_scope< Mutex, Duration, Clock >::profile_scope ( std::filesystem::path filename)
inlinenoexcept[[always_inline]]

Definition at line 297 of file profiling.hpp.

298 : filename(std::move(filename)) {
299 }
std::filesystem::path filename

◆ ~profile_scope()

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
ein::profiling::profile_scope< Mutex, Duration, Clock >::~profile_scope ( )
inlinenoexcept

Member Function Documentation

◆ operator profile &()

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
ein::profiling::profile_scope< Mutex, Duration, Clock >::operator profile & ( )
inlinenoexcept[[nodiscard]][[always_inline]]

Definition at line 314 of file profiling.hpp.

314 {
315 return p;
316 }

References ein::profiling::profile_scope< Mutex, Duration, Clock >::p.

◆ operator profile const &()

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
ein::profiling::profile_scope< Mutex, Duration, Clock >::operator profile const & ( ) const
inlinenoexcept[[nodiscard]][[always_inline]]

Definition at line 309 of file profiling.hpp.

309 {
310 return p;
311 }

References ein::profiling::profile_scope< Mutex, Duration, Clock >::p.

◆ operator=() [1/2]

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
profile_scope & ein::profiling::profile_scope< Mutex, Duration, Clock >::operator= ( profile_scope< Mutex, Duration, Clock > && )
delete

◆ operator=() [2/2]

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
profile_scope & ein::profiling::profile_scope< Mutex, Duration, Clock >::operator= ( profile_scope< Mutex, Duration, Clock > const & )
delete

Member Data Documentation

◆ filename

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
std::filesystem::path ein::profiling::profile_scope< Mutex, Duration, Clock >::filename

◆ p

template<typename Mutex = std::mutex, typename Duration = std::chrono::nanoseconds, typename Clock = std::chrono::high_resolution_clock>
profile ein::profiling::profile_scope< Mutex, Duration, Clock >::p

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