Main Page
Modules
Namespaces
Classes
Files
File List
File Members
include
armadillo_bits
arma_static_check.hpp
Go to the documentation of this file.
1
// Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
2
// Copyright (C) 2008-2011 Conrad Sanderson
3
//
4
// This file is part of the Armadillo C++ library.
5
// It is provided without any warranty of fitness
6
// for any purpose. You can redistribute this file
7
// and/or modify it under the terms of the GNU
8
// Lesser General Public License (LGPL) as published
9
// by the Free Software Foundation, either version 3
10
// of the License or (at your option) any later version.
11
// (see http://www.opensource.org/licenses for more info)
12
13
16
17
18
19
template
<
bool
ERROR___INCORRECT_OR_UNSUPPORTED_TYPE>
20
struct
arma_type_check_cxx1998
21
{
22
arma_inline
23
static
24
void
25
apply
()
26
{
27
static
const
char
28
junk
[ ERROR___INCORRECT_OR_UNSUPPORTED_TYPE ? -1 : +1 ];
29
}
30
};
31
32
33
34
template
<>
35
struct
arma_type_check_cxx1998
<false>
36
{
37
arma_inline
38
static
39
void
40
apply
()
41
{
42
}
43
};
44
45
46
47
#if !defined(ARMA_USE_CXX11)
48
49
#define arma_static_check(condition, message) static const char message[ (condition) ? -1 : +1 ]
50
51
#define arma_type_check(condition) arma_type_check_cxx1998<condition>::apply()
52
53
#else
54
55
#define arma_static_check(condition, message) static_assert( !(condition), #message )
56
57
#define arma_type_check(condition) static_assert( !(condition), "error: incorrect or unsupported type" )
58
59
#endif
60
61
62
arma_type_check_cxx1998::apply
static arma_inline void apply()
Definition:
arma_static_check.hpp:25
junk
Definition:
typedef.hpp:169
arma_type_check_cxx1998
Definition:
arma_static_check.hpp:20
arma_inline
#define arma_inline
Definition:
compiler_setup.hpp:19
arma_type_check_cxx1998< false >::apply
static arma_inline void apply()
Definition:
arma_static_check.hpp:40
armadillo_matrix
Author(s):
autogenerated on Fri Apr 16 2021 02:31:56