header_utils
Loading...
Searching...
No Matches
ghassanpl::scope_counter< T > Struct Template Reference

An RAII class that increments a value on construction and decrements it on destruction. More...

#include <scope.h>

Public Member Functions

 scope_counter (T &ref) noexcept(noexcept(++ref))
 scope_counter (const scope_counter &)=delete
 scope_counter (scope_counter &&other) noexcept
scope_counter & operator= (const scope_counter &)=delete
scope_counter & operator= (scope_counter &&)=delete
bool valid () const noexcept
void release () const noexcept

Detailed Description

template<typename T>
struct ghassanpl::scope_counter< T >

An RAII class that increments a value on construction and decrements it on destruction.

Definition at line 403 of file scope.h.

Constructor & Destructor Documentation

◆ scope_counter() [1/2]

template<typename T>
ghassanpl::scope_counter< T >::scope_counter ( T & ref)
inlinenoexcept

Definition at line 405 of file scope.h.

◆ scope_counter() [2/2]

template<typename T>
ghassanpl::scope_counter< T >::scope_counter ( scope_counter< T > && other)
inlinenoexcept

Definition at line 412 of file scope.h.

◆ ~scope_counter()

template<typename T>
ghassanpl::scope_counter< T >::~scope_counter ( )
inlinenoexcept

Definition at line 421 of file scope.h.

Member Function Documentation

◆ release()

template<typename T>
void ghassanpl::scope_counter< T >::release ( ) const
inlinenoexcept

Definition at line 427 of file scope.h.

◆ valid()

template<typename T>
bool ghassanpl::scope_counter< T >::valid ( ) const
inlinenoexcept

Definition at line 419 of file scope.h.