Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
openfoam
Commits
5ca4acad
Commit
5ca4acad
authored
Mar 22, 2016
by
Henry Weller
Browse files
List: Added construction from and assignment to zero
parent
e6e687b6
Changes
5
Hide whitespace changes
Inline
Side-by-side
src/OpenFOAM/containers/Lists/List/List.C
View file @
5ca4acad
...
...
@@ -79,6 +79,30 @@ Foam::List<T>::List(const label s, const T& a)
}
template
<
class
T
>
Foam
::
List
<
T
>::
List
(
const
label
s
,
const
zero
)
:
UList
<
T
>
(
NULL
,
s
)
{
if
(
this
->
size_
<
0
)
{
FatalErrorInFunction
<<
"bad size "
<<
this
->
size_
<<
abort
(
FatalError
);
}
if
(
this
->
size_
)
{
this
->
v_
=
new
T
[
this
->
size_
];
List_ACCESS
(
T
,
(
*
this
),
vp
);
List_FOR_ALL
((
*
this
),
i
)
List_ELEM
((
*
this
),
vp
,
i
)
=
Zero
;
List_END_FOR_ALL
}
}
template
<
class
T
>
Foam
::
List
<
T
>::
List
(
const
List
<
T
>&
a
)
:
...
...
src/OpenFOAM/containers/Lists/List/List.H
View file @
5ca4acad
...
...
@@ -105,6 +105,9 @@ public:
//- Construct with given size and value for all elements.
List
(
const
label
,
const
T
&
);
//- Construct with given size initializing all elements to zero.
List
(
const
label
,
const
zero
);
//- Copy constructor.
List
(
const
List
<
T
>&
);
...
...
@@ -225,6 +228,9 @@ public:
//- Assignment of all entries to the given value
inline
void
operator
=
(
const
T
&
);
//- Assignment of all entries to zero
inline
void
operator
=
(
const
zero
);
// Istream operator
...
...
src/OpenFOAM/containers/Lists/List/ListI.H
View file @
5ca4acad
...
...
@@ -141,4 +141,11 @@ inline void Foam::List<T>::operator=(const T& t)
}
template
<
class
T
>
inline
void
Foam
::
List
<
T
>::
operator
=
(
const
zero
)
{
UList
<
T
>::
operator
=
(
Zero
);
}
// ************************************************************************* //
src/OpenFOAM/containers/Lists/UList/UList.C
View file @
5ca4acad
...
...
@@ -76,6 +76,16 @@ void Foam::UList<T>::operator=(const T& t)
}
template
<
class
T
>
void
Foam
::
UList
<
T
>::
operator
=
(
const
zero
)
{
List_ACCESS
(
T
,
(
*
this
),
vp
);
List_FOR_ALL
((
*
this
),
i
)
List_ELEM
((
*
this
),
vp
,
i
)
=
Zero
;
List_END_FOR_ALL
}
// * * * * * * * * * * * * * * STL Member Functions * * * * * * * * * * * * //
template
<
class
T
>
...
...
src/OpenFOAM/containers/Lists/UList/UList.H
View file @
5ca4acad
...
...
@@ -46,6 +46,7 @@ SourceFiles
#include
"label.H"
#include
"uLabel.H"
#include
"nullObject.H"
#include
"zero.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
...
...
@@ -223,6 +224,9 @@ public:
//- Assignment of all entries to the given value
void
operator
=
(
const
T
&
);
//- Assignment of all entries to zero
void
operator
=
(
const
zero
);
// STL type definitions
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment