Loading...
Searching...
No Matches
Go to the documentation of this file.
19#ifndef LIBMESH_PARALLEL_ONLY_H
20#define LIBMESH_PARALLEL_ONLY_H
34#undef libmesh_parallel_only
35#undef libmesh_exceptionless_parallel_only
37#define libmesh_parallel_only(comm_obj) do { \
38 libmesh_assert_msg((comm_obj).verify(std::string(__FILE__).length()), \
39 "Different ranks are at different libmesh_parallel_only points"); \
40 libmesh_assert_msg((comm_obj).verify(std::string(__FILE__)), \
41 "Different ranks are at different libmesh_parallel_only points"); \
42 libmesh_assert_msg((comm_obj).verify(std::to_string(__LINE__)), \
43 "Different ranks are at different libmesh_parallel_only points"); \
45#define libmesh_exceptionless_parallel_only(comm_obj) do { \
46 libmesh_exceptionless_assert_msg((comm_obj).verify(std::string(__FILE__).length()), \
47 "Different ranks are at different libmesh_exceptionless_parallel_only points"); \
48 libmesh_exceptionless_assert_msg((comm_obj).verify(std::string(__FILE__)), \
49 "Different ranks are at different libmesh_exceptionless_parallel_only points"); \
50 libmesh_exceptionless_assert_msg((comm_obj).verify(std::to_string(__LINE__)), \
51 "Different ranks are at different libmesh_exceptionless_parallel_only points"); \
54#define libmesh_parallel_only(comm_obj) ((void) 0)
55#define libmesh_exceptionless_parallel_only(comm_obj) ((void) 0)
61#undef libmesh_parallel_only_on
63#define libmesh_parallel_only_on(comm_obj,comm_arg) do { \
64 libmesh_assert(comm_obj.verify(std::string(__FILE__), comm_arg)); \
65 libmesh_assert(comm_obj.verify(std::to_string(__LINE__), comm_arg)); } while (0)
67#define libmesh_parallel_only_on(comm_obj,comm_arg) ((void) 0)