Compare commits

...

10 Commits

Author SHA1 Message Date
0c68f1be4b CONFIG: bump patch level 2020-03-12 11:39:28 +01:00
ff16d27f63 BUG: incorrect EnSight lagrangian fields in parallel (fixes #1629) 2020-03-12 11:12:34 +01:00
54f23b9577 ENH: add gradientEnergy write() method, including bugfix #1617 2020-03-10 19:19:31 +01:00
4dd1433133 CONFIG: provide separate default settings for clang/gcc (fixes #1566)
- the foamConfigurePaths script is quite simplistic and aggressive in
  what it changes. This was particularly evident when using it to
  change gcc/clang versions.

  Restructured the corresponding compiler settings to define default
  versions (eg, "default_gcc_version") that limits the scope of
  changes performed by foamConfigurePaths and makes it easier to
  understand if changing manually.
2020-02-03 11:08:54 +01:00
c1cbfe5780 CONFIG: bump patch level 2020-01-31 12:10:51 +01:00
be420e7a71 COMP: avoid -Wstringop-truncation warning
- the gcc c++/9 includes now inline strncpy, which obliterates
  the previous method of suppressing the warning.
  Now simply allocate additional space for the nul character.

COMP: silence some icc warnings
2020-01-31 12:08:31 +01:00
c278b93d7a COMP: backport of updates for gcc-92 compilation
STYLE: add typedefs for interpolation tables
2020-01-28 12:46:27 +01:00
fce7948915 BUG: incorrect Nastran surface output and segmentation faults #1571
- indexing error in the output of values resulted in uniform output in
  most cases.

- allocation error for on-the-fly triangulation

ENH: changed decomposed storage from DynamicList to plain faceList for
clearer allocation control and better overhead
2020-01-28 15:43:53 +01:00
e91dbcf834 COMP: silence gcc 8.2 memcpy warnings
- we know they have already protected by an is_contiguous check,
  so the class-memaccess warning/error can be suppressed.
2020-01-28 15:43:52 +01:00
00552eff17 CONFIG: adjust known gcc/clang compiler versions 2020-01-28 15:22:01 +01:00
138 changed files with 831 additions and 961 deletions

View File

@ -1,2 +1,2 @@
api=1906 api=1906
patch=191111 patch=200312

View File

@ -143,6 +143,13 @@ public:
typedef indexedVertex<Gt,Vb2> Other; typedef indexedVertex<Gt,Vb2> Other;
}; };
// Generated Methods
//- Copy construct
indexedVertex(const indexedVertex&) = default;
// Constructors // Constructors
inline indexedVertex(); inline indexedVertex();

View File

@ -7,11 +7,10 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Copyright (C) 2011-2016 OpenFOAM Foundation # Copyright (C) 2011-2016 OpenFOAM Foundation
# Copyright (C) 2016-2019 OpenCFD Ltd. # Copyright (C) 2016-2020 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, licensed under GNU General Public License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
# <http://www.gnu.org/licenses/>.
# #
# Script # Script
# foamConfigurePaths # foamConfigurePaths
@ -39,8 +38,8 @@ Basic
Compiler Compiler
-system NAME specify 'system' compiler to use (eg, Gcc, Icc,...) -system NAME specify 'system' compiler to use (eg, Gcc, Icc,...)
-third NAME specify 'ThirdParty' compiler to use (eg, Clang40,...) -third NAME specify 'ThirdParty' compiler to use (eg, Clang40,...)
-gcc VER specify 'gcc_version' for ThirdParty Gcc -gcc VER specify 'default_gcc_version' for ThirdParty Gcc
-clang VER specify 'clang_version' for ThirdParty Clang -clang VER specify 'default_clang_version' for ThirdParty Clang
gmp-VERSION for ThirdParty gcc (gmp-system for system library) gmp-VERSION for ThirdParty gcc (gmp-system for system library)
mpfr-VERSION for ThirdParty gcc (mpfr-system for system library) mpfr-VERSION for ThirdParty gcc (mpfr-system for system library)
mpc-VERSION for ThirdParty gcc (mpc-system for system library) mpc-VERSION for ThirdParty gcc (mpc-system for system library)
@ -344,19 +343,19 @@ do
## Compiler ## ## Compiler ##
-clang) -clang)
# Replace clang_version=... # Replace default_clang_version=...
optionValue=$(getOptionValue "$@") optionValue=$(getOptionValue "$@")
replace etc/config.sh/compiler clang_version "$optionValue" replace etc/config.sh/compiler default_clang_version "$optionValue"
replace etc/config.csh/compiler clang_version "$optionValue" replace etc/config.csh/compiler default_clang_version "$optionValue"
adjusted=true adjusted=true
shift shift
;; ;;
-gcc) -gcc)
# Replace gcc_version=... # Replace default_gcc_version=...
optionValue=$(getOptionValue "$@") optionValue=$(getOptionValue "$@")
replace etc/config.sh/compiler gcc_version "$optionValue" replace etc/config.sh/compiler default_gcc_version "$optionValue"
replace etc/config.csh/compiler gcc_version "$optionValue" replace etc/config.csh/compiler default_gcc_version "$optionValue"
adjusted=true adjusted=true
shift shift
;; ;;
@ -389,22 +388,22 @@ do
gmp-[4-9]* | gmp-system) gmp-[4-9]* | gmp-system)
# gcc-related package # gcc-related package
replace etc/config.sh/compiler gmp_version "$1" replace etc/config.sh/compiler default_gmp_version "$1"
replace etc/config.csh/compiler gmp_version "$1" replace etc/config.csh/compiler default_gmp_version "$1"
adjusted=true adjusted=true
;; ;;
mpfr-[2-9]* | mpfr-system) mpfr-[2-9]* | mpfr-system)
# gcc-related package # gcc-related package
replace etc/config.sh/compiler mpfr_version "$1" replace etc/config.sh/compiler default_mpfr_version "$1"
replace etc/config.csh/compiler mpfr_version "$1" replace etc/config.csh/compiler default_mpfr_version "$1"
adjusted=true adjusted=true
;; ;;
mpc-[0-9]* | mpc-system) mpc-[0-9]* | mpc-system)
# gcc-related package # gcc-related package
replace etc/config.sh/compiler mpc_version "$1" replace etc/config.sh/compiler default_mpc_version "$1"
replace etc/config.csh/compiler mpc_version "$1" replace etc/config.csh/compiler default_mpc_version "$1"
adjusted=true adjusted=true
;; ;;

View File

@ -6,11 +6,10 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Copyright (C) 2016 OpenFOAM Foundation # Copyright (C) 2016 OpenFOAM Foundation
# Copyright (C) 2016-2018 OpenCFD Ltd. # Copyright (C) 2016-2020 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, licensed under GNU General Public License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
# <http://www.gnu.org/licenses/>.
# #
# File # File
# etc/config.csh/compiler # etc/config.csh/compiler
@ -24,14 +23,19 @@
switch ("$WM_COMPILER_TYPE") switch ("$WM_COMPILER_TYPE")
case ThirdParty: case ThirdParty:
# Default versions of GMP, MPFR, MPC - override as necessary # Default versions (CLANG, GCC, GMP, MPFR, MPC) - override as necessary
set gmp_version=gmp-system set default_clang_version=llvm-3.7.1
set mpfr_version=mpfr-system set default_gcc_version=gcc-4.8.5
set mpc_version=mpc-system
set default_gmp_version=gmp-system
set default_mpfr_version=mpfr-system
set default_mpc_version=mpc-system
switch ("$WM_COMPILER") switch ("$WM_COMPILER")
case Gcc: case Gcc:
set gcc_version="$default_gcc_version"
breaksw
case Gcc48*: case Gcc48*:
set gcc_version=gcc-4.8.5 set gcc_version=gcc-4.8.5
breaksw breaksw
@ -86,7 +90,19 @@ case ThirdParty:
case Gcc82*: case Gcc82*:
set gcc_version=gcc-8.2.0 set gcc_version=gcc-8.2.0
breaksw breaksw
case Gcc83*:
set gcc_version=gcc-8.3.0
breaksw
case Gcc91*:
set gcc_version=gcc-9.1.0
breaksw
case Gcc92*:
set gcc_version=gcc-9.2.0
breaksw
case Clang: case Clang:
set clang_version="$default_clang_version"
breaksw
case Clang37*: case Clang37*:
set clang_version=llvm-3.7.1 set clang_version=llvm-3.7.1
breaksw breaksw
@ -108,6 +124,13 @@ case ThirdParty:
case Clang70*: case Clang70*:
set clang_version=llvm-7.0.1 set clang_version=llvm-7.0.1
breaksw breaksw
case Clang80*:
set clang_version=llvm-8.0.1
breaksw
case Clang90*:
set clang_version=llvm-9.0.0
breaksw
default: default:
/bin/cat << UNKNOWN_COMPILER /bin/cat << UNKNOWN_COMPILER
=============================================================================== ===============================================================================
@ -125,4 +148,7 @@ UNKNOWN_COMPILER
breaksw breaksw
endsw endsw
unset default_gcc_version default_clang_version
unset default_gmp_version default_mpfr_version default_mpc_version
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -9,15 +9,17 @@
# Copyright (C) 2017 OpenCFD Ltd. # Copyright (C) 2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, licensed under GNU General Public License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
# <http://www.gnu.org/licenses/>.
# #
# File # File
# config.csh/example/compiler # config.csh/example/compiler
# - sourced by OpenFOAM-*/etc/config.csh/settings # - sourced by OpenFOAM-*/etc/config.csh/settings
# #
# Description # Description
# Example of fine tuning ThirdParty compiler settings for OpenFOAM # Older example of fine tuning compiler settings for OpenFOAM
#
# The preferred mechanism is now with a "compiler-$WM_COMPILER" file
# in one of the etc/ directories.
# #
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
@ -26,7 +28,7 @@ eval `$WM_PROJECT_DIR/bin/foamEtcFile -csh -config -mode=o compiler`
# Modify/override compiler settings # Modify/override compiler settings
switch ("$WM_COMPILER") switch ("$WM_COMPILER")
case Gcc70: case Gcc70*:
set gcc_version=gcc-7.0.0 set gcc_version=gcc-7.0.0
set gmp_version=gmp-6.1.2 set gmp_version=gmp-6.1.2
set mpfr_version=mpfr-3.1.5 set mpfr_version=mpfr-3.1.5

View File

@ -0,0 +1,28 @@
#----------------------------------*-sh-*--------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | www.openfoam.com
# \\/ M anipulation |
#------------------------------------------------------------------------------
# Copyright (C) 2020 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
#
# File
# config.csh/example/compiler-Gcc92
# - sourced by OpenFOAM-*/etc/config.csh/compiler
#
# Description
# Example of fine tuning compiler settings with a hook
#
#------------------------------------------------------------------------------
# Modify/override compiler settings
set gcc_version=gcc-9.2.0
set gmp_version=gmp-6.2.0
set mpfr_version=mpfr-4.0.2
set mpc_version=mpc-1.1.0
#------------------------------------------------------------------------------

