Atlas Runtime
fase.hpp
Go to the documentation of this file.
1 /*
2  * (c) Copyright 2016 Hewlett Packard Enterprise Development LP
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as
6  * published by the Free Software Foundation, either version 3 of the
7  * License, or (at your option) any later version. This program is
8  * distributed in the hope that it will be useful, but WITHOUT ANY
9  * WARRANTY; without even the implied warranty of MERCHANTABILITY or
10  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11  * for more details. You should have received a copy of the GNU Lesser
12  * General Public License along with this program. If not, see
13  * <http://www.gnu.org/licenses/>.
14  */
15 
16 
17 #ifndef FASE_HPP
18 #define FASE_HPP
19 
20 #include "log_mgr.hpp"
21 
22 namespace Atlas {
23 
24 // Represent a failure atomic section of code.
25 struct FASection {
26  explicit FASection(LogEntry *first, LogEntry *last)
27  : First{first},
28  Last{last},
29  Next{nullptr},
30  IsDeleted{false} {}
31  FASection() = delete;
32  FASection(const FASection&) = delete;
33  FASection(FASection&&) = delete;
34  FASection& operator=(const FASection&) = delete;
35  FASection& operator=(FASection&&) = delete;
36 
40  bool IsDeleted;
41 };
42 
43 } // namespace Atlas
44 
45 #endif
FASection(LogEntry *first, LogEntry *last)
Definition: fase.hpp:26
Definition: log_structure.hpp:30
FASection()=delete
Definition: fase.hpp:25
FASection * Next
Definition: fase.hpp:39
LogEntry * Last
Definition: fase.hpp:38
bool IsDeleted
Definition: fase.hpp:40
FASection & operator=(const FASection &)=delete
LogEntry * First
Definition: fase.hpp:37
Definition: atlas_alloc_cpp.hpp:21