GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::experimental::scope_fail(3) C++ Standard Libary std::experimental::scope_fail(3)

std::experimental::scope_fail - std::experimental::scope_fail


Defined in header <experimental/scope>
template<class EF> (library fundamentals TS v3)
class scope_fail;


The class template scope_fail is a general-purpose scope guard intended to call its
exit function when a scope is exited via an exception.


scope_fail is not CopyConstructible, CopyAssignable or MoveAssignable, however, it
may be MoveConstructible if EF meets some requirements, which permits wrapping a
scope_fail into another object.


A scope_fail may be either active, i.e. calls its exit function on destruction, or
inactive, i.e. does nothing on destruction. A scope_fail is active after constructed
from an exit function.


A scope_fail can become inactive by calling release() on it either manually or
automatically (by the move constructor). An inactive scope_fail may also be obtained
by initializing with another inactive scope_fail. Once a scope_fail is inactive, it
cannot become active again.


A scope_fail effectively holds an EF and a bool flag indicating if it is active,
alongwith a counter of uncaught exceptions used for detecting whether the destructor
is called during stack unwinding.


EF - type of stored exit function


-
EF shall be either:


* a Destructible FunctionObject type
* an lvalue reference to FunctionObject
* an lvalue reference to function
-
Calling an lvalue of std::remove_reference_t<EF> with no argument shall be
well-formed.


constructor constructs a new scope_fail
(public member function)
calls the exit function when the scope is exited via an exception if
destructor the scope_fail is active, then destroys the scope_fail
(public member function)
operator= scope_fail is not assignable
[deleted] (public member function)


release makes the scope_fail inactive
(public member function)


Deduction guides


Constructing a scope_fail of dynamic storage duration might lead to unexpected
behavior.


Constructing a scope_fail is constructed from another scope_fail created in a
different thread might also lead to unexpected behavior since the count of uncaught
exceptions obtained in different threads may be compared during the destruction.


This section is incomplete
Reason: no example


scope_exit wraps a function object and invokes it on exiting the scope
(class template)
scope_success wraps a function object and invokes it on exiting the scope normally
(class template)
default_delete default deleter for unique_ptr
(C++11) (class template)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.