dune-common
2.5.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
dune
common
stdthread.hh
Go to the documentation of this file.
1
// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2
// vi: set et ts=4 sw=2 sts=2:
3
4
#ifndef DUNE_COMMON_STDTHREAD_HH
5
#define DUNE_COMMON_STDTHREAD_HH
6
7
#include <
dune/common/unused.hh
>
8
9
namespace
Dune
10
{
11
12
// used internally by assertCallOnce for the actual check
13
void
doAssertCallOnce
(
const
char
*file,
int
line,
const
char
*
function
);
14
17
35
inline
void
assertCallOnce
(
const
char
*file =
nullptr
,
int
line = -1,
36
const
char
*
function
=
nullptr
)
37
{
38
// make sure to call this only the first time this function is invoked
39
static
const
bool
DUNE_UNUSED
works
40
= (
doAssertCallOnce
(file, line,
function
),
true
);
41
}
42
45
49
#define DUNE_ASSERT_CALL_ONCE() \
50
::Dune::assertCallOnce(__FILE__, __LINE__, __func__)
51
52
}
// namespace Dune
53
54
#endif // DUNE_COMMON_STDTHREAD_HH
DUNE_UNUSED
#define DUNE_UNUSED
Definition:
unused.hh:12
unused.hh
Definition of the DUNE_UNUSED macro for the case that config.h is not available.
Dune::doAssertCallOnce
void doAssertCallOnce(const char *file, int line, const char *function)
Definition:
stdthread.cc:40
Dune::assertCallOnce
void assertCallOnce(const char *file=nullptr, int line=-1, const char *function=nullptr)
Make sure call_once() works and provide a helpful error message otherwise.
Definition:
stdthread.hh:35
Generated by
1.8.5