20#ifndef LIBMESH_PARALLEL_OBJECT_H
21#define LIBMESH_PARALLEL_OBJECT_H
25#include "libmesh/libmesh_common.h"
26#include "libmesh/parallel_only.h"
34#undef parallel_object_only
35#undef exceptionless_parallel_object_only
37#define parallel_object_only() libmesh_parallel_only(this->comm())
38#define exceptionless_parallel_object_only() libmesh_exceptionless_parallel_only(this->comm())
40#define parallel_object_only() ((void) 0)
41#define exceptionless_parallel_object_only() ((void) 0)
processor_id_type size() const
processor_id_type rank() const
communicator _communicator
An object whose state is distributed along a set of processors.
const Parallel::Communicator & _communicator
ParallelObject(const Parallel::Communicator &comm_in)
Constructor.
processor_id_type processor_id() const
ParallelObject & operator=(const ParallelObject &libmesh_dbg_var(other))
"Assignment" operator.
const Parallel::Communicator & comm() const
processor_id_type n_processors() const
virtual ~ParallelObject()=default
Destructor.
ParallelObject(const ParallelObject &other)
Copy Constructor.
The libMesh namespace provides an interface to certain functionality in the library.
uint8_t processor_id_type