PEARL
Parallel Event Access and Replay Library
Classes
pearl::uncopyable Namespace Reference

Helper namespace to prevent unintended argument-dependent name lookup. More...

Classes

class  Uncopyable
 Policy class to ensure that derived classes cannot be copied. More...
 

Detailed Description

The sole purpose of this internal namespace, whose only member is the class pearl::uncopyable::Uncopyable, is to avoid subtle errors due to unintended argument-dependent name lookup (ADL).

If the class Uncopyable were defined in the pearl namespace directly, function calls involving arguments of classes derived from Uncopyable would implicitly also trigger a name lookup in the pearl namespace, even without an explicit using directive. To avoid this undesired side effect, Uncopyable is defined in a separate, otherwise empty namespace (i.e., without any free function that could be found by ADL). For convenience, however, pearl::uncopyable::Uncopyable is made available in the pearl namespace through the typedef pearl::Uncopyable.


Scalasca    Copyright © 1998–2019 Forschungszentrum Jülich GmbH, Jülich Supercomputing Centre
Copyright © 2009–2015 German Research School for Simulation Sciences GmbH, Laboratory for Parallel Programming