alpaqa
conan-profiles
Nonconvex constrained optimization
Loading...
Searching...
No Matches
src
alpaqa
include
alpaqa
util
alloc-check.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <Eigen/Core>
4
5
namespace
alpaqa
{
6
7
#ifdef EIGEN_RUNTIME_NO_MALLOC
8
template
<
bool
Allow>
9
struct
ScopedMallocChecker
{
10
ScopedMallocChecker
() : prev(Eigen::internal::is_malloc_allowed()) {
11
Eigen::internal::set_is_malloc_allowed(Allow);
12
}
13
~ScopedMallocChecker
() { Eigen::internal::set_is_malloc_allowed(prev); }
14
bool
prev;
15
};
16
#else
17
template
<
bool
>
18
struct
[[maybe_unused]]
ScopedMallocChecker
{
19
// Empty constructor suppresses MSVC /we4101 (unreferenced local variable)
20
ScopedMallocChecker
() noexcept {}
// NOLINT(*-use-equals-default)
21
};
22
#endif
23
struct
[[maybe_unused]]
ScopedMallocBlocker
:
ScopedMallocChecker
<false> {};
24
struct
[[maybe_unused]]
ScopedMallocAllower
:
ScopedMallocChecker
<true> {};
25
26
}
// namespace alpaqa
alpaqa
Definition
anderson.hpp:10
alpaqa::ScopedMallocAllower
Definition
alloc-check.hpp:24
alpaqa::ScopedMallocBlocker
Definition
alloc-check.hpp:23
alpaqa::ScopedMallocChecker
Definition
alloc-check.hpp:18
alpaqa::ScopedMallocChecker::ScopedMallocChecker
ScopedMallocChecker() noexcept
Definition
alloc-check.hpp:20
Generated on
for alpaqa by
1.14.0