View File

@ -6,11 +6,10 @@
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Copyright (C) 2011-2016 OpenFOAM Foundation # Copyright (C) 2011-2016 OpenFOAM Foundation
# Copyright (C) 2016-2018 OpenCFD Ltd. # Copyright (C) 2016-2020 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, licensed under GNU General Public License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
# <http://www.gnu.org/licenses/>.
# #
# File # File
# etc/config.sh/compiler # etc/config.sh/compiler
@ -24,90 +23,56 @@
case "$WM_COMPILER_TYPE" in case "$WM_COMPILER_TYPE" in
ThirdParty) ThirdParty)
# Default versions of GMP, MPFR, MPC - override as necessary # Default versions (CLANG, GCC, GMP, MPFR, MPC) - override as necessary
gmp_version=gmp-system
mpfr_version=mpfr-system default_clang_version=llvm-3.7.1
mpc_version=mpc-system default_gcc_version=gcc-4.8.5
default_gmp_version=gmp-system
default_mpfr_version=mpfr-system
default_mpc_version=mpc-system
gmp_version="$default_gmp_version"
mpfr_version="$default_mpfr_version"
mpc_version="$default_mpc_version"
case "$WM_COMPILER" in case "$WM_COMPILER" in
Gcc | Gcc48*) Gcc) gcc_version="$default_gcc_version" ;;
gcc_version=gcc-4.8.5 Gcc48*) gcc_version=gcc-4.8.5 ;;
;; Gcc49*) gcc_version=gcc-4.9.4 ;;
Gcc49*) Gcc51*) gcc_version=gcc-5.1.0 ;;
gcc_version=gcc-4.9.4 Gcc52*) gcc_version=gcc-5.2.0 ;;
;; Gcc53*) gcc_version=gcc-5.3.0 ;;
Gcc51*) Gcc54*) gcc_version=gcc-5.4.0 ;;
gcc_version=gcc-5.1.0 Gcc55*) gcc_version=gcc-5.5.0 ;;
;; Gcc61*) gcc_version=gcc-6.1.0 ;;
Gcc52*) Gcc62*) gcc_version=gcc-6.2.0 ;;
gcc_version=gcc-5.2.0 Gcc63*) gcc_version=gcc-6.3.0 ;;
;; Gcc64*) gcc_version=gcc-6.4.0 ;;
Gcc53*) Gcc65*) gcc_version=gcc-6.5.0 ;;
gcc_version=gcc-5.3.0 Gcc71*) gcc_version=gcc-7.1.0 ;;
;; Gcc72*) gcc_version=gcc-7.2.0 ;;
Gcc54*) Gcc73*) gcc_version=gcc-7.3.0 ;;
gcc_version=gcc-5.4.0 Gcc74*) gcc_version=gcc-7.4.0 ;;
;; Gcc75*) gcc_version=gcc-7.5.0 ;;
Gcc55*) Gcc81*) gcc_version=gcc-8.1.0 ;;
gcc_version=gcc-5.5.0 Gcc82*) gcc_version=gcc-8.2.0 ;;
;; Gcc83*) gcc_version=gcc-8.3.0 ;;
Gcc61*) Gcc91*) gcc_version=gcc-9.1.0 ;;
gcc_version=gcc-6.1.0 Gcc92*) gcc_version=gcc-9.2.0 ;;
;;
Gcc62*) Clang) clang_version="$default_clang_version" ;;
gcc_version=gcc-6.2.0 Clang37*) clang_version=llvm-3.7.1 ;;
;; Clang38*) clang_version=llvm-3.8.1 ;;
Gcc63*) Clang39*) clang_version=llvm-3.9.1 ;;
gcc_version=gcc-6.3.0 Clang40*) clang_version=llvm-4.0.1 ;;
;; Clang50*) clang_version=llvm-5.0.2 ;;
Gcc64*) Clang60*) clang_version=llvm-6.0.1 ;;
gcc_version=gcc-6.4.0 Clang70*) clang_version=llvm-7.0.1 ;;
;; Clang71*) clang_version=llvm-7.1.0 ;;
Gcc65*) Clang80*) clang_version=llvm-8.0.1 ;;
gcc_version=gcc-6.5.0 Clang90*) clang_version=llvm-9.0.0 ;;
;;
Gcc71*)
gcc_version=gcc-7.1.0
;;
Gcc72*)
gcc_version=gcc-7.2.0
;;
Gcc73*)
gcc_version=gcc-7.3.0
;;
Gcc74*)
gcc_version=gcc-7.4.0
;;
Gcc81*)
gcc_version=gcc-8.1.0
;;
Gcc82*)
gcc_version=gcc-8.2.0
;;
Clang | Clang37*)
clang_version=llvm-3.7.1
;;
Clang38*)
clang_version=llvm-3.8.1
;;
Clang39*)
clang_version=llvm-3.9.1
;;
Clang40*)
clang_version=llvm-4.0.1
;;
Clang50*)
clang_version=llvm-5.0.2
;;
Clang60*)
clang_version=llvm-6.0.1
;;
Clang70*)
clang_version=llvm-7.0.1
;;
Clang80*)
clang_version=llvm-8.0.0
;;
*) *)
/bin/cat << UNKNOWN_COMPILER 1>&2 /bin/cat << UNKNOWN_COMPILER 1>&2
=============================================================================== ===============================================================================
@ -125,4 +90,7 @@ UNKNOWN_COMPILER
;; ;;
esac esac
unset default_gcc_version default_clang_version
unset default_gmp_version default_mpfr_version default_mpc_version
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -9,15 +9,17 @@
# Copyright (C) 2017 OpenCFD Ltd. # Copyright (C) 2017 OpenCFD Ltd.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
# This file is part of OpenFOAM, licensed under GNU General Public License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
# <http://www.gnu.org/licenses/>.
# #
# File # File
# config.sh/example/compiler # config.sh/example/compiler
# - sourced by OpenFOAM-*/etc/config.sh/settings # - sourced by OpenFOAM-*/etc/config.sh/settings
# #
# Description # Description
# Example of fine tuning compiler versions and settings for OpenFOAM # Older example of fine tuning compiler settings for OpenFOAM.
#
# The preferred mechanism is now with a "compiler-$WM_COMPILER" file
# in one of the etc/ directories.
# #
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
@ -26,18 +28,12 @@ eval $($WM_PROJECT_DIR/bin/foamEtcFile -sh -config -mode=o compiler)
# Modify/override compiler settings # Modify/override compiler settings
case "$WM_COMPILER" in case "$WM_COMPILER" in
Gcc70) Gcc70*)
gcc_version=gcc-7.0.0 gcc_version=gcc-7.0.0
gmp_version=gmp-6.1.2 gmp_version=gmp-6.1.2
mpfr_version=mpfr-3.1.5 mpfr_version=mpfr-3.1.5
mpc_version=mpc-1.0.3 mpc_version=mpc-1.0.3
;; ;;
Gcc48u)
# Example of using the system GCC 4.8 in Ubuntu 15.10. Keep in mind you
# will also need to create the respective directory in "wmake/rules"
export CC='gcc-4.8'
export CXX='g++-4.8'
;;
esac esac
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -0,0 +1,28 @@
#----------------------------------*-sh-*--------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | www.openfoam.com
# \\/ M anipulation |
#------------------------------------------------------------------------------
# Copyright (C) 2020 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
#
# File
# config.sh/example/compiler-Gcc92
# - sourced by OpenFOAM-*/etc/config.sh/compiler
#
# Description
# Example of fine tuning compiler settings with a hook
#
#------------------------------------------------------------------------------
# Modify/override compiler settings
gcc_version=gcc-9.2.0
gmp_version=gmp-6.2.0
mpfr_version=mpfr-4.0.2
mpc_version=mpc-1.1.0
#------------------------------------------------------------------------------

View File

@ -1428,7 +1428,7 @@ bool Foam::ping
} }
// Fill sockaddr_in structure with dest address and port // Fill sockaddr_in structure with dest address and port
memset(reinterpret_cast<char *>(&destAddr), '\0', sizeof(destAddr)); std::memset(reinterpret_cast<char *>(&destAddr), '\0', sizeof(destAddr));
destAddr.sin_family = AF_INET; destAddr.sin_family = AF_INET;
destAddr.sin_port = htons(ushort(destPort)); destAddr.sin_port = htons(ushort(destPort));
destAddr.sin_addr.s_addr = addr; destAddr.sin_addr.s_addr = addr;

View File

@ -472,6 +472,12 @@ public:
public: public:
//- Copy construct
reference(const reference&) = default;
//- Move construct
reference(reference&&) = default;
//- Value assignment //- Value assignment
inline void operator=(const reference& other); inline void operator=(const reference& other);

View File

@ -447,6 +447,12 @@ public:
public: public:
//- Copy construct
reference(const reference&) = default;
//- Move construct
reference(reference&&) = default;
//- Flip the bit at the position, no range-checking //- Flip the bit at the position, no range-checking
inline void flip(); inline void flip();

View File

@ -766,8 +766,11 @@ public:
// Constructors // Constructors
//- Construct null (end iterator) //- Default construct (end iterator)
inline const_iterator() = default; const_iterator() = default;
//- Copy construct
const_iterator(const const_iterator&) = default;
//- Copy construct from similar access type //- Copy construct from similar access type
inline explicit const_iterator(const Iterator<true>& iter) inline explicit const_iterator(const Iterator<true>& iter)

View File

@ -233,6 +233,9 @@ public:
public: public:
//- Copy construct
iterator(const iterator&) = default;
//- Construct for a node on a list //- Construct for a node on a list
inline iterator(DLListBase* list, link* item); inline iterator(DLListBase* list, link* item);

View File

@ -209,6 +209,9 @@ public:
public: public:
//- Copy construct
iterator(const iterator&) = default;
//- Construct for a node on the list //- Construct for a node on the list
inline iterator(SLListBase* list, link* item); inline iterator(SLListBase* list, link* item);

View File

