Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
NullVector.cc
1/*
2 * Copyright 2020 IFPEN-CEA
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 * SPDX-License-Identifier: Apache-2.0
17 */
18
19#include "NullVector.h"
20
22#include <alien/utils/ICopyOnWriteObject.h>
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27namespace Alien
28{
29
30using namespace Arccore;
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35NullVector::NullVector()
36: m_space(0)
37{}
38
39/*---------------------------------------------------------------------------*/
40
41void NullVector::visit(ICopyOnWriteVector& v ALIEN_UNUSED_PARAM) const
42{
43 throw FatalErrorException("NullVector can't be used in an expression");
44}
45
46/*---------------------------------------------------------------------------*/
47
48const Space&
50{
51 return m_space;
52}
53
54/*---------------------------------------------------------------------------*/
55
57NullVector::distribution() const
58{
59 return m_distribution;
60}
61
62/*---------------------------------------------------------------------------*/
63
64MultiVectorImpl*
66{
67 // throw FatalErrorException("NullVector impl can't be used");
68 return nullptr;
69}
70
71/*---------------------------------------------------------------------------*/
72
73const MultiVectorImpl*
75{
76 // throw FatalErrorException("NullVector impl can't be used");
77 return nullptr;
78}
79
80/*---------------------------------------------------------------------------*/
81/*---------------------------------------------------------------------------*/
82
83} // namespace Alien
84
85/*---------------------------------------------------------------------------*/
86/*---------------------------------------------------------------------------*/
MultiVectorImpl.h.
MultiVectorImpl * impl()
Get the multivector implementation.
Definition NullVector.cc:65
const Space & space() const
Get the space associated to the vector.
Definition NullVector.cc:49
void visit(ICopyOnWriteVector &) const
Visit method.
Definition NullVector.cc:41
Implementation of an algebraic space.
Definition Space.h:47
Computes a vector distribution.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition BackEnd.h:17