Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Ben Boeckel
Xdmf
Commits
701d36d4
Commit
701d36d4
authored
Jun 21, 2017
by
David E. DeMarle
Browse files
Merge branch 'revert-noboost' into 'master'
Revert the removal of boost changes See merge request !37
parents
5d1e9713
8e39bc04
Changes
94
Expand all
Hide whitespace changes
Inline
Side-by-side
CMake/TestingSuite/TestingSetup.cmake
View file @
701d36d4
...
...
@@ -79,17 +79,13 @@ ENDMACRO()
# Output:
# is_core = variable is set to 'Core' is core was found in dir
MACRO
(
SET_CORE dir
)
IF
(
NOT
"
${
XDMF_SUBSECTION
}
"
STREQUAL
""
)
set
(
is_core
${
XDMF_SUBSECTION
}
)
ELSE
()
STRING
(
REGEX MATCH
"core"
is_core
"
${
dir
}
"
)
STRING
(
REGEX MATCH
"core"
is_core
"
${
dir
}
"
)
IF
(
EXISTS
${
is_core
}
)
SET
(
is_core
"Core"
)
ELSE
(
EXISTS
${
is_core
}
)
STRING
(
REGEX MATCH
"utils"
is_core
"
${
dir
}
"
)
IF
(
EXISTS
${
is_core
}
)
SET
(
is_core
"Core"
)
ELSE
(
EXISTS
${
is_core
}
)
STRING
(
REGEX MATCH
"utils"
is_core
"
${
dir
}
"
)
IF
(
EXISTS
${
is_core
}
)
SET
(
is_core
"Util"
)
ENDIF
(
EXISTS
${
is_core
}
)
SET
(
is_core
"Util"
)
ENDIF
(
EXISTS
${
is_core
}
)
ENDIF
(
NOT
"
${
XDMF_SUBSECTION
}
"
STREQUAL
""
)
ENDIF
(
EXISTS
${
is_core
}
)
ENDMACRO
(
SET_CORE dir
)
CMakeLists.txt
View file @
701d36d4
...
...
@@ -12,8 +12,6 @@ if(MSVC10)
SET
(
CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE
${
CMAKE_BINARY_DIR
}
)
endif
()
include
(
CheckCXXSourceCompiles
)
set
(
XDMF_LIBNAME
"Xdmf"
CACHE STRING
"Name for this xdmf library to avoid collision"
)
set
(
XDMF_MAJOR_VERSION 3
)
...
...
@@ -50,7 +48,6 @@ if (XDMF_STATIC_AND_SHARED)
endif
()
include_directories
(
${
CMAKE_CURRENT_SOURCE_DIR
}
)
include_directories
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/CMake/VersionSuite
)
include_directories
(
${
CMAKE_CURRENT_BINARY_DIR
}
)
set
(
CMAKE_LIBRARY_OUTPUT_DIRECTORY
${
CMAKE_CURRENT_BINARY_DIR
}
)
list
(
APPEND CMAKE_MODULE_PATH
...
...
@@ -103,33 +100,6 @@ endif (TIFF_FOUND)
# Test for DSM
option
(
XDMF_BUILD_DSM OFF
)
mark_as_advanced
(
XDMF_BUILD_DSM
)
option
(
XDMF_TRY_NOBOOST ON
)
mark_as_advanced
(
XDMF_TRY_NOBOOST
)
if
(
XDMF_TRY_NOBOOST
)
# Test for Cxx11
unset
(
HAVE_CXX11_SHARED_PTR CACHE
)
check_cxx_source_compiles
(
"
#include <memory>
using namespace std;
struct Base { virtual ~Base(){} };
int main(int ac, char * av[])
{
shared_ptr<Base> ptr(new Base());
}
"
HAVE_CXX11_SHARED_PTR
)
endif
()
# Cxx11 does not work with swig due to an issue with swig
if
(
HAVE_CXX11_SHARED_PTR AND NOT XDMF_WRAP_PYTHON
)
add_definitions
(
-DHAVE_CXX11_SHARED_PTR
)
endif
()
if
(
XDMF_BUILD_DSM
)
find_package
(
MPI REQUIRED
)
if
(
MPI_FOUND
)
...
...
@@ -403,15 +373,7 @@ if(NOT XDMF_BUILD_CORE_ONLY)
)
endif
(
BUILD_SHARED_LIBS
)
else
()
if
(
WIN32
)
if
(
XDMF_BUILD_DSM
)
add_library
(
${
XDMF_LIBNAME
}
${
LIBTYPE
}
${
XdmfSources
}
${
XdmfCoreSources
}
${
XdmfDSMSources
}
)
else
()
add_library
(
${
XDMF_LIBNAME
}
${
LIBTYPE
}
${
XdmfSources
}
${
XdmfCoreSources
}
)
endif
()
else
()
add_library
(
${
XDMF_LIBNAME
}
${
LIBTYPE
}
${
XdmfSources
}
)
endif
()
add_library
(
${
XDMF_LIBNAME
}
${
LIBTYPE
}
${
XdmfSources
}
)
endif
()
SET_TARGET_PROPERTIES
(
${
XDMF_LIBNAME
}
PROPERTIES
...
...
Xdmf.hpp
View file @
701d36d4
...
...
@@ -142,28 +142,22 @@
# define XDMF_TEMPLATE
#else
/* Used to export/import from the dlls */
# undef XDMFCORE_EXPORT
# define XDMFCORE_EXPORT __declspec(dllimport)
# undef XDMFCORE_TEMPLATE
# define XDMFCORE_TEMPLATE extern
# undef XDMFDSM_EXPORT
# define XDMFDSM_EXPORT __declspec(dllimport)
# undef XDMFDSM_TEMPLATE
# define XDMFDSM_TEMPLATE extern
# ifdef XDMF_EXPORTS
# define XDMF_EXPORT __declspec(dllexport)
# define XDMF_TEMPLATE
# undef XDMFCORE_EXPORT
# define XDMFCORE_EXPORT __declspec(dllexport)
# undef XDMFCORE_TEMPLATE
# define XDMFCORE_TEMPLATE
# undef XDMFDSM_EXPORT
# define XDMFDSM_EXPORT __declspec(dllexport)
# undef XDMFDSM_TEMPLATE
# define XDMFDSM_TEMPLATE
# define XDMF_EXPORT __declspec(dllexport)
# define XDMF_TEMPLATE
# else
/* XDMF_EXPORTS */
# define XDMF_EXPORT __declspec(dllimport)
# define XDMF_TEMPLATE extern
# undef XDMFCORE_EXPORT
# define XDMFCORE_EXPORT __declspec(dllimport)
# undef XDMFCORE_TEMPLATE
# define XDMFCORE_TEMPLATE extern
# undef XDMFDSM_EXPORT
# define XDMFDSM_EXPORT __declspec(dllimport)
# undef XDMFDSM_TEMPLATE
# define XDMFDSM_TEMPLATE extern
# define XDMF_EXPORT __declspec(dllimport)
# define XDMF_TEMPLATE extern
# endif
/* XDMF_EXPORTS */
#endif
...
...
XdmfAggregate.cpp
View file @
701d36d4
...
...
@@ -23,6 +23,7 @@
#include <numeric>
#include <functional>
#include <boost/tokenizer.hpp>
#include "XdmfArray.hpp"
#include "XdmfError.hpp"
#include "XdmfAggregate.hpp"
...
...
XdmfAttribute.cpp
View file @
701d36d4
...
...
@@ -114,7 +114,11 @@ XdmfAttribute::populateItem(const std::map<std::string, std::string> & itemPrope
iter
!=
childItems
.
end
();
++
iter
)
{
if
(
shared_ptr
<
XdmfArray
>
array
=
shared_dynamic_cast
<
XdmfArray
>
(
*
iter
))
{
this
->
populateArray
(
array
);
this
->
swap
(
array
);
if
(
array
->
getReference
())
{
this
->
setReference
(
array
->
getReference
());
this
->
setReadMode
(
XdmfArray
::
Reference
);
}
break
;
}
}
...
...
XdmfCurvilinearGrid.cpp
View file @
701d36d4
...
...
@@ -276,7 +276,7 @@ XdmfCurvilinearGrid::copyGrid(shared_ptr<XdmfGrid> sourceGrid)
shared_ptr
<
XdmfArray
>
XdmfCurvilinearGrid
::
getDimensions
()
{
return
const_pointer_cast
<
XdmfArray
>
return
boost
::
const_pointer_cast
<
XdmfArray
>
(
static_cast
<
const
XdmfCurvilinearGrid
&>
(
*
this
).
getDimensions
());
}
...
...
@@ -289,7 +289,7 @@ XdmfCurvilinearGrid::getDimensions() const
shared_ptr
<
XdmfGeometry
>
XdmfCurvilinearGrid
::
getGeometry
()
{
return
const_pointer_cast
<
XdmfGeometry
>
return
boost
::
const_pointer_cast
<
XdmfGeometry
>
(
static_cast
<
const
XdmfGrid
&>
(
*
this
).
getGeometry
());
}
...
...
XdmfGeometry.cpp
View file @
701d36d4
...
...
@@ -25,7 +25,7 @@
#include "XdmfGeometryType.hpp"
#include "XdmfError.hpp"
#include "XdmfFunction.hpp"
#include <
cstring
>
#include <
boost/tokenizer.hpp
>
shared_ptr
<
XdmfGeometry
>
XdmfGeometry
::
New
()
{
...
...
@@ -176,7 +176,11 @@ XdmfGeometry::populateItem(const std::map<std::string, std::string> & itemProper
iter
!=
childItems
.
end
();
++
iter
)
{
if
(
shared_ptr
<
XdmfArray
>
array
=
shared_dynamic_cast
<
XdmfArray
>
(
*
iter
))
{
this
->
populateArray
(
array
);
this
->
swap
(
array
);
if
(
array
->
getReference
())
{
this
->
setReference
(
array
->
getReference
());
this
->
setReadMode
(
XdmfArray
::
Reference
);
}
break
;
}
}
...
...
@@ -191,25 +195,12 @@ XdmfGeometry::populateItem(const std::map<std::string, std::string> & itemProper
std
::
map
<
std
::
string
,
std
::
string
>::
const_iterator
origin
=
itemProperties
.
find
(
"Origin"
);
if
(
origin
!=
itemProperties
.
end
())
{
#ifdef HAVE_CXX11_SHARED_PTR
char
*
originString
=
strdup
(
origin
->
second
.
c_str
());
char
*
token
=
std
::
strtok
(
originString
,
" "
);
while
(
token
!=
NULL
)
{
mOrigin
.
push_back
(
atof
(
token
));
token
=
std
::
strtok
(
NULL
,
" "
);
}
free
(
originString
);
originString
=
NULL
;
#else
boost
::
tokenizer
<>
tokens
(
origin
->
second
);
for
(
boost
::
tokenizer
<>::
const_iterator
iter
=
tokens
.
begin
();
iter
!=
tokens
.
end
();
++
iter
)
{
mOrigin
.
push_back
(
atof
((
*
iter
).
c_str
()));
}
#endif
}
}
...
...
XdmfGraph.cpp
View file @
701d36d4
...
...
@@ -62,7 +62,7 @@ XdmfGraph::getItemTag() const
shared_ptr
<
XdmfTime
>
XdmfGraph
::
getTime
()
{
return
const_pointer_cast
<
XdmfTime
>
return
boost
::
const_pointer_cast
<
XdmfTime
>
(
static_cast
<
const
XdmfGraph
&>
(
*
this
).
getTime
());
}
...
...
XdmfGrid.cpp
View file @
701d36d4
...
...
@@ -141,7 +141,7 @@ XdmfGrid::getName() const
shared_ptr
<
XdmfTime
>
XdmfGrid
::
getTime
()
{
return
const_pointer_cast
<
XdmfTime
>
return
boost
::
const_pointer_cast
<
XdmfTime
>
(
static_cast
<
const
XdmfGrid
&>
(
*
this
).
getTime
());
}
...
...
XdmfGridTemplate.cpp
View file @
701d36d4
...
...
@@ -42,6 +42,8 @@
#include "XdmfSystemUtils.hpp"
#include <boost/tokenizer.hpp>
#include <stdio.h>
shared_ptr
<
XdmfGridTemplate
>
...
...
XdmfItemFactory.cpp
View file @
701d36d4
...
...
@@ -21,9 +21,8 @@
/* */
/*****************************************************************************/
#include <algorithm>
#include <cctype>
#include <
cstring
>
#include <
boost/tokenizer.hpp
>
#include "XdmfAttribute.hpp"
#include "XdmfCurvilinearGrid.hpp"
#include "XdmfDomain.hpp"
...
...
@@ -278,25 +277,12 @@ XdmfItemFactory::createItem(const std::string & itemTag,
if
(
dimensions
!=
itemProperties
.
end
())
{
dimensionsString
=
dimensions
->
second
;
}
#ifdef HAVE_CXX11_SHARED_PTR
char
*
dimString
=
strdup
(
dimensionsString
.
c_str
());
char
*
token
=
std
::
strtok
(
dimString
,
" "
);
while
(
token
!=
NULL
)
{
dimensionsArray
->
pushBack
(
atoi
(
token
));
token
=
std
::
strtok
(
NULL
,
" "
);
}
free
(
dimString
);
dimString
=
NULL
;
#else
boost
::
tokenizer
<>
tokens
(
dimensionsString
);
for
(
boost
::
tokenizer
<>::
const_iterator
iter
=
tokens
.
begin
();
iter
!=
tokens
.
end
();
++
iter
)
{
dimensionsArray
->
pushBack
<
unsigned
int
>
(
atoi
((
*
iter
).
c_str
()));
}
#endif
if
(
typeVal
.
compare
(
"2DCORECTMESH"
)
==
0
||
typeVal
.
compare
(
"3DCORECTMESH"
)
==
0
||
typeVal
.
compare
(
"CORECTMESH"
)
==
0
)
{
...
...
XdmfRectilinearGrid.cpp
View file @
701d36d4
...
...
@@ -333,7 +333,7 @@ XdmfRectilinearGrid::copyGrid(shared_ptr<XdmfGrid> sourceGrid)
shared_ptr
<
XdmfArray
>
XdmfRectilinearGrid
::
getCoordinates
(
const
unsigned
int
axisIndex
)
{
return
const_pointer_cast
<
XdmfArray
>
return
boost
::
const_pointer_cast
<
XdmfArray
>
(
static_cast
<
const
XdmfRectilinearGrid
&>
(
*
this
).
getCoordinates
(
axisIndex
));
}
...
...
@@ -362,7 +362,7 @@ XdmfRectilinearGrid::getCoordinates() const
shared_ptr
<
XdmfArray
>
XdmfRectilinearGrid
::
getDimensions
()
{
return
const_pointer_cast
<
XdmfArray
>
return
boost
::
const_pointer_cast
<
XdmfArray
>
(
static_cast
<
const
XdmfRectilinearGrid
&>
(
*
this
).
getDimensions
());
}
...
...
XdmfRegularGrid.cpp
View file @
701d36d4
...
...
@@ -373,7 +373,7 @@ XdmfRegularGrid::copyGrid(shared_ptr<XdmfGrid> sourceGrid)
shared_ptr
<
XdmfArray
>
XdmfRegularGrid
::
getBrickSize
()
{
return
const_pointer_cast
<
XdmfArray
>
return
boost
::
const_pointer_cast
<
XdmfArray
>
(
static_cast
<
const
XdmfRegularGrid
&>
(
*
this
).
getBrickSize
());
}
...
...
@@ -386,7 +386,7 @@ XdmfRegularGrid::getBrickSize() const
shared_ptr
<
XdmfArray
>
XdmfRegularGrid
::
getDimensions
()
{
return
const_pointer_cast
<
XdmfArray
>
return
boost
::
const_pointer_cast
<
XdmfArray
>
(
static_cast
<
const
XdmfRegularGrid
&>
(
*
this
).
getDimensions
());
}
...
...
@@ -399,7 +399,7 @@ XdmfRegularGrid::getDimensions() const
shared_ptr
<
XdmfArray
>
XdmfRegularGrid
::
getOrigin
()
{
return
const_pointer_cast
<
XdmfArray
>
return
boost
::
const_pointer_cast
<
XdmfArray
>
(
static_cast
<
const
XdmfRegularGrid
&>
(
*
this
).
getOrigin
());
}
...
...
XdmfSet.cpp
View file @
701d36d4
...
...
@@ -107,7 +107,7 @@ XdmfSet::populateItem(const std::map<std::string, std::string> & itemProperties,
else
if
(
shared_ptr
<
XdmfArray
>
array
=
shared_dynamic_cast
<
XdmfArray
>
(
*
iter
))
{
if
(
!
filled
)
{
this
->
populateArray
(
array
);
this
->
swap
(
array
);
filled
=
true
;
}
if
(
array
->
getReference
())
{
...
...
XdmfTemplate.cpp
View file @
701d36d4
...
...
@@ -24,7 +24,6 @@
#include <sstream>
#include <utility>
#include <climits>
#include <cstring>
#include <set>
#include "XdmfArray.hpp"
#include "XdmfHDF5Controller.hpp"
...
...
@@ -39,6 +38,8 @@
#include "XdmfSystemUtils.hpp"
#include <boost/tokenizer.hpp>
#include <stdio.h>
std
::
vector
<
shared_ptr
<
XdmfHeavyDataController
>
>
...
...
@@ -887,9 +888,7 @@ XdmfTemplate::preallocateSteps(unsigned int numSteps)
//printf("allocating subsection %u\n", allocateIteration);
//*/
//printf("initializing base array\n");
std
::
vector
<
unsigned
int
>
preallocatedSizeVector
;
preallocatedSizeVector
.
push_back
(
preallocatedSize
);
tempArray
->
initialize
(
mTrackedArrays
[
i
]
->
getArrayType
(),
preallocatedSizeVector
);
tempArray
->
initialize
(
mTrackedArrays
[
i
]
->
getArrayType
(),
preallocatedSize
);
//printf("writing subsection");
tempArray
->
accept
(
mHeavyWriter
);
//printf("subsection written\n");
...
...
@@ -1115,28 +1114,6 @@ XdmfTemplate::setStep(unsigned int stepId)
mTrackedArrays
[
i
]
->
initialize
(
mTrackedArrayTypes
[
i
],
mTrackedArrayDims
[
i
]);
unsigned
int
index
=
0
;
#ifdef HAVE_CXX11_SHARED_PTR
char
*
trackedString
=
strdup
(
content
.
c_str
());
char
*
token
=
std
::
strtok
(
trackedString
,
"
\t\n
"
);
if
(
mTrackedArrayTypes
[
i
]
==
XdmfArrayType
::
String
())
{
while
(
token
!=
NULL
)
{
mTrackedArrays
[
i
]
->
insert
(
index
,
std
::
string
(
token
));
token
=
std
::
strtok
(
NULL
,
"
\t\n
"
);
++
index
;
}
}
else
{
while
(
token
!=
NULL
)
{
mTrackedArrays
[
i
]
->
insert
(
index
,
atof
(
token
));
token
=
std
::
strtok
(
NULL
,
"
\t\n
"
);
++
index
;
}
}
free
(
trackedString
);
trackedString
=
NULL
;
#else
boost
::
char_separator
<
char
>
sep
(
"
\t\n
"
);
boost
::
tokenizer
<
boost
::
char_separator
<
char
>
>
valtokens
(
content
,
sep
);
if
(
mTrackedArrayTypes
[
i
]
==
XdmfArrayType
::
String
())
{
...
...
@@ -1155,7 +1132,6 @@ XdmfTemplate::setStep(unsigned int stepId)
mTrackedArrays
[
i
]
->
insert
(
index
,
atof
((
*
iter
).
c_str
()));
}
}
#endif
}
}
}
...
...
XdmfTopology.cpp
View file @
701d36d4
...
...
@@ -158,7 +158,11 @@ XdmfTopology::populateItem(const std::map<std::string, std::string> & itemProper
iter
!=
childItems
.
end
();
++
iter
)
{
if
(
shared_ptr
<
XdmfArray
>
array
=
shared_dynamic_cast
<
XdmfArray
>
(
*
iter
))
{
this
->
populateArray
(
array
);
this
->
swap
(
array
);
if
(
array
->
getReference
())
{
this
->
setReference
(
array
->
getReference
());
this
->
setReadMode
(
XdmfArray
::
Reference
);
}
break
;
}
}
...
...
XdmfUnstructuredGrid.cpp
View file @
701d36d4
...
...
@@ -259,7 +259,7 @@ XdmfUnstructuredGrid::copyGrid(shared_ptr<XdmfGrid> sourceGrid)
shared_ptr
<
XdmfGeometry
>
XdmfUnstructuredGrid
::
getGeometry
()
{
return
const_pointer_cast
<
XdmfGeometry
>
return
boost
::
const_pointer_cast
<
XdmfGeometry
>
(
static_cast
<
const
XdmfGrid
&>
(
*
this
).
getGeometry
());
}
...
...
@@ -272,7 +272,7 @@ XdmfUnstructuredGrid::getItemTag() const
shared_ptr
<
XdmfTopology
>
XdmfUnstructuredGrid
::
getTopology
()
{
return
const_pointer_cast
<
XdmfTopology
>
return
boost
::
const_pointer_cast
<
XdmfTopology
>
(
static_cast
<
const
XdmfGrid
&>
(
*
this
).
getTopology
());
}
...
...
core/CMakeLists.txt
View file @
701d36d4
...
...
@@ -39,7 +39,7 @@ if(XDMF_BUILD_DSM)
endif
()
mark_as_advanced
(
CLEAR Boost_INCLUDE_DIR
)
find_package
(
Boost
)
find_package
(
Boost
REQUIRED
)
if
(
Boost_FOUND
)
include_directories
(
${
Boost_INCLUDE_DIRS
}
)
mark_as_advanced
(
FORCE Boost_INCLUDE_DIR
)
...
...
@@ -117,8 +117,7 @@ endif()
TEST_BIG_ENDIAN
(
XDMF_BIG_ENDIAN
)
unset
(
HAVE_BOOST_SHARED_DYNAMIC_CAST CACHE
)
unset
(
HAVE_CXX11_SHARED_PTR CACHE
)
set
(
CMAKE_REQUIRED_INCLUDES
${
CMAKE_REQUIRED_INCLUDES
}
${
Boost_INCLUDE_DIRS
}
)
check_cxx_source_compiles
(
"
#include <boost/shared_ptr.hpp>
...
...
@@ -133,26 +132,6 @@ int main(int ac, char * av[])
"
HAVE_BOOST_SHARED_DYNAMIC_CAST
)
if
(
XDMF_TRY_NOBOOST
)
check_cxx_source_compiles
(
"
#include <memory>
using namespace std;
struct Base { virtual ~Base(){} };
int main(int ac, char * av[])
{
shared_ptr<Base> ptr(new Base());
}
"
HAVE_CXX11_SHARED_PTR
)
endif
()
if
(
HAVE_CXX11_SHARED_PTR AND NOT XDMF_WRAP_PYTHON
)
add_definitions
(
-DHAVE_CXX11_SHARED_PTR
)
endif
()
configure_file
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/XdmfCoreConfig.hpp.in
${
CMAKE_CURRENT_BINARY_DIR
}
/XdmfCoreConfig.hpp
)
...
...
@@ -245,9 +224,6 @@ SET_TARGET_PROPERTIES(
SOVERSION
${
XDMF_MAJOR_VERSION
}
)
set
(
XDMF_LIBRARY_DIRS
${
XDMF_LIBRARY_DIRS
}
PARENT_SCOPE
)
set
(
XDMF_LIBRARIES
${
XDMF_LIBRARIES
}
PARENT_SCOPE
)
link_directories
(
${
XDMF_LIBRARY_DIRS
}
)
target_link_libraries
(
XdmfCore
${
XDMF_LIBRARIES
}
)
...
...
@@ -350,6 +326,7 @@ set(XdmfCore_INCLUDE_DIRS
CACHE INTERNAL
""
)
set
(
XDMF_INCLUDE_DIRS
${
CMAKE_INSTALL_PREFIX
}
/include PARENT_SCOPE
)
set
(
XDMF_LIBRARIES
${
XDMF_LIBRARIES
}
${
CMAKE_INSTALL_PREFIX
}
/lib
)
set
(
XDMF_DIR
${
CMAKE_INSTALL_PREFIX
}
PARENT_SCOPE
)
set
(
XDMF_BINARIES
${
XDMF_BINARIES
}
${
CMAKE_INSTALL_PREFIX
}
/bin
)
...
...
core/XdmfArray.cpp
View file @
701d36d4
This diff is collapsed.
Click to expand it.
core/XdmfArray.hpp
View file @
701d36d4
...
...
@@ -37,6 +37,8 @@ class XdmfArrayType;
class
XdmfHeavyDataController
;
// Includes
#include <boost/shared_array.hpp>
#include <boost/variant.hpp>
/**
* @brief Provides storage for data values that are read in or will be
...
...
@@ -108,11 +110,6 @@ public:
Reference
};
friend
class
XdmfHeavyDataWriter
;
friend
class
XdmfHDF5Writer
;
friend
class
XdmfHeavyDataController
;
friend
class
XdmfHDF5Controller
;
/**
* Create a new XdmfArray.
*
...
...
@@ -603,7 +600,7 @@ public:
* initialized in this array.
*/
template
<
typename
T
>
T
*
initialize
(
const
unsigned
int
size
=
0
);
shared_ptr
<
std
::
vector
<
T
>
>
initialize
(
const
unsigned
int
size
=
0
);
/**
* Initialize the array to specific dimensions.
...
...
@@ -628,7 +625,8 @@ public:
* initialized in this array.
*/
template
<
typename
T
>
T
*
initialize
(
const
std
::
vector
<
unsigned
int
>
&
dimensions
);
shared_ptr
<
std
::
vector
<
T
>
>
initialize
(
const
std
::
vector
<
unsigned
int
>
&
dimensions
);
/**
* Initialize the array to contain a specified amount of a particular type.
...
...
@@ -1322,7 +1320,7 @@ public:
* deletion of the array to XdmfArray.
*/
template
<
typename
T
>
void
setValuesInternal
(
T
*
const
arrayPointer
,
void
setValuesInternal
(
const
T
*
const
arrayPointer
,
const
unsigned
int
numValues
,
const
bool
transferOwnership
=
0
);
...
...
@@ -1380,6 +1378,56 @@ public:
template
<
typename
T
>
void
setValuesInternal
(
const
shared_ptr
<
std
::
vector
<
T
>
>
array
);
/**
* Exchange the contents of the vector with the contents of this
* array. No copy is made. The internal arrays are swapped.
*
* Example of use
*
* C++
*
* @dontinclude ExampleXdmfArray.cpp
* @skipline //#initialization
* @until //#initialization
* @skipline //#initinternalvector
* @until //#initinternalvector
* @skipline //#swapvector
* @until //#swapvector
*
* Python: The Python version only supports swapping XdmfArrays
*
* @param array A vector to exchange values with.
* @return bool whether the swap was successful.
*/
template
<
typename
T
>
bool
swap
(
std
::
vector
<
T
>
&
array
);
/**
* Exchange the contents of the vector with the contents of this
* array. No copy is made. The internal arrays are swapped.
*
* Example of use
*
* C++
*
* @dontinclude ExampleXdmfArray.cpp
* @skipline //#initialization
* @until //#initialization
* @skipline //#initinternalvector
* @until //#initinternalvector
* @skipline //#initsharedvector
* @until //#initsharedvector
* @skipline //#swapsharedvector
* @until //#swapsharedvector
*
* Python: The Python version only supports swapping XdmfArrays
*
* @param array A smart pointer to a vector to exchange values with.
* @return bool whether the swap was successful.
*/
template
<
typename
T
>
bool
swap
(
const
shared_ptr
<
std
::
vector
<
T
>
>
array
);
/**
* Exchange the contents of an XdmfArray with the contents of this
* array. No copy is made. The internal arrays are swapped.
...
...
@@ -1416,52 +1464,26 @@ protected:
XdmfArray
();
template
<
typename
T
>
void
setArrayType
();
virtual
void
populateArray
(
const
shared_ptr
<
XdmfArray
>
array
);
virtual
void
populateItem
(
const
std
::
map
<
std
::
string
,
std
::
string
>
&
itemProperties
,
const
std
::
vector
<
shared_ptr
<
XdmfItem
>
>
&
childItems
,
const
XdmfCoreReader
*
const
reader
);
unsigned
int
mStringSize
;
private:
XdmfArray
(
const
XdmfArray
&
);
// Not implemented.