@ -59,7 +59,10 @@ void Foam::List<T>::doResize(const label newSize)
#ifdef USEMEMCPY #ifdef USEMEMCPY
if (contiguous<T>()) if (contiguous<T>())
{ {
memcpy(nv, this->v_, overlap*sizeof(T)); std::memcpy
(
static_cast<void*>(nv), this->v_, overlap*sizeof(T)
);
} }
else else
#endif #endif
@ -185,21 +188,26 @@ Foam::List<T>::List(const UList<T>& a)
: :
UList<T>(nullptr, a.size_) UList<T>(nullptr, a.size_)
{ {
if (this->size_) const label len = this->size_;
if (len)
{ {
doAlloc(); doAlloc();
#ifdef USEMEMCPY #ifdef USEMEMCPY
if (contiguous<T>()) if (contiguous<T>())
{ {
memcpy(this->v_, a.v_, this->byteSize()); std::memcpy
(
static_cast<void*>(this->v_), a.v_, this->byteSize()
);
} }
else else
#endif #endif
{ {
List_ACCESS(T, (*this), vp); List_ACCESS(T, (*this), vp);
List_CONST_ACCESS(T, a, ap); List_CONST_ACCESS(T, a, ap);
List_FOR_ALL((*this), i) for (label i = 0; i < len; ++i)
{ {
vp[i] = ap[i]; vp[i] = ap[i];
} }
@ -213,21 +221,26 @@ Foam::List<T>::List(const List<T>& a)
: :
UList<T>(nullptr, a.size_) UList<T>(nullptr, a.size_)
{ {
if (this->size_) const label len = this->size_;
if (len)
{ {
doAlloc(); doAlloc();
#ifdef USEMEMCPY #ifdef USEMEMCPY
if (contiguous<T>()) if (contiguous<T>())
{ {
memcpy(this->v_, a.v_, this->byteSize()); std::memcpy
(
static_cast<void*>(this->v_), a.v_, this->byteSize()
);
} }
else else
#endif #endif
{ {
List_ACCESS(T, (*this), vp); List_ACCESS(T, (*this), vp);
List_CONST_ACCESS(T, a, ap); List_CONST_ACCESS(T, a, ap);
List_FOR_ALL((*this), i) for (label i = 0; i < len; ++i)
{ {
vp[i] = ap[i]; vp[i] = ap[i];
} }
@ -247,22 +260,29 @@ Foam::List<T>::List(List<T>& a, bool reuse)
this->v_ = a.v_; this->v_ = a.v_;
a.v_ = nullptr; a.v_ = nullptr;
a.size_ = 0; a.size_ = 0;
return;
} }
else if (this->size_)
const label len = this->size_;
if (len)
{ {
doAlloc(); doAlloc();
#ifdef USEMEMCPY #ifdef USEMEMCPY
if (contiguous<T>()) if (contiguous<T>())
{ {
memcpy(this->v_, a.v_, this->byteSize()); std::memcpy
(
static_cast<void*>(this->v_), a.v_, this->byteSize()
);
} }
else else
#endif #endif
{ {
List_ACCESS(T, (*this), vp); List_ACCESS(T, (*this), vp);
List_CONST_ACCESS(T, a, ap); List_CONST_ACCESS(T, a, ap);
List_FOR_ALL((*this), i) for (label i = 0; i < len; ++i)
{ {
vp[i] = ap[i]; vp[i] = ap[i];
} }
@ -454,19 +474,24 @@ void Foam::List<T>::operator=(const UList<T>& a)
{ {
reAlloc(a.size_); reAlloc(a.size_);
if (this->size_) const label len = this->size_;
if (len)
{ {
#ifdef USEMEMCPY #ifdef USEMEMCPY
if (contiguous<T>()) if (contiguous<T>())
{ {
memcpy(this->v_, a.v_, this->byteSize()); std::memcpy
(
static_cast<void*>(this->v_), a.v_, this->byteSize()
);
} }
else else
#endif #endif
{ {
List_ACCESS(T, (*this), vp); List_ACCESS(T, (*this), vp);
List_CONST_ACCESS(T, a, ap); List_CONST_ACCESS(T, a, ap);
List_FOR_ALL((*this), i) for (label i = 0; i < len; ++i)
{ {
vp[i] = ap[i]; vp[i] = ap[i];
} }
@ -522,7 +547,7 @@ void Foam::List<T>::operator=(const IndirectListBase<T, Addr>& list)
{ {
List_ACCESS(T, (*this), vp); List_ACCESS(T, (*this), vp);
for (label i=0; i<len; ++i) for (label i=0; i < len; ++i)
{ {
vp[i] = list[i]; vp[i] = list[i];
} }

View File

@ -76,6 +76,12 @@ public:
inline static const SubList<T>& null(); inline static const SubList<T>& null();
// Generated Methods
//- Copy construct
SubList(const SubList&) = default;
// Constructors // Constructors
//- Construct from UList and sub-list size, start at 0 //- Construct from UList and sub-list size, start at 0

View File

@ -118,7 +118,10 @@ void Foam::UList<T>::deepCopy(const UList<T>& list)
#ifdef USEMEMCPY #ifdef USEMEMCPY
if (contiguous<T>()) if (contiguous<T>())
{ {
memcpy(this->v_, list.v_, this->byteSize()); std::memcpy
(
static_cast<void*>(this->v_), list.v_, this->byteSize()
);
} }
else else
#endif #endif

View File

@ -213,6 +213,12 @@ public:
}; };
// Generated Methods
//- Copy construct
UList(const UList<T>&) = default;
// Constructors // Constructors
//- Null constructor //- Null constructor

View File

@ -259,6 +259,15 @@ public:
); );
// Generated Methods
//- Copy construct
IOobject(const IOobject&) = default;
//- Destructor
virtual ~IOobject() = default;
// Constructors // Constructors
//- Construct from name, instance, registry, io options //- Construct from name, instance, registry, io options
@ -328,10 +337,6 @@ public:
} }
//- Destructor
virtual ~IOobject() = default;
// Member Functions // Member Functions
// General access // General access

View File

@ -77,12 +77,6 @@ Foam::baseIOdictionary::baseIOdictionary
} }
// * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * * //
Foam::baseIOdictionary::~baseIOdictionary()
{}
// * * * * * * * * * * * * * * * Members Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Members Functions * * * * * * * * * * * * * //
const Foam::word& Foam::baseIOdictionary::name() const const Foam::word& Foam::baseIOdictionary::name() const

View File

@ -68,6 +68,18 @@ public:
TypeName("dictionary"); TypeName("dictionary");
// Generated Methods
//- Copy construct
baseIOdictionary(const baseIOdictionary&) = default;
//- Move construct
baseIOdictionary(baseIOdictionary&&) = default;
//- Destructor
virtual ~baseIOdictionary() = default;
// Constructors // Constructors
//- Construct given an IOobject //- Construct given an IOobject
@ -80,11 +92,7 @@ public:
baseIOdictionary(const IOobject&, Istream&); baseIOdictionary(const IOobject&, Istream&);
//- Destructor // Member Functions
virtual ~baseIOdictionary();
// Member functions
//- Return complete path + object name if the file exists //- Return complete path + object name if the file exists
// either in the case/processor or case otherwise null // either in the case/processor or case otherwise null

View File

@ -140,6 +140,15 @@ protected:
public: public:
// Generated Methods
//- Copy construct
IOstream(const IOstream&) = default;
//- Destructor
virtual ~IOstream() = default;
// Constructors // Constructors
//- Construct with specified stream option //- Construct with specified stream option
@ -165,10 +174,6 @@ public:
{} {}
//- Destructor
virtual ~IOstream() = default;
// Member Functions // Member Functions
// Access // Access

View File

@ -72,6 +72,15 @@ class Istream
public: public:
// Generated Methods
//- Copy construct
Istream(const Istream&) = default;
//- Destructor
virtual ~Istream() = default;
// Constructors // Constructors
//- Construct and set stream status //- Construct and set stream status
@ -87,11 +96,7 @@ public:
{} {}
//- Destructor // Member Functions
virtual ~Istream() = default;
// Member functions
// Read functions // Read functions

View File

@ -75,6 +75,15 @@ protected:
public: public:
// Generated Methods
//- Copy construct
Ostream(const Ostream&) = default;
//- Destructor
virtual ~Ostream() = default;
// Constructors // Constructors
//- Construct and set stream status //- Construct and set stream status
@ -90,11 +99,7 @@ public:
{} {}
//- Destructor // Member Functions
virtual ~Ostream() = default;
// Member functions
// Write functions // Write functions

View File

@ -62,14 +62,17 @@ class OSstream
std::ostream& os_; std::ostream& os_;
// Private Member Functions public:
// Generated Methods
//- Copy construct
OSstream(const OSstream&) = default;
//- No copy assignment //- No copy assignment
void operator=(const OSstream&) = delete; void operator=(const OSstream&) = delete;
public:
// Constructors // Constructors
//- Construct as wrapper around std::ostream and set stream status //- Construct as wrapper around std::ostream and set stream status

View File

@ -301,4 +301,32 @@ void Foam::ITstream::rewind()
} }
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
void Foam::ITstream::operator=(const ITstream& is)
{
Istream::operator=(is);
tokenList::operator=(is);
name_ = is.name_;
rewind();
}
void Foam::ITstream::operator=(const tokenList& toks)
{
tokenList::operator=(toks);
rewind();
}
void Foam::ITstream::operator=(tokenList&& toks)
{
tokenList::operator=(std::move(toks));
rewind();
}
// ************************************************************************* // // ************************************************************************* //

View File

@ -273,10 +273,22 @@ public:
} }
// Print // Output
//- Print description of stream to Ostream //- Print stream description to Ostream
void print(Ostream& os) const; void print(Ostream& os) const;
// Member Operators
//- Copy assignment, with rewind()
void operator=(const ITstream& is);
//- Copy assignment of tokens, with rewind()
void operator=(const tokenList& toks);
//- Move assignment of tokens, with rewind()
void operator=(tokenList&& toks);
}; };

View File

@ -55,7 +55,7 @@ Foam::IOerror::IOerror(const dictionary& errDict)
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::IOerror::~IOerror() throw() Foam::IOerror::~IOerror() noexcept
{} {}

View File

@ -128,7 +128,7 @@ Foam::error::error(const error& err)
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::error::~error() throw() Foam::error::~error() noexcept
{ {
delete messageStreamPtr_; delete messageStreamPtr_;
} }

View File

@ -95,7 +95,7 @@ public:
//- Destructor //- Destructor
virtual ~error() throw(); virtual ~error() noexcept;
// Static Member Functions // Static Member Functions
@ -239,7 +239,7 @@ public:
//- Destructor //- Destructor
virtual ~IOerror() throw(); virtual ~IOerror() noexcept;
// Member functions // Member functions

View File

@ -65,6 +65,12 @@ public:
TypeName("value"); TypeName("value");
// Generated Methods
//- Copy construct
valuePointPatchField(const valuePointPatchField&) = default;
// Constructors // Constructors
//- Construct from patch and internal field //- Construct from patch and internal field

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2016 OpenCFD Ltd. Copyright (C) 2016-2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -56,7 +56,7 @@ void Foam::interpolation2DTable<Type>::readTable()
template<class Type> template<class Type>
Foam::interpolation2DTable<Type>::interpolation2DTable() Foam::interpolation2DTable<Type>::interpolation2DTable()
: :
List<Tuple2<scalar, List<Tuple2<scalar, Type>>>>(), List<value_type>(),
bounding_(bounds::normalBounding::WARN), bounding_(bounds::normalBounding::WARN),
fileName_("fileNameIsUndefined"), fileName_("fileNameIsUndefined"),
reader_(nullptr) reader_(nullptr)
@ -71,7 +71,7 @@ Foam::interpolation2DTable<Type>::interpolation2DTable
const fileName& fName const fileName& fName
) )
: :
List<Tuple2<scalar, List<Tuple2<scalar, Type>>>>(values), List<value_type>(values),
bounding_(bounding), bounding_(bounding),
fileName_(fName), fileName_(fName),
reader_(nullptr) reader_(nullptr)
@ -81,7 +81,7 @@ Foam::interpolation2DTable<Type>::interpolation2DTable
template<class Type> template<class Type>
Foam::interpolation2DTable<Type>::interpolation2DTable(const fileName& fName) Foam::interpolation2DTable<Type>::interpolation2DTable(const fileName& fName)
: :
List<Tuple2<scalar, List<Tuple2<scalar, Type>>>>(), List<value_type>(),
bounding_(bounds::normalBounding::WARN), bounding_(bounds::normalBounding::WARN),
fileName_(fName), fileName_(fName),
reader_(new openFoamTableReader<Type>(dictionary())) reader_(new openFoamTableReader<Type>(dictionary()))
@ -93,7 +93,7 @@ Foam::interpolation2DTable<Type>::interpolation2DTable(const fileName& fName)
template<class Type> template<class Type>
Foam::interpolation2DTable<Type>::interpolation2DTable(const dictionary& dict) Foam::interpolation2DTable<Type>::interpolation2DTable(const dictionary& dict)
: :
List<Tuple2<scalar, List<Tuple2<scalar, Type>>>>(), List<value_type>(),
bounding_ bounding_
( (
bounds::normalBoundingNames.lookupOrDefault bounds::normalBoundingNames.lookupOrDefault
@ -114,13 +114,13 @@ Foam::interpolation2DTable<Type>::interpolation2DTable(const dictionary& dict)
template<class Type> template<class Type>
Foam::interpolation2DTable<Type>::interpolation2DTable Foam::interpolation2DTable<Type>::interpolation2DTable
( (
const interpolation2DTable& interpTable const interpolation2DTable& tbl
) )
: :
List<Tuple2<scalar, List<Tuple2<scalar, Type>>>>(interpTable), List<value_type>(tbl),
bounding_(interpTable.bounding_), bounding_(tbl.bounding_),
fileName_(interpTable.fileName_), fileName_(tbl.fileName_),
reader_(interpTable.reader_) // note: steals reader. Used in write(). reader_(tbl.reader_.clone())
{} {}
@ -312,6 +312,24 @@ Foam::label Foam::interpolation2DTable<Type>::Xi
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
template<class Type>
void Foam::interpolation2DTable<Type>::operator=
(
const interpolation2DTable<Type>& rhs
)
{
if (this == &rhs)
{
return;
}
static_cast<List<value_type>&>(*this) = rhs;
bounding_ = rhs.bounding_;
fileName_ = rhs.fileName_;
reader_.reset(rhs.reader_.clone());
}
template<class Type> template<class Type>
Type Foam::interpolation2DTable<Type>::operator() Type Foam::interpolation2DTable<Type>::operator()
( (

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2016-2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -57,17 +58,7 @@ class interpolation2DTable
: :
public List<Tuple2<scalar, List<Tuple2<scalar, Type>>>> public List<Tuple2<scalar, List<Tuple2<scalar, Type>>>>
{ {
public: // Private Data
// Public data types
//- Convenience typedef
typedef List<Tuple2<scalar, List<Tuple2<scalar, Type>>>> table;
private:
// Private data
//- Handling for out-of-bound values //- Handling for out-of-bound values
bounds::normalBounding bounding_; bounds::normalBounding bounding_;
@ -103,6 +94,15 @@ private:
public: public:
// Public Data Types
//- The element data type
typedef Tuple2<scalar, List<Tuple2<scalar, Type>>> value_type;
//- Convenience typedef
typedef List<Tuple2<scalar, List<Tuple2<scalar, Type>>>> table;
// Constructors // Constructors
//- Construct null //- Construct null
@ -122,8 +122,8 @@ public:
//- Construct by reading file name and outOfBounds from dictionary //- Construct by reading file name and outOfBounds from dictionary
interpolation2DTable(const dictionary& dict); interpolation2DTable(const dictionary& dict);
//- Construct copy //- Copy construct
interpolation2DTable(const interpolation2DTable& interpTable); interpolation2DTable(const interpolation2DTable& tbl);
// Member Functions // Member Functions
@ -141,6 +141,9 @@ public:
//- Return an element of constant List<Tuple2<scalar, Type>> //- Return an element of constant List<Tuple2<scalar, Type>>
const List<Tuple2<scalar, Type>>& operator[](const label) const; const List<Tuple2<scalar, Type>>& operator[](const label) const;
//- Copy assignment
void operator=(const interpolation2DTable<Type>& rhs);
//- Return an interpolated value //- Return an interpolated value
Type operator()(const scalar valueX, const scalar valueY) const; Type operator()(const scalar valueX, const scalar valueY) const;
}; };

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -59,7 +60,7 @@ void Foam::interpolationTable<Type>::readTable()
template<class Type> template<class Type>
Foam::interpolationTable<Type>::interpolationTable() Foam::interpolationTable<Type>::interpolationTable()
: :
List<Tuple2<scalar, Type>>(), List<value_type>(),
bounding_(bounds::repeatableBounding::WARN), bounding_(bounds::repeatableBounding::WARN),
fileName_("fileNameIsUndefined"), fileName_("fileNameIsUndefined"),
reader_(nullptr) reader_(nullptr)
@ -74,7 +75,7 @@ Foam::interpolationTable<Type>::interpolationTable
const fileName& fName const fileName& fName
) )
: :
List<Tuple2<scalar, Type>>(values), List<value_type>(values),
bounding_(bounding), bounding_(bounding),
fileName_(fName), fileName_(fName),
reader_(nullptr) reader_(nullptr)
@ -84,7 +85,7 @@ Foam::interpolationTable<Type>::interpolationTable
template<class Type> template<class Type>
Foam::interpolationTable<Type>::interpolationTable(const fileName& fName) Foam::interpolationTable<Type>::interpolationTable(const fileName& fName)
: :
List<Tuple2<scalar, Type>>(), List<value_type>(),
bounding_(bounds::repeatableBounding::WARN), bounding_(bounds::repeatableBounding::WARN),
fileName_(fName), fileName_(fName),
reader_(new openFoamTableReader<Type>(dictionary())) reader_(new openFoamTableReader<Type>(dictionary()))
@ -96,7 +97,7 @@ Foam::interpolationTable<Type>::interpolationTable(const fileName& fName)
template<class Type> template<class Type>
Foam::interpolationTable<Type>::interpolationTable(const dictionary& dict) Foam::interpolationTable<Type>::interpolationTable(const dictionary& dict)
: :
List<Tuple2<scalar, Type>>(), List<value_type>(),
bounding_ bounding_
( (
bounds::repeatableBoundingNames.lookupOrDefault bounds::repeatableBoundingNames.lookupOrDefault
@ -117,17 +118,16 @@ Foam::interpolationTable<Type>::interpolationTable(const dictionary& dict)
template<class Type> template<class Type>
Foam::interpolationTable<Type>::interpolationTable Foam::interpolationTable<Type>::interpolationTable
( (
const interpolationTable& interpTable const interpolationTable& tbl
) )
: :
List<Tuple2<scalar, Type>>(interpTable), List<value_type>(tbl),
bounding_(interpTable.bounding_), bounding_(tbl.bounding_),
fileName_(interpTable.fileName_), fileName_(tbl.fileName_),
reader_(interpTable.reader_) // note: steals reader. Used in write(). reader_(tbl.reader_.clone())
{} {}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template<class Type> template<class Type>
@ -318,6 +318,24 @@ Type Foam::interpolationTable<Type>::rateOfChange(const scalar value) const
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
template<class Type>
void Foam::interpolationTable<Type>::operator=
(
const interpolationTable<Type>& rhs
)
{
if (this == &rhs)
{
return;
}
static_cast<List<value_type>&>(*this) = rhs;
bounding_ = rhs.bounding_;
fileName_ = rhs.fileName_;
reader_.reset(rhs.reader_.clone());
}
template<class Type> template<class Type>
const Foam::Tuple2<Foam::scalar, Type>& const Foam::Tuple2<Foam::scalar, Type>&
Foam::interpolationTable<Type>::operator[](const label i) const Foam::interpolationTable<Type>::operator[](const label i) const

View File

@ -104,6 +104,15 @@ class interpolationTable
public: public:
// Public Data Types
//- The element data type
typedef Tuple2<scalar, Type> value_type;
//- The mapped data type
typedef Type mapped_type;
// Constructors // Constructors
//- Construct null //- Construct null
@ -125,8 +134,8 @@ public:
// This is a specialised constructor used by patchFields // This is a specialised constructor used by patchFields
interpolationTable(const dictionary& dict); interpolationTable(const dictionary& dict);
//- Construct copy //- Copy construct
interpolationTable(const interpolationTable& interpTable); interpolationTable(const interpolationTable& tbl);
// Member Functions // Member Functions
@ -145,6 +154,9 @@ public:
// Member Operators // Member Operators
//- Copy assignment
void operator=(const interpolationTable<Type>& rhs);
//- Return an element of constant Tuple2<scalar, Type> //- Return an element of constant Tuple2<scalar, Type>
const Tuple2<scalar, Type>& operator[](const label) const; const Tuple2<scalar, Type>& operator[](const label) const;

View File

@ -50,7 +50,7 @@ void Foam::processorLduInterface::send
( (
commsType, commsType,
neighbProcNo(), neighbProcNo(),
reinterpret_cast<const char*>(f.begin()), reinterpret_cast<const char*>(f.cdata()),
nBytes, nBytes,
tag(), tag(),
comm() comm()
@ -64,20 +64,23 @@ void Foam::processorLduInterface::send
( (
commsType, commsType,
neighbProcNo(), neighbProcNo(),
receiveBuf_.begin(), receiveBuf_.data(),
nBytes, nBytes,
tag(), tag(),
comm() comm()
); );
resizeBuf(sendBuf_, nBytes); resizeBuf(sendBuf_, nBytes);
memcpy(sendBuf_.begin(), f.begin(), nBytes); std::memcpy
(
static_cast<void*>(sendBuf_.data()), f.cdata(), nBytes
);
OPstream::write OPstream::write
( (
commsType, commsType,
neighbProcNo(), neighbProcNo(),
sendBuf_.begin(), sendBuf_.cdata(),
nBytes, nBytes,
tag(), tag(),
comm() comm()
@ -109,7 +112,7 @@ void Foam::processorLduInterface::receive
( (
commsType, commsType,
neighbProcNo(), neighbProcNo(),
reinterpret_cast<char*>(f.begin()), reinterpret_cast<char*>(f.data()),
f.byteSize(), f.byteSize(),
tag(), tag(),
comm() comm()
@ -117,7 +120,10 @@ void Foam::processorLduInterface::receive
} }
else if (commsType == Pstream::commsTypes::nonBlocking) else if (commsType == Pstream::commsTypes::nonBlocking)
{ {
memcpy(f.begin(), receiveBuf_.begin(), f.byteSize()); std::memcpy
(
static_cast<void*>(f.data()), receiveBuf_.cdata(), f.byteSize()
);
} }
else else
{ {
@ -156,10 +162,10 @@ void Foam::processorLduInterface::compressedSend
label nFloats = nm1 + nlast; label nFloats = nm1 + nlast;
label nBytes = nFloats*sizeof(float); label nBytes = nFloats*sizeof(float);
const scalar *sArray = reinterpret_cast<const scalar*>(f.begin()); const scalar *sArray = reinterpret_cast<const scalar*>(f.cdata());
const scalar *slast = &sArray[nm1]; const scalar *slast = &sArray[nm1];
resizeBuf(sendBuf_, nBytes); resizeBuf(sendBuf_, nBytes);
float *fArray = reinterpret_cast<float*>(sendBuf_.begin()); float *fArray = reinterpret_cast<float*>(sendBuf_.data());
for (label i=0; i<nm1; i++) for (label i=0; i<nm1; i++)
{ {
@ -178,7 +184,7 @@ void Foam::processorLduInterface::compressedSend
( (
commsType, commsType,
neighbProcNo(), neighbProcNo(),
sendBuf_.begin(), sendBuf_.cdata(),
nBytes, nBytes,
tag(), tag(),
comm() comm()
@ -192,7 +198,7 @@ void Foam::processorLduInterface::compressedSend
( (
commsType, commsType,
neighbProcNo(), neighbProcNo(),
receiveBuf_.begin(), receiveBuf_.data(),
nBytes, nBytes,
tag(), tag(),
comm() comm()
@ -202,7 +208,7 @@ void Foam::processorLduInterface::compressedSend
( (
commsType, commsType,
neighbProcNo(), neighbProcNo(),
sendBuf_.begin(), sendBuf_.cdata(),
nBytes, nBytes,
tag(), tag(),
comm() comm()
@ -248,7 +254,7 @@ void Foam::processorLduInterface::compressedReceive
( (
commsType, commsType,
neighbProcNo(), neighbProcNo(),
receiveBuf_.begin(), receiveBuf_.data(),
nBytes, nBytes,
tag(), tag(),
comm() comm()
@ -262,9 +268,9 @@ void Foam::processorLduInterface::compressedReceive
} }
const float *fArray = const float *fArray =
reinterpret_cast<const float*>(receiveBuf_.begin()); reinterpret_cast<const float*>(receiveBuf_.cdata());
f.last() = reinterpret_cast<const Type&>(fArray[nm1]); f.last() = reinterpret_cast<const Type&>(fArray[nm1]);
scalar *sArray = reinterpret_cast<scalar*>(f.begin()); scalar *sArray = reinterpret_cast<scalar*>(f.data());
const scalar *slast = &sArray[nm1]; const scalar *slast = &sArray[nm1];
for (label i=0; i<nm1; i++) for (label i=0; i<nm1; i++)

View File

@ -73,6 +73,18 @@ class patchIdentifier
public: public:
// Generated Methods
//- Copy construct
patchIdentifier(const patchIdentifier&) = default;
//- Copy assignment
patchIdentifier& operator=(const patchIdentifier&) = default;
//- Destructor
virtual ~patchIdentifier() = default;
// Constructors // Constructors
//- Construct from components //- Construct from components
@ -100,10 +112,6 @@ public:
); );
//- Destructor
virtual ~patchIdentifier() = default;
// Member Functions // Member Functions
//- Return the patch name //- Return the patch name

View File

@ -83,6 +83,15 @@ public:
static const word emptyType; static const word emptyType;
// Generated Methods
//- Copy construct
surfZoneIdentifier(const surfZoneIdentifier&) = default;
//- Copy assignment
surfZoneIdentifier& operator=(const surfZoneIdentifier&) = default;
// Constructors // Constructors
//- Construct null //- Construct null

View File

@ -79,10 +79,19 @@ public:
enum components { XX, XY, XZ, YY, YZ, ZZ }; enum components { XX, XY, XZ, YY, YZ, ZZ };
// Constructors // Generated Methods
//- Construct null //- Default construct
inline SymmTensor(); SymmTensor() = default;
//- Copy construct
SymmTensor(const SymmTensor&) = default;
//- Copy assignment
SymmTensor& operator=(const SymmTensor&) = default;
// Constructors
//- Construct initialized to zero //- Construct initialized to zero
inline SymmTensor(const Foam::zero); inline SymmTensor(const Foam::zero);

View File

@ -30,11 +30,6 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class Cmpt>
inline Foam::SymmTensor<Cmpt>::SymmTensor()
{}
template<class Cmpt> template<class Cmpt>
inline Foam::SymmTensor<Cmpt>::SymmTensor(const Foam::zero) inline Foam::SymmTensor<Cmpt>::SymmTensor(const Foam::zero)
: :

View File

@ -79,10 +79,19 @@ public:
enum components { XX, XY, YY }; enum components { XX, XY, YY };
// Constructors // Generated Methods
//- Construct null //- Default construct
inline SymmTensor2D(); SymmTensor2D() = default;
//- Copy construct
SymmTensor2D(const SymmTensor2D&) = default;
//- Copy assignment
SymmTensor2D& operator=(const SymmTensor2D&) = default;
// Constructors
//- Construct initialized to zero //- Construct initialized to zero
inline SymmTensor2D(const Foam::zero); inline SymmTensor2D(const Foam::zero);

View File

@ -30,11 +30,6 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class Cmpt>
inline Foam::SymmTensor2D<Cmpt>::SymmTensor2D()
{}
template<class Cmpt> template<class Cmpt>
inline Foam::SymmTensor2D<Cmpt>::SymmTensor2D(const Foam::zero) inline Foam::SymmTensor2D<Cmpt>::SymmTensor2D(const Foam::zero)
: :

View File

@ -89,10 +89,19 @@ public:
enum components { XX, XY, XZ, YX, YY, YZ, ZX, ZY, ZZ }; enum components { XX, XY, XZ, YX, YY, YZ, ZX, ZY, ZZ };
// Constructors // Generated Methods
//- Construct null //- Default construct
inline Tensor(); Tensor() = default;
//- Copy construct
Tensor(const Tensor&) = default;
//- Copy assignment
Tensor& operator=(const Tensor&) = default;
// Constructors
//- Construct initialized to zero //- Construct initialized to zero
inline Tensor(const Foam::zero); inline Tensor(const Foam::zero);

View File

@ -30,11 +30,6 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class Cmpt>
inline Foam::Tensor<Cmpt>::Tensor()
{}
template<class Cmpt> template<class Cmpt>
inline Foam::Tensor<Cmpt>::Tensor(const Foam::zero) inline Foam::Tensor<Cmpt>::Tensor(const Foam::zero)
: :

View File

@ -83,10 +83,19 @@ public:
enum components { XX, XY, YX, YY }; enum components { XX, XY, YX, YY };
// Constructors // Generated Methods
//- Construct null //- Default construct
inline Tensor2D(); Tensor2D() = default;
//- Copy construct
Tensor2D(const Tensor2D&) = default;
//- Copy assignment
Tensor2D& operator=(const Tensor2D&) = default;
// Constructors
//- Construct initialized to zero //- Construct initialized to zero
inline Tensor2D(const Foam::zero); inline Tensor2D(const Foam::zero);

View File

@ -28,11 +28,6 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class Cmpt>
inline Foam::Tensor2D<Cmpt>::Tensor2D()
{}
template<class Cmpt> template<class Cmpt>
inline Foam::Tensor2D<Cmpt>::Tensor2D(const Foam::zero) inline Foam::Tensor2D<Cmpt>::Tensor2D(const Foam::zero)
: :

View File

@ -80,10 +80,19 @@ public:
enum components { X, Y, Z }; enum components { X, Y, Z };
// Constructors // Generated Methods
//- Construct null //- Default construct
inline Vector(); Vector() = default;
//- Copy construct
Vector(const Vector&) = default;
//- Copy assignment
Vector& operator=(const Vector&) = default;
// Constructors
//- Construct initialized to zero //- Construct initialized to zero
inline Vector(const Foam::zero); inline Vector(const Foam::zero);

View File

@ -28,11 +28,6 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class Cmpt>
inline Foam::Vector<Cmpt>::Vector()
{}
template<class Cmpt> template<class Cmpt>
inline Foam::Vector<Cmpt>::Vector(const Foam::zero) inline Foam::Vector<Cmpt>::Vector(const Foam::zero)
: :

View File

@ -73,10 +73,19 @@ public:
enum components { X, Y }; enum components { X, Y };
// Constructors // Generated Methods
//- Construct null //- Default construct
inline Vector2D(); Vector2D() = default;
//- Copy construct
Vector2D(const Vector2D&) = default;
//- Copy assignment
Vector2D& operator=(const Vector2D&) = default;
// Constructors
//- Construct initialized to zero //- Construct initialized to zero
inline Vector2D(const Foam::zero); inline Vector2D(const Foam::zero);

View File

@ -28,11 +28,6 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class Cmpt>
inline Foam::Vector2D<Cmpt>::Vector2D()
{}
template<class Cmpt> template<class Cmpt>
inline Foam::Vector2D<Cmpt>::Vector2D(const Foam::zero) inline Foam::Vector2D<Cmpt>::Vector2D(const Foam::zero)
: :

View File

@ -90,14 +90,26 @@ class complex
public: public:
// Generated Methods
//- Copy construct
complex(const complex&) = default;
//- Copy assignment
complex& operator=(const complex&) = default;
//- Move construct
complex(complex&&) = default;
//- Move assignment
complex& operator=(complex&&) = default;
// Constructors // Constructors
//- Construct null as zero-initialized //- Default construct, as zero-initialized
inline constexpr complex() noexcept; inline constexpr complex() noexcept;
//- Default copy constructor
complex(const complex&) = default;
//- Construct zero-initialized from zero class //- Construct zero-initialized from zero class
inline constexpr complex(const Foam::zero) noexcept; inline constexpr complex(const Foam::zero) noexcept;
@ -173,9 +185,6 @@ public:
} }
//- Copy assignment
inline void operator=(const complex& c);
//- Assign zero //- Assign zero
inline void operator=(const Foam::zero); inline void operator=(const Foam::zero);

View File

@ -116,13 +116,6 @@ inline Foam::complex Foam::complex::conjugate() const
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
inline void Foam::complex::operator=(const complex& c)
{
re = c.re;
im = c.im;
}
inline void Foam::complex::operator=(const Foam::zero) inline void Foam::complex::operator=(const Foam::zero)
{ {
re = 0; re = 0;

View File

@ -63,18 +63,21 @@ class Uniform
: :
public Constant<Type> public Constant<Type>
{ {
// Private Member Functions public:
//- Declare type-name, virtual type (with debug switch)
TypeName("uniform");
// Generated Methods
//- Copy construct
Uniform<Type>(const Uniform&) = default;
//- No copy assignment //- No copy assignment
void operator=(const Uniform<Type>&) = delete; void operator=(const Uniform<Type>&) = delete;
public:
// Runtime type information
TypeName("uniform");
// Constructors // Constructors
//- Construct from entry name and dictionary //- Construct from entry name and dictionary

View File

@ -43,18 +43,6 @@ Foam::Polynomial<PolySize>::Polynomial()
} }
template<int PolySize>
Foam::Polynomial<PolySize>::Polynomial
(
const Polynomial<PolySize>& poly
)
:
VectorSpace<Polynomial<PolySize>, scalar, PolySize>(poly),
logActive_(poly.logActive_),
logCoeff_(poly.logCoeff_)
{}
template<int PolySize> template<int PolySize>
Foam::Polynomial<PolySize>::Polynomial(const scalar coeffs[PolySize]) Foam::Polynomial<PolySize>::Polynomial(const scalar coeffs[PolySize])
: :

View File

@ -108,9 +108,6 @@ public:
//- Construct null, with all coefficients = 0.0 //- Construct null, with all coefficients = 0.0
Polynomial(); Polynomial();
//- Copy constructor
Polynomial(const Polynomial&);
//- Construct from C-array of coefficients //- Construct from C-array of coefficients
explicit Polynomial(const scalar coeffs[PolySize]); explicit Polynomial(const scalar coeffs[PolySize]);

View File

@ -88,6 +88,16 @@ public:
static const vectorTensorTransform I; static const vectorTensorTransform I;
// Generated Methods
//- Copy construct
vectorTensorTransform(const vectorTensorTransform&) = default;
//- Copy assignment
vectorTensorTransform&
operator=(const vectorTensorTransform&) = default;
// Constructors // Constructors
//- Construct null //- Construct null
@ -151,11 +161,11 @@ public:
tmp<Field<Type>> transform(const Field<Type>&) const; tmp<Field<Type>> transform(const Field<Type>&) const;
// Member operators // Member Operators
inline void operator=(const vectorTensorTransform&);
inline void operator&=(const vectorTensorTransform&); inline void operator&=(const vectorTensorTransform&);
//- Assign translation
inline void operator=(const vector&); inline void operator=(const vector&);
inline void operator+=(const vector&); inline void operator+=(const vector&);
inline void operator-=(const vector&); inline void operator-=(const vector&);

View File

@ -173,17 +173,6 @@ inline Foam::pointField Foam::vectorTensorTransform::invTransformPosition
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
inline void Foam::vectorTensorTransform::operator=
(
const vectorTensorTransform& tr
)
{
t_ = tr.t_;
R_ = tr.R_;
hasR_ = tr.hasR_;
}
inline void Foam::vectorTensorTransform::operator&= inline void Foam::vectorTensorTransform::operator&=
( (
const vectorTensorTransform& tr const vectorTensorTransform& tr

View File

@ -68,7 +68,7 @@ static inline uint32_t swapBytes(uint32_t n)
// *(uint32_t *) cp = val // *(uint32_t *) cp = val
static inline void set_uint32(unsigned char *dst, uint32_t v) static inline void set_uint32(unsigned char *dst, uint32_t v)
{ {
memcpy(dst, &v, sizeof(uint32_t)); std::memcpy(dst, &v, sizeof(uint32_t));
} }
//! \endcond //! \endcond
@ -96,7 +96,7 @@ void Foam::SHA1::processBytes(const void *data, size_t len)
unsigned char* bufp = reinterpret_cast<unsigned char*>(buffer_); unsigned char* bufp = reinterpret_cast<unsigned char*>(buffer_);
memcpy(&bufp[remaining], data, add); std::memcpy(&bufp[remaining], data, add);
bufLen_ += add; bufLen_ += add;
if (bufLen_ > 64) if (bufLen_ > 64)
@ -106,7 +106,7 @@ void Foam::SHA1::processBytes(const void *data, size_t len)
bufLen_ &= 63; bufLen_ &= 63;
// The regions in the following copy operation do not // The regions in the following copy operation do not
// (cannot) overlap // (cannot) overlap
memcpy(buffer_, &bufp[(remaining + add) & ~63], bufLen_); std::memcpy(buffer_, &bufp[(remaining + add) & ~63], bufLen_);
} }
data = reinterpret_cast<const unsigned char*>(data) + add; data = reinterpret_cast<const unsigned char*>(data) + add;
@ -116,7 +116,7 @@ void Foam::SHA1::processBytes(const void *data, size_t len)
// Process available complete blocks // Process available complete blocks
while (len >= 64) while (len >= 64)
{ {
processBlock(memcpy(buffer_, data, 64), 64); processBlock(std::memcpy(buffer_, data, 64), 64);
data = reinterpret_cast<const unsigned char*>(data) + 64; data = reinterpret_cast<const unsigned char*>(data) + 64;
len -= 64; len -= 64;
} }
@ -127,13 +127,13 @@ void Foam::SHA1::processBytes(const void *data, size_t len)
unsigned char* bufp = reinterpret_cast<unsigned char*>(buffer_); unsigned char* bufp = reinterpret_cast<unsigned char*>(buffer_);
size_t remaining = bufLen_; size_t remaining = bufLen_;
memcpy(&bufp[remaining], data, len); std::memcpy(&bufp[remaining], data, len);
remaining += len; remaining += len;
if (remaining >= 64) if (remaining >= 64)
{ {
processBlock(buffer_, 64); processBlock(buffer_, 64);
remaining -= 64; remaining -= 64;
memcpy(buffer_, &buffer_[16], remaining); std::memcpy(buffer_, &buffer_[16], remaining);
} }
bufLen_ = remaining; bufLen_ = remaining;
} }
@ -356,7 +356,7 @@ bool Foam::SHA1::finalize()
unsigned char* bufp = reinterpret_cast<unsigned char *>(buffer_); unsigned char* bufp = reinterpret_cast<unsigned char *>(buffer_);
memcpy(&bufp[bytes], fillbuf, (size-2) * sizeof(uint32_t) - bytes); std::memcpy(&bufp[bytes], fillbuf, (size-2) * sizeof(uint32_t) - bytes);
// Process remaining bytes // Process remaining bytes
processBlock(buffer_, size * sizeof(uint32_t)); processBlock(buffer_, size * sizeof(uint32_t));

View File

@ -128,10 +128,19 @@ public:
static const quaternion I; static const quaternion I;
// Constructors // Generated Methods
//- Construct null //- Default construct
inline quaternion(); quaternion() = default;
//- Copy construct
quaternion(const quaternion&) = default;
//- Copy assignment
quaternion& operator=(const quaternion&) = default;
// Constructors
//- Construct zero initialized //- Construct zero initialized
inline quaternion(const Foam::zero); inline quaternion(const Foam::zero);
@ -223,7 +232,6 @@ public:
// Member Operators // Member Operators
inline void operator=(const quaternion& q);
inline void operator+=(const quaternion& q); inline void operator+=(const quaternion& q);
inline void operator-=(const quaternion& q); inline void operator-=(const quaternion& q);
inline void operator*=(const quaternion& q); inline void operator*=(const quaternion& q);

View File

@ -28,10 +28,6 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
inline Foam::quaternion::quaternion()
{}
inline Foam::quaternion::quaternion(const Foam::zero) inline Foam::quaternion::quaternion(const Foam::zero)
: :
w_(Zero), w_(Zero),
@ -585,12 +581,6 @@ inline Foam::vector Foam::quaternion::eulerAngles
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
inline void Foam::quaternion::operator=(const quaternion& q)
{
w_ = q.w_;
v_ = q.v_;
}
inline void Foam::quaternion::operator+=(const quaternion& q) inline void Foam::quaternion::operator+=(const quaternion& q)
{ {
w_ += q.w_; w_ += q.w_;

View File

@ -40,13 +40,9 @@ Foam::Random::Random(const label seedValue)
{} {}
Foam::Random::Random(const Random& r, const bool reset) Foam::Random::Random(const Random& rnd, const bool reset)
: :
seed_(r.seed_), Random(rnd)
generator_(r.generator_),
uniform01_(),
hasGaussSample_(r.hasGaussSample_),
gaussSample_(r.gaussSample_)
{ {
if (reset) if (reset)
{ {

View File

@ -90,12 +90,8 @@ public:
//- Construct with seed value //- Construct with seed value
Random(const label seedValue = 123456); Random(const label seedValue = 123456);
//- Copy construct with optional reset of seed //- Copy construct with possible reset of seed
Random(const Random& r, const bool reset = false); Random(const Random& rnd, const bool reset);
//- Destructor
~Random() = default;
// Member Functions // Member Functions

View File

@ -86,10 +86,22 @@ public:
static const septernion I; static const septernion I;
// Generated Methods
//- Default construct
septernion() = default;
//- Copy construct
septernion(const septernion&) = default;
//- Copy assignment
septernion& operator=(const septernion&) = default;
// Constructors // Constructors
//- Construct null //- Construct zero initialized
inline septernion(); inline septernion(const Foam::zero);
//- Construct given a translation vector and rotation quaternion //- Construct given a translation vector and rotation quaternion
inline septernion(const vector& t, const quaternion& r); inline septernion(const vector& t, const quaternion& r);
@ -130,9 +142,8 @@ public:
inline vector invTransformPoint(const vector& v) const; inline vector invTransformPoint(const vector& v) const;
// Member operators // Member Operators
inline void operator=(const septernion&);
inline void operator*=(const septernion&); inline void operator*=(const septernion&);
inline void operator=(const vector&); inline void operator=(const vector&);

View File

@ -27,7 +27,10 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
inline Foam::septernion::septernion() inline Foam::septernion::septernion(const Foam::zero)
:
t_(Zero),
r_(Zero)
{} {}
inline Foam::septernion::septernion(const vector& t, const quaternion& r) inline Foam::septernion::septernion(const vector& t, const quaternion& r)
@ -95,12 +98,6 @@ inline Foam::vector Foam::septernion::invTransformPoint(const vector& v) const
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
inline void Foam::septernion::operator=(const septernion& tr)
{
t_ = tr.t_;
r_ = tr.r_;
}
inline void Foam::septernion::operator*=(const septernion& tr) inline void Foam::septernion::operator*=(const septernion& tr)
{ {
t_ = tr.t() + tr.r().invTransform(t_); t_ = tr.t() + tr.r().invTransform(t_);

View File

@ -574,7 +574,7 @@ void Foam::UPstream::allToAll
<< " does not equal bytes to receive " << recvSizes[0] << " does not equal bytes to receive " << recvSizes[0]
<< Foam::abort(FatalError); << Foam::abort(FatalError);
} }
memmove(recvData, &sendData[sendOffsets[0]], recvSizes[0]); std::memmove(recvData, &sendData[sendOffsets[0]], recvSizes[0]);
} }
else else
{ {
@ -640,7 +640,7 @@ void Foam::UPstream::gather
if (!UPstream::parRun()) if (!UPstream::parRun())
{ {
memmove(recvData, sendData, sendSize); std::memmove(recvData, sendData, sendSize);
} }
else else
{ {
@ -703,7 +703,7 @@ void Foam::UPstream::scatter
if (!UPstream::parRun()) if (!UPstream::parRun())
{ {
memmove(recvData, sendData, recvSize); std::memmove(recvData, sendData, recvSize);
} }
else else
{ {

View File

@ -59,34 +59,14 @@ Foam::boundaryPatch::boundaryPatch
{} {}
Foam::boundaryPatch::boundaryPatch(const boundaryPatch& p)
:
patchIdentifier(p.name(), p.index(), p.physicalType()),
size_(p.size()),
start_(p.start())
{}
Foam::boundaryPatch::boundaryPatch(const boundaryPatch& p, const label index) Foam::boundaryPatch::boundaryPatch(const boundaryPatch& p, const label index)
: :
patchIdentifier(p.name(), index, p.physicalType()), boundaryPatch(p)
size_(p.size()),
start_(p.start())
{}
Foam::autoPtr<Foam::boundaryPatch> Foam::boundaryPatch::clone() const
{ {
return autoPtr<boundaryPatch>::New(*this); patchIdentifier::index() = index;
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::boundaryPatch::~boundaryPatch()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::boundaryPatch::write(Ostream& os) const void Foam::boundaryPatch::write(Ostream& os) const

View File

@ -88,18 +88,15 @@ public:
const label index const label index
); );
//- Construct as copy //- Copy construct, resetting the index
boundaryPatch(const boundaryPatch&); boundaryPatch(const boundaryPatch& p, const label index);
//- Construct as copy, resetting the index
boundaryPatch(const boundaryPatch&, const label index);
//- Clone //- Clone
autoPtr<boundaryPatch> clone() const; autoPtr<boundaryPatch> clone() const
{
return autoPtr<boundaryPatch>::New(*this);
//- Destructor }
~boundaryPatch();
// Member Functions // Member Functions

View File

@ -141,9 +141,6 @@ public:
const vector& n const vector& n
); );
//- Construct as copy
inline directionInfo(const directionInfo&);
// Member Functions // Member Functions

View File

@ -51,14 +51,6 @@ inline Foam::directionInfo::directionInfo
{} {}
// Construct as copy
inline Foam::directionInfo::directionInfo(const directionInfo& w2)
:
index_(w2.index()),
n_(w2.n())
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template<class TrackingData> template<class TrackingData>

View File

@ -89,8 +89,7 @@ public:
//- Construct from normal //- Construct from normal
inline wallNormalInfo(const vector& normal); inline wallNormalInfo(const vector& normal);
//- Construct as copy
inline wallNormalInfo(const wallNormalInfo&);
// Member Functions // Member Functions

View File

@ -74,13 +74,6 @@ inline Foam::wallNormalInfo::wallNormalInfo(const vector& normal)
{} {}
// Construct as copy
inline Foam::wallNormalInfo::wallNormalInfo(const wallNormalInfo& wpt)
:
normal_(wpt.normal())
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
inline const Foam::vector& Foam::wallNormalInfo::normal() const inline const Foam::vector& Foam::wallNormalInfo::normal() const

View File

@ -124,9 +124,6 @@ public:
//- Construct from origin, distance //- Construct from origin, distance
inline externalPointEdgePoint(const point&, const scalar); inline externalPointEdgePoint(const point&, const scalar);
//- Construct as copy
inline externalPointEdgePoint(const externalPointEdgePoint&);
// Member Functions // Member Functions

View File

@ -135,16 +135,6 @@ inline Foam::externalPointEdgePoint::externalPointEdgePoint
{} {}
inline Foam::externalPointEdgePoint::externalPointEdgePoint
(
const externalPointEdgePoint& wpt
)
:
origin_(wpt.origin()),
distSqr_(wpt.distSqr())
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
inline const Foam::point& Foam::externalPointEdgePoint::origin() const inline const Foam::point& Foam::externalPointEdgePoint::origin() const

View File

@ -112,6 +112,12 @@ public:
}; };
// Generated Methods
//- Copy construct
ignitionSite(const ignitionSite&) = default;
// Constructors // Constructors
//- Construct from Istream and database //- Construct from Istream and database

View File

@ -166,19 +166,15 @@ Foam::Ostream& Foam::ensightFile::write
Foam::Ostream& Foam::ensightFile::write(const char* value) Foam::Ostream& Foam::ensightFile::write(const char* value)
{ {
// Parentheses around strncpy to silence the GCC -Wstringop-truncation // Output 80 chars, but allocate for trailing nul character
// warning, which is spurious here. // to avoid -Wstringop-truncation warnings/errors.
// The max-size and buffer-size *are* identical, which means the buffer
// may not have a nul terminator. However, this is properly handled in
// the subsequent binary write and the ASCII write explicitly adds
// a nul terminator.
char buf[80]; char buf[80+1];
(strncpy(buf, value, 80)); // max 80 chars or padded with nul if smaller strncpy(buf, value, 80); // max 80 chars or padded with nul if smaller
if (format() == IOstream::BINARY) if (format() == IOstream::BINARY)
{ {
write(buf, sizeof(buf)); write(buf, 80);
} }
else else
{ {

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2019 OpenCFD Ltd. Copyright (C) 2019-2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -96,11 +96,11 @@ Foam::turbulentDigitalFilterInletFvPatchVectorField::patchIndexPairs()
const vector nf(computePatchNormal()); const vector nf(computePatchNormal());
// Find the second local coordinate direction // Find the second local coordinate direction
direction minCmpt = -1; direction minCmpt = 0;
scalar minMag = VGREAT; scalar minMag = mag(nf[minCmpt]);
for (direction cmpt = 0; cmpt < pTraits<vector>::nComponents; ++cmpt) for (direction cmpt = 1; cmpt < pTraits<vector>::nComponents; ++cmpt)
{ {
scalar s = mag(nf[cmpt]); const scalar s = mag(nf[cmpt]);
if (s < minMag) if (s < minMag)
{ {
minMag = s; minMag = s;
@ -110,7 +110,7 @@ Foam::turbulentDigitalFilterInletFvPatchVectorField::patchIndexPairs()
// Create the second local coordinate direction // Create the second local coordinate direction
vector e2(Zero); vector e2(Zero);
e2[minCmpt] = 1.0; e2[minCmpt] = 1;
// Remove normal component // Remove normal component
e2 -= (nf&e2)*nf; e2 -= (nf&e2)*nf;
@ -147,17 +147,14 @@ Foam::turbulentDigitalFilterInletFvPatchVectorField::patchIndexPairs()
// Compute virtual-actual patch index pairs // Compute virtual-actual patch index pairs
List<Pair<label>> indexPairs(this->size(), Pair<label>(Zero, Zero)); List<Pair<label>> indexPairs(this->size(), Pair<label>(Zero, Zero));
// Virtual turbulence plane indices
label j = 0;
label k = 0;
forAll(*this, facei) forAll(*this, facei)
{ {
const scalar& centre0 = localPos[facei][0]; const scalar& centre0 = localPos[facei][0];
const scalar& centre1 = localPos[facei][1]; const scalar& centre1 = localPos[facei][1];
j = label((centre0 - localMinPt[0])*invDelta_[0]); // Virtual turbulence plane indices
k = label((centre1 - localMinPt[1])*invDelta_[1]); const label j = label((centre0 - localMinPt[0])*invDelta_[0]);
const label k = label((centre1 - localMinPt[1])*invDelta_[1]);
indexPairs[facei] = Pair<label>(facei, k*n[0] + j); indexPairs[facei] = Pair<label>(facei, k*n[0] + j);
} }

View File

@ -83,6 +83,15 @@ private:
public: public:
// Generated Methods
//- Copy construct
smoothData(const smoothData&) = default;
//- Copy assignment
smoothData& operator=(const smoothData&) = default;
// Constructors // Constructors
//- Construct null //- Construct null

View File

@ -68,6 +68,15 @@ class sweepData
public: public:
// Generated Methods
//- Copy construct
sweepData(const sweepData&) = default;
//- Copy assignment
sweepData& operator=(const sweepData&) = default;
// Constructors // Constructors
//- Construct null //- Construct null

View File

@ -29,9 +29,9 @@ inline Foam::HashSet<Foam::wordRe>
Foam::functionObjects::fieldSelection::filters() const Foam::functionObjects::fieldSelection::filters() const
{ {
HashSet<wordRe> f; HashSet<wordRe> f;
for (const auto fieldInfo : *this) for (const fieldInfo& fi : *this)
{ {
f.insert(fieldInfo.name()); f.insert(fi.name());
} }
return f; return f;

View File

@ -29,14 +29,6 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::referredWallFace::referredWallFace()
:
face(),
pts_(),
patchi_()
{}
Foam::referredWallFace::referredWallFace Foam::referredWallFace::referredWallFace
( (
const face& f, const face& f,
@ -57,27 +49,6 @@ Foam::referredWallFace::referredWallFace
} }
Foam::referredWallFace::referredWallFace(const referredWallFace& rWF)
:
face(rWF),
pts_(rWF.pts_),
patchi_(rWF.patchi_)
{
if (this->size() != pts_.size())
{
FatalErrorInFunction
<< "Face and pointField are not the same size. " << nl << (*this)
<< abort(FatalError);
}
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::referredWallFace::~referredWallFace()
{}
// * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * * //
bool Foam::referredWallFace::operator==(const referredWallFace& rhs) const bool Foam::referredWallFace::operator==(const referredWallFace& rhs) const

View File

@ -76,10 +76,13 @@ class referredWallFace
public: public:
// Constructors // Generated Methods
//- Construct null //- Default construct
referredWallFace(); referredWallFace() = default;
// Constructors
//- Construct from components //- Construct from components
referredWallFace referredWallFace
@ -89,13 +92,6 @@ public:
label patchi label patchi
); );
//- Construct as copy
referredWallFace(const referredWallFace&);
//- Destructor
~referredWallFace();
// Member Functions // Member Functions

View File

@ -76,7 +76,7 @@ bool Foam::ensightOutput::writeCloudField
IPstream fromSlave(comm, slave); IPstream fromSlave(comm, slave);
Field<Type> recv(fromSlave); Field<Type> recv(fromSlave);
for (Type val : field) // <-- working on a copy for (Type val : recv) // <-- working on a copy
{ {
if (mag(val) < 1e-90) // approximately root(ROOTVSMALL) if (mag(val) < 1e-90) // approximately root(ROOTVSMALL)
{ {

View File

@ -30,14 +30,6 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class PairType, class WallType>
Foam::CollisionRecordList<PairType, WallType>::CollisionRecordList()
:
pairRecords_(),
wallRecords_()
{}
template<class PairType, class WallType> template<class PairType, class WallType>
Foam::CollisionRecordList<PairType, WallType>::CollisionRecordList(Istream& is) Foam::CollisionRecordList<PairType, WallType>::CollisionRecordList(Istream& is)
: :
@ -122,13 +114,6 @@ Foam::CollisionRecordList<PairType, WallType>::CollisionRecordList
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * /
template<class PairType, class WallType>
Foam::CollisionRecordList<PairType, WallType>::~CollisionRecordList()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
template<class PairType, class WallType> template<class PairType, class WallType>
@ -385,27 +370,6 @@ void Foam::CollisionRecordList<PairType, WallType>::update()
} }
// * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * * //
template<class PairType, class WallType>
void Foam::CollisionRecordList<PairType, WallType>::operator=
(
const CollisionRecordList<PairType, WallType>& rhs
)
{
// Check for assignment to self
if (this == &rhs)
{
FatalErrorInFunction
<< "Attempted assignment to self"
<< abort(FatalError);
}
pairRecords_ = rhs.pairRecords_;
wallRecords_ = rhs.wallRecords_;
}
// * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * * //
template<class PairType, class WallType> template<class PairType, class WallType>

View File

@ -90,10 +90,13 @@ class CollisionRecordList
public: public:
// Constructors // Generated Methods
//- Construct null //- Default construct
CollisionRecordList(); CollisionRecordList() = default;
// Constructors
//- Construct from Istream //- Construct from Istream
CollisionRecordList(Istream&); CollisionRecordList(Istream&);
@ -110,9 +113,6 @@ public:
const Field<WallType>& wallData const Field<WallType>& wallData
); );
//- Destructor
~CollisionRecordList();
// Member Functions // Member Functions
@ -196,11 +196,6 @@ public:
void update(); void update();
// Member Operators
void operator=(const CollisionRecordList&);
// Friend Operators // Friend Operators
friend bool operator== <PairType, WallType> friend bool operator== <PairType, WallType>

View File

@ -188,16 +188,6 @@ Foam::phaseProperties::phaseProperties()
{} {}
Foam::phaseProperties::phaseProperties(const phaseProperties& pp)
:
phase_(pp.phase_),
stateLabel_(pp.stateLabel_),
names_(pp.names_),
Y_(pp.Y_),
carrierIds_(pp.carrierIds_)
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::phaseProperties::reorder void Foam::phaseProperties::reorder

View File

@ -124,13 +124,6 @@ public:
//- Construct from Istream //- Construct from Istream
phaseProperties(Istream& is); phaseProperties(Istream& is);
//- Construct as copy
phaseProperties(const phaseProperties& pp);
//- Destructor
~phaseProperties() = default;
// Public Member Functions // Public Member Functions

View File

@ -32,11 +32,7 @@ License
Foam::phaseProperties::phaseProperties(Istream& is) Foam::phaseProperties::phaseProperties(Istream& is)
: :
phase_(UNKNOWN), phaseProperties()
stateLabel_("(unknown)"),
names_(),
Y_(),
carrierIds_()
{ {
is >> *this; is >> *this;
} }

View File

@ -65,13 +65,12 @@ class forceSuSp
: :
public Tuple2<vector, scalar> public Tuple2<vector, scalar>
{ {
public: public:
// Constructors // Constructors
//- Construct null //- Default construct
inline forceSuSp(); forceSuSp() = default;
//- Construct zero-initialized content //- Construct zero-initialized content
inline forceSuSp(const zero); inline forceSuSp(const zero);
@ -108,9 +107,6 @@ public:
// Operators // Operators
//- Assignment
inline void operator=(const forceSuSp& susp);
//- Addition //- Addition
inline void operator+=(const forceSuSp& susp); inline void operator+=(const forceSuSp& susp);

View File

@ -27,10 +27,6 @@ License
// * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * * * //
inline Foam::forceSuSp::forceSuSp()
{}
inline Foam::forceSuSp::forceSuSp(const zero) inline Foam::forceSuSp::forceSuSp(const zero)
: :
Tuple2<vector, scalar>(vector::zero, 0.0) Tuple2<vector, scalar>(vector::zero, 0.0)
@ -87,13 +83,6 @@ inline Foam::scalar& Foam::forceSuSp::Sp()
// * * * * * * * * * * * * * * * Operators * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Operators * * * * * * * * * * * * * * * * * //
inline void Foam::forceSuSp::operator=(const forceSuSp& susp)
{
first() = susp.first();
second() = susp.second();
}
inline void Foam::forceSuSp::operator+=(const forceSuSp& susp) inline void Foam::forceSuSp::operator+=(const forceSuSp& susp)
{ {
first() += susp.first(); first() += susp.first();

View File

@ -71,29 +71,6 @@ SingleKineticRateDevolatilisation
} }
template<class CloudType>
Foam::SingleKineticRateDevolatilisation<CloudType>::
SingleKineticRateDevolatilisation
(
const SingleKineticRateDevolatilisation<CloudType>& dm
)
:
DevolatilisationModel<CloudType>(dm),
volatileData_(dm.volatileData_),
YVolatile0_(dm.YVolatile0_),
volatileToGasMap_(dm.volatileToGasMap_),
residualCoeff_(dm.residualCoeff_)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
template<class CloudType>
Foam::SingleKineticRateDevolatilisation<CloudType>::
~SingleKineticRateDevolatilisation()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template<class CloudType> template<class CloudType>

View File

@ -111,18 +111,6 @@ class SingleKineticRateDevolatilisation
E_(readScalar(is)) E_(readScalar(is))
{} {}
//- Construct as copy
volatileData(const volatileData& vd)
:
name_(vd.name_),
A1_(vd.A1_),
E_(vd.E_)
{}
//- Destructor
~volatileData()
{}
// Public Member Functions // Public Member Functions
@ -208,12 +196,6 @@ public:
CloudType& owner CloudType& owner
); );
//- Construct copy
SingleKineticRateDevolatilisation
(
const SingleKineticRateDevolatilisation<CloudType>& dm
);
//- Construct and return a clone //- Construct and return a clone
virtual autoPtr<DevolatilisationModel<CloudType>> clone() const virtual autoPtr<DevolatilisationModel<CloudType>> clone() const
{ {
@ -225,7 +207,7 @@ public:
//- Destructor //- Destructor
virtual ~SingleKineticRateDevolatilisation(); virtual ~SingleKineticRateDevolatilisation() = default;
// Member Functions // Member Functions

View File

@ -126,12 +126,17 @@ class blockDescriptor
void findCurvedFaces(); void findCurvedFaces();
public:
// Generated Methods
//- Copy construct
blockDescriptor(const blockDescriptor&) = default;
//- No copy assignment //- No copy assignment
void operator=(const blockDescriptor&) = delete; void operator=(const blockDescriptor&) = delete;
public:
// Constructors // Constructors
//- Construct from components. Optional cellSet/zone name. //- Construct from components. Optional cellSet/zone name.

View File

@ -113,9 +113,6 @@ public:
//- Construct from origin, distance //- Construct from origin, distance
inline patchEdgeFaceInfo(const point&, const scalar); inline patchEdgeFaceInfo(const point&, const scalar);
//- Construct as copy
inline patchEdgeFaceInfo(const patchEdgeFaceInfo&);
// Member Functions // Member Functions

View File

@ -139,14 +139,6 @@ inline Foam::patchEdgeFaceInfo::patchEdgeFaceInfo
{} {}
// Construct as copy
inline Foam::patchEdgeFaceInfo::patchEdgeFaceInfo(const patchEdgeFaceInfo& wpt)
:
origin_(wpt.origin()),
distSqr_(wpt.distSqr())
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
inline const Foam::point& Foam::patchEdgeFaceInfo::origin() const inline const Foam::point& Foam::patchEdgeFaceInfo::origin() const

View File

@ -90,9 +90,6 @@ public:
const DataType& data const DataType& data
); );
//- Construct as copy
inline PointData(const PointData&);
// Member Functions // Member Functions

View File

@ -51,14 +51,6 @@ inline Foam::PointData<DataType>::PointData
{} {}
template<class DataType>
inline Foam::PointData<DataType>::PointData(const PointData<DataType>& wpt)
:
pointEdgePoint(wpt),
data_(wpt.data())
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template<class DataType> template<class DataType>

View File

@ -114,9 +114,6 @@ public:
//- Construct from origin, distance //- Construct from origin, distance
inline pointEdgePoint(const point&, const scalar); inline pointEdgePoint(const point&, const scalar);
//- Construct as copy
inline pointEdgePoint(const pointEdgePoint&);
// Member Functions // Member Functions

View File

@ -139,14 +139,6 @@ inline Foam::pointEdgePoint::pointEdgePoint
{} {}
// Construct as copy
inline Foam::pointEdgePoint::pointEdgePoint(const pointEdgePoint& wpt)
:
origin_(wpt.origin()),
distSqr_(wpt.distSqr())
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
inline const Foam::point& Foam::pointEdgePoint::origin() const inline const Foam::point& Foam::pointEdgePoint::origin() const

View File

@ -92,11 +92,8 @@ public:
//- Construct null //- Construct null
inline cellInfo(); inline cellInfo();
//- Construct from cType //- Construct from cellClassification type
inline cellInfo(const label); inline explicit cellInfo(const label ctype);
//- Construct as copy
inline cellInfo(const cellInfo&);
// Member Functions // Member Functions

Some files were not shown because too many files have changed in this diff Show More