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) 70 #endif // LIBMESH_PARALLEL_ONLY_H