Arcane
v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
BadAlignmentException.cc
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4
// See the top-level COPYRIGHT file for details.
5
// SPDX-License-Identifier: Apache-2.0
6
//-----------------------------------------------------------------------------
7
/*---------------------------------------------------------------------------*/
8
/* BadAlignmentException.cc (C) 2000-2016 */
9
/* */
10
/* Exception lorsqu'une adresse n'est pas correctement alignée. */
11
/*---------------------------------------------------------------------------*/
12
/*---------------------------------------------------------------------------*/
13
14
#include "arcane/utils/ArcanePrecomp.h"
15
16
#include "arcane/utils/String.h"
17
#include "arcane/utils/BadAlignmentException.h"
18
19
/*---------------------------------------------------------------------------*/
20
/*---------------------------------------------------------------------------*/
21
22
ARCANE_BEGIN_NAMESPACE
23
24
/*---------------------------------------------------------------------------*/
25
/*---------------------------------------------------------------------------*/
26
27
/*---------------------------------------------------------------------------*/
28
/*---------------------------------------------------------------------------*/
29
30
BadAlignmentException::
31
BadAlignmentException(
const
String& awhere,
const
void
* ptr,Integer alignment)
32
: Exception(
"BadAlignmentException"
,awhere)
33
, m_ptr(ptr)
34
, m_wanted_alignment(alignment)
35
{
36
}
37
38
/*---------------------------------------------------------------------------*/
39
/*---------------------------------------------------------------------------*/
40
41
BadAlignmentException::
42
BadAlignmentException(
const
TraceInfo& awhere,
const
void
* ptr,Integer alignment)
43
: Exception(
"BadAlignmentException"
,awhere)
44
, m_ptr(ptr)
45
, m_wanted_alignment(alignment)
46
{
47
}
48
49
/*---------------------------------------------------------------------------*/
50
/*---------------------------------------------------------------------------*/
51
52
void
BadAlignmentException::
53
explain(std::ostream& m)
const
54
{
55
Int64 alignment = 0;
56
if
(m_wanted_alignment>0){
57
Int64 ptr = (Int64)m_ptr;
58
alignment = ptr % m_wanted_alignment;
59
}
60
m <<
"Bad alignment for address "
<< m_ptr
61
<<
" alignment="
<< alignment
62
<<
" (wanted="
<< m_wanted_alignment <<
")."
;
63
}
64
65
/*---------------------------------------------------------------------------*/
66
/*---------------------------------------------------------------------------*/
67
68
ARCANE_END_NAMESPACE
69
70
/*---------------------------------------------------------------------------*/
71
/*---------------------------------------------------------------------------*/
72
arcane
utils
BadAlignmentException.cc
Généré le Lundi 18 Novembre 2024 02:56:53 pour Arcane par
1.9